[Proj] Differences between UTM Zone 30 (ED 50) projections

Jelmer Baas baas at speerit.nl
Thu Oct 13 01:07:50 PDT 2016


Hello,

I currently have a MapInfo file in UTM Zone 30 (ED 50) (EPSG: 23030) projection, which, after reprojection via OGR2OGR to EPSG:900913, moves a few meters East when compared to OSM.

Oddly enough, the EPSG file defines 23030 as 
+proj=utm +zone=30 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs  <>

Yet, spatialreference.org (http://spatialreference.org/ref/epsg/ed50-utm-zone-30n/ ) defines it as 
+proj=utm +zone=30 +ellps=intl +units=m +no_defs

For completeness, MapInfo PRO defines this projection system as:
UTM Zone 30 (ED 50)\p23030", 8, 28, 7, -3, 0, 0.9996, 500000, 0

My test:
Source From MapInfo	440151.086,	4494277.463
Mercator MapInfo	-412840.28    	4952824.92 
CS2CS Simple[1]	-412694.24      	4952997.17 0.00 (so without the +towgs84 bit)
CS2CS towgs84[2]	-412694.24      	4952997.17 0.00
PostgreSQL 9.4[3]	-412830.24      	4952825.873
PostgreSQL Custom[4]	-412694.23 	4952997.16 

>From a developer at MapInfo I got a tip to try to include an accurate datum transform file, like NTV2_0.GSB, but CS2CS doesn't want to use this: 
This file doesn't even exist:
cs2cs +nadgrids=blah.gsb +proj=utm +zone=30 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +to +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m
cs2cs +proj=utm +zone=30 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +to +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=blah.gsb
[no error, Process Monitor shows cs2cs not even trying to open the file]

[1] C:\OSGeo4W64\bin>cs2cs +proj=utm +zone=30 +ellps=intl +units=m  +to +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m
[2] C:\OSGeo4W64\bin>cs2cs +proj=utm +zone=30 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +to +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m
[3] select ST_AsText(ST_Transform(ST_GeomFromText('POINT(440151.086 4494277.463)', 23030), 900913))
[4] select ST_AsText(ST_Transform(ST_GeomFromText('POINT(440151.086 4494277.463)', 923030), 900913)) [5]
[5] INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) values ( 923030, 'epsg', 923030, '+proj=utm +zone=30 +ellps=intl +units=m +no_defs ', 'PROJCS["ED50 / UTM zone 30N",GEOGCS["ED50",DATUM["European_Datum_1950",SPHEROID["International 1924",6378388,297,AUTHORITY["EPSG","7022"]],AUTHORITY["EPSG","6230"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4230"]],UNIT["metre",1,AUTHORITY["EPSG","9001"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-3],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],AUTHORITY["EPSG","23030"],AXIS["Easting",EAST],AXIS["Northing",NORTH]]');

Can anyone tell me why there's a difference between the MapInfo PRO projection and the Proj.4 projection? And, hopefully, also a solution to correct this? Please note that I don't know whether MapInfo or Proj is at fault, I justk now that my data is drawn from MapInfo, where it's accurate compared to other data.

Thanks,
Jelmer 




More information about the Proj mailing list