[postgis-users] Coordinate transformation problem

Jan Hartmann j.l.h.hartmann at uva.nl
Tue Oct 24 05:17:41 PDT 2006


Hi Arnaud,

I don't know about the Belgian situation, but we had the same problem in 
Holland. The problem is that the National Grid has a different Datum 
than WGS84: it uses a slightly different ellipsoid to approximate the 
surface of the earth. With the standard PROJ epsg-file, this Datum 
difference will *not* be computed, and you get differences up to 100 
meters. For a complete transformation to WGS84 you need an extra 
"+towgs" parameter in the PROJ parameter string. How this looks for 
Holland, you can see in
 
http://postgis.refractions.net/pipermail/postgis-users/2005-November/009894.html

The EPSG number for the Belgian national grid is 31370. In the standard 
PROJ epsg-file, and in the "spatial_ref_sys" table in PostGIS, this 
number has the following parameters:

+proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +lat_0=90
+lon_0=4.367486666666666 +x_0=150000.013 +y_0=5400088.438 +ellps=intl
+units=m +no_defs

As I said, you need extra numbers for the Datum conversion. The Belgian 
Geodetic Service (http://www.ngi.be/FR/FR4-4.shtm) gives the following 
values for transformations from the Belgian grid to ETRS89 / WGS84:

Tx 	106.868628
Ty 	-52.297783
Tz 	103.723893
échelle 1+S 	1.0000012747

Rotations (secondes sexagésimales)
Rx 	0.336570
Ry 	-0.456955
Rz 	1.842183

This would result in the following PROJ-string:

+proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +lat_0=90
+lon_0=4.367486666666666 +x_0=150000.013 +y_0=5400088.438 +ellps=intl
+towgs=106.868628,-52.297783,103.723893,0.336570,-0.456955,1.842183,1.0000012747
+units=m +no_defs

To test this, you need to replace the entry for EPSG:31370 in the 
PostGIS  "spatial_ref_sys" table with this string (make a backup!). It 
is possible that you have to reverse the sign of the fourth, fifth, and 
sixth number of the towgs parameter:

+towgs=106.868628,-52.297783,103.723893,-0.336570,0.456955,-1.842183,1.0000012747

I don't have Belgian data, so I cannot test this. Let me know if this 
works (or not!)

Jan

Dr J. Hartmann
Department of Geography
University of Amsterdam

Arnaud Lesauvage wrote:
> Hi list !
> 
> I am trying to convert data from Belgian Lambert 1972 (SRID 31370) to 
> WGS84 UTM (zone 31N) (SRID 32631).
> The result of Transform(my_lambert_geom,32631) gives my a noticeably 
> misplaced result.
> The data is approximatively shifted of 100 meters !
> 
> (see attached picture, grey is from the Lambert dataset, red is from the 
> UTM31N dataset, blue is the UTM31N data shifted to fit to the Lambert data)
> 
> The Lambert data comes from the Belgian Register, and has a .prj file 
> attached to it. I checked the .prj, and it corresponds to what I can see 
> in my spatial_ref_sys table.
> The WGS84 UTM31N data comes from TeleAtlas (I have confirmation that it 
> is in UTM 31N).
> 
> How can I explain this shift ? I understand that converting conic to 
> geodetic projections implies some distortion, but 100 meters is quite 
> huge !
> What is wrong here ?
> 
> Thanks for your help !
> -- 
> Arnaud
> 
> ------------------------------------------------------------------------
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users




More information about the postgis-users mailing list