[Proj] cs2cs giving different result than ImportportFromProj4 in a C# program

Bjørn Krangnes bkr at devonor.com
Fri Jan 28 09:56:59 EST 2011


Janne,
My fault, one of the datumshift parameter was wrong (-1.42 should be -1.042)
By putting in the correct value the result using ImportFromProj4 is ok.
Thanks.

Regards: Bjørn

-----Original Message-----
From: proj-bounces at lists.maptools.org
[mailto:proj-bounces at lists.maptools.org] On Behalf Of support.mn at elisanet.fi
Sent: 28. januar 2011 10:51
To: PROJ.4 and general Projections Discussions
Subject: Re: [Proj] cs2cs giving different result than ImportportFromProj4
in a C# program

Bjørn ,

all I can come up with in a short time is
this 16 digit number -> 6356034.447938534 ??

Are you sure that both versions can read all those digits?
Test both with shorter numbers?

Does both programs really get all the numbers exactly
the same. Make some tests and traces? What numbers
do those programs actually use?

Regards: Janne.

------------------------------------------

Bjørn Krangnes [bkr at devonor.com] kirjoitti: 
> cs2cs is giving this result (Irish Transverse Mercator to IrishGrid75):
> 
> C:\Program Files (x86)\FWTools2.4.7>cs2cs +proj=tmerc +lat_0=53.5
+lon_0=-8
> +k=0
> 
> .999820 +x_0=600000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0
+units=m
> +no
> 
> _defs +to +proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000
> +y_0=250000
> 
> +a=6377340.189 +b=6356034.447938534
> +towgs84=482.530,-130.596,564.557,-1.042,-0.
> 
> 214,-0.631,8.15 +units=m +no_defs
> 
> 600000.0 700000.0
> 
> 200049.28       199965.72 -54.78
> 
>  
> 
> The correct result is:  E: 200049.410 N: 199965.743
> 
> The result from cs2cs is very close to the correct result.
> 
>  
> 
> But when I use the following code in a c# program the result is not the
same
> as cs2cs
> 
>  
> 
> SpatialReference input = new OSGeo.OSR.SpatialReference(null);
> 
> SpatialReference output = new OSGeo.OSR.SpatialReference(null);
> 
>  
> 
> int istati = input.ImportFromProj4("+proj=tmerc +lat_0=53.5 +lon_0=-8
> +k=0.999820 +x_0=600000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0
> +units=m +no_defs");   // ITM
> 
> int istato = output.ImportFromProj4("+proj=tmerc +lat_0=53.5 +lon_0=-8
> +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534
> +towgs84=482.530,-130.596,564.557,-1.42,-0.214,-0.631,8.15 +units=m
+wktext
> +no_defs <>)");   // IG
> 
> CoordinateTransformation tra = new CoordinateTransformation(input,
output);
> 
> double[] xy = new double[3];
> 
> xy[0] = 600000.0;
> 
> xy[1] = 700000.0;
> 
> xy[2] = 0;
> 
> tra.TransformPoint(xy);
> 
>  
> 
> After execution xy[0]= 200040.069 and xy[1]= 199964.097. This is about 9
> meters off in east and 1.7 in north.
> 
>  
> 
> Any reason why I should get 2 different results? 
> 
>  
> 
> Regards
> 
> Bjørn
> 
> 
> _______________________________________________
> Proj mailing list
> Proj at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/proj

_______________________________________________
Proj mailing list
Proj at lists.maptools.org
http://lists.maptools.org/mailman/listinfo/proj



More information about the Proj mailing list