[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