Datum conversion

Aug 10, 2011 at 6:05 AM

Hallo, I'm not an expert at all. I'm trying to convert coordinates between two different datum . I have a MonteMario1 (national grid of Italy) esating/northing coordinates and I'm trying to convert them to WGS84 coordinates.

I was using a commercial product, Franson CoordTrans, and when I convert coordinates like this : 1625747,23 - 4772043,94 I get this converted coordinates (latitude/longitude in decimal degrees):  10,5449236 - 43,0899133 .

If I use DotSpatial with KnownCoordinateSystems.Projected.NationalGrids.MonteMarioItaly1 I get a different result : 10,5449235918073 - 43,0899132763138

Using maps, I noticed there like 100 meters difference between these results .

Where am I wrong?

I tried other coordinates systems of Italy with fully wrong results.

Thanks.

Developer
Aug 10, 2011 at 1:08 PM

You have more significant digits in your DotSpatial results than you do in your Franson results.  The resulting coordinates you show are equal if you compare using the precision of the Franson results.  However, the 7 decimal digits of precision in your Franson results should get you to within 0.01m at the equator if I am doing my math correctly (1852m per minute => 111120m per degree; 0.0000001 * 111120 = 0.01111).  So, the difference in precision does not explain the 100m shift you are seeing.

Developer
Aug 10, 2011 at 1:18 PM

Looking at the results you have given, the converted coordinates do not seem to be different, they have only been rounded to fewer digits in what is displayed by the commercial product. After that many digits, there is no practical difference between these coordinates.

Try these two URLs to see that they come to the same location along Via Airelia Nord:

http://www.openstreetmap.org/index.html?mlat=43.0899133&mlon=10.5449236&zoom=17

http://www.openstreetmap.org/index.html?mlat=43.0899132763138&mlon=10.5449235918073&zoom=17

If you are seeing a problem with the location of the converted coordinates on a map, perhaps the other layer you are looking at is not really in WGS84?

By the way, if you know this area it would be helpful to Open Street Map if you could edit the roads in that area labeled "fixme" on the map:

https://www.openstreetmap.org/user/new

Coordinator
Aug 10, 2011 at 2:31 PM

Looks like DS has more decimal points/precision.

- Dan
--------
Daniel P. Ames Ph.D.
Idaho State University Dept. of Geosciences
dan.ames@isu.edu
--------
Sent from my Droid

On Aug 10, 2011 12:05 AM, "avalonit" <notifications@codeplex.com> wrote:
> From: avalonit
>
> Hallo, I'm not an expert at all. I'm trying to convert coordinates between two different datum . I have a MonteMario1 (national grid of Italy) esating/northing coordinates and I'm trying to convert them to WGS84 coordinates.I was using a commercial product, Franson CoordTrans, and when I convert coordinates like this : 1625747,23 - 4772043,94 I get this converted coordinates (latitude/longitude in decimal degrees): 10,5449236 - 43,0899133 .If I use DotSpatial with KnownCoordinateSystems.Projected.NationalGrids.MonteMarioItaly1 I get a different result : 10,5449235918073 - 43,0899132763138Using maps, I noticed there like 100 meters difference between these results .Where am I wrong?I tried other coordinates systems of Italy with fully wrong results.Thanks.
>
>
Aug 16, 2011 at 10:21 PM

Hallo,

I am still a little bit confusing.

Here is an easy example.

 I'm trying to convert these coordinates: 1624578,43  - 4753476,06   

With Franson I get these coordinates: 10,5261557 - 42,9236113 

If you look in Google Maps using "Satellite View" (http://maps.google.com/maps?z=19&q=loc:42.9236113,10.5261557) you can see the marker is next to "blue bus stop" indicator (which the coordinates refers to).

With DotSpatial I get these coordinates: 10,526423922931  - 42,9229657065955 

In Google Maps using "Satellite View" (http://maps.google.com/maps?z=17&q=loc:42.9229657065955,10.526423922931) you see the marker is in a wrong place (Via Giuseppe Garibaldi).

I'm using MonteMarioItaly1 source projection since with others I get completely wrong values ...

 

Here is the code I'm using:

 

var xy = new List<double >();

var z = new List<double >();

ProjectionInfo source = KnownCoordinateSystems.Projected.NationalGrids.MonteMarioItaly1;  

ProjectionInfo dest = KnownCoordinateSystems.Geographic.World.WGS1984;

 // Parse lat and lng from text file:

 

double lat = double .Parse(Lat.Text);

double lng = double.Parse(Lon.Text);

xy.Add(lat);

xy.Add(lng);

z.Add(0);

var xyA = xy.ToArray();

var zA = z.ToArray();

 

Reproject.ReprojectPoints(xyA, zA, source, dest, 0, z.Count);

WGS_Lat.Text = xyA[0].ToString();

WGS_Lon.Text = xyA[1].ToString();

Aug 29, 2011 at 6:32 PM

Hallo,

 

I succesfully converted the coordinates with Proj4 with this command line:

proj.exe +proj=tmerc +lat_0=0 +lon_0=9 +k=0.999600 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +to +proj=latlong +datum=WGS84      

Is it possibile to apply this corrections with DotSpatial with any kind of parameter?