[Proj] [delphi proj api]: Setting up TCoordinateTranslator
paul-grass at stjohnspoint.co.uk
Fri Mar 7 13:31:10 EST 2008
On Fri, 7 Mar 2008, Christian Kirchhoff wrote:
> I'd like to use the Delphi PROJ API to translate coordinates. The coordinates
> come from GoogleMaps, thus are lat/lng values.
> I want to match them to shapes from a shape file which I can read with the
> ShapeAPI. I have got the following information the the prj file of the shape:
> Therefore I thought that the TCoordinateTranslator I named "Proj" should be
> opened with:
> Proj.Open('+proj=tmerc +ellps=bessel +lon_0=9 +x_0=3500000');
> ...but I am not very familiar/experienced yet.
> Anyway I have test coordinates from GoogleMaps, e.g. (50.1056069418592,
> 8.404541015625). The region this coodinates lay in as exactly the region that
> is covered by shapes in the shape file. The bounds of the shape file are,
> according to what the ShapeAPI returned:
> ( 3394468.028, 5504381.719,0.00,0.00) to ( 3424916.697,
> But the translated Google coordinates are:
> 8451430,97 m, 1229074.77 m
> Which is totally elsewhere.
> My question is: Did I read the values from the shape's prj file wrong? Or did
> I use the wrong parameters when setting up the TCoordinateTranslator?
I think you have passed the latitude and longitude values in the wrong
order. It should be longitude first, followed by latitude. Here is quick
test I did using your values and the cs2cs program that comes with PROJ.4:
cs2cs +proj=longlat +a=6377397.155 +rf=299.1528128 \
+towgs84=606.000,23.000,413.000 +to +proj=tmerc +lat_0=0 +lon_0=9 \
+k=1 +x_0=3500000 +y_0=0 +no_defs +a=6377397.155 +rf=299.1528128 \
3457407.04 5552194.69 0.00
8451430.97 1229074.77 0.00
More information about the Proj