[Proj] Cassini coordinate reprojection problem

Gerald Evenden gerald.evenden at verizon.net
Tue Mar 15 20:30:09 EST 2005

There is a bit of a problem so the details need to be isolated.  First 
of all, I
agree with the proj numbers you have gotten.  The only confusing thing 
that you should either use the +ellps option OR the +a=/+es= ---one does
not know which proj will use without digging into the code.  The 
values do seem to match the +ellps=airy values however.

Please determine what the inverse of the Cassini value your alternate
software gives and how that compares with the proj inverse.  If that 
does not agree then there is no point in going further.

Try the SAME geographic coordinates for the forward
projection for Transverse Mercator on all systems and check for

If both the forward and inverse modes differ for the same set of input
then work on solving that problem first.  If you solve that then the 
problem might indicate problems in transferring the data between the
forward and inverse operations.

Are you sure that the other systems are NOT doing a datum 

Also, your "proj +proj=list" is not a valid command.  If you want a 
list of
projections then "proj -lp" (or lP) and for a list of ellipsoids "proj 

This is the script I used to check your operations:

lproj -I +ellps=airy +proj=cass \
+lat_0=51.2695503 +lon_0=0.665434 <<EOF
-49630.956 21390.870
lproj +ellps=airy +proj=tmerc \
   +lat_0=49 +lon_0=-2 +x_0=400000 +y_0=-100000 <<EOF
0d2'55.474"W    51d27'34.779"N
# preferred method which uses binary transfer between procedures
lproj -I +proj=cass +ellps=airy  \
+lat_0=51.2695503 +lon_0=0.665434 <<EOF -o | \
lproj -i +proj=tmerc +ellps=airy  \
   +lat_0=49 +lon_0=-2 +x_0=400000 +y_0=-100000
-49630.956 21390.870

and its output

0d2'55.474"W    51d27'34.779"N
535596.86       175379.03
535596.87       175379.02

Note how the least significant digit vary because .001" is insufficient 
define 1cm precision.  To avoid these problems use the -o | -i binary
pipe transfer between processes or use more precision on the first
function's output.

As a minor aside, I do not use "invproj" now; use -I instead.  It should
work on proj also.

PLEASE keep us informed or your progress.

On Mar 15, 2005, at 6:12 PM, Chris Faulkner wrote:

> Hello
> I have been sent some coordinates reprojected by another package that 
> do
> not match what I am getting out of proj4.
> The projection is from Cassini to Transverse Mercator, details below.
> I think the other package is genamap. The TM coordinate reported by
> genamap from the reprojection is 535543,175269. I have downloaded
> geotrans and it gives exactly the same result.
> Proj4 gives this - 535596.86       175379.03. I am on RedHat Linux 9.0,
> running 4.4.9
> Most likely, I am driving proj4 incorrectly. Here is what I do
> # Convert to lat /long (it doesn't matter if I remove the es and a
> parameters)
> chris at dinky /cygdrive/c/mapmarketing/software/tabrunner
> $ invproj +ellps=airy +proj=cass +a=6377563.3959999 +es=0.0066705398
> +lat_0=51.2695503 +lon_0=0.665434
> -49630.956 21390.870
> 0d2'55.474"W    51d27'34.779"N
> # Convert the lat / long to Transverse Mercator
> chris at dinky /cygdrive/c/mapmarketing/software/tabrunner
> $ proj +ellps=airy +proj=tmerc +lat_0=49 +lon_0=-2 +x_0=400000
> +y_0=-100000
> 0d2'55.474"W    51d27'34.779"N
> 535596.86       175379.03
> proj +proj=list gives an error message. Projection initialization
> failure
> Cause: unknown projection id
> Any help would be most welcome !
> Thanks
> Chris
Jerry and the low riders: Daisy Mae and Joshua.
"The whole religious complexion of the modern world is due to the
absence from Jerusalem of a lunatic asylum." Havelock Ellis, 1914

More information about the Proj mailing list