[osg-users] convert GPS coordinates to local terrain coordinates
Stephane DUGUET
sduguet at eurilogic.fr
Mon Dec 3 08:08:45 PST 2007
Thanks Glenn,
It helped a lot as I was completely wrong.
My projInfo.txt file is as following, meaning my offsets are set to 0?
My csm=Projected
originlat=33.094356133212699
originlon=-117.642398847633000
zunits=1.000000000000000
selectorId=60000
dcType=NONE
dcSelectorId=0
txpOffsetX=0.000000
txpOffsetY=0.000000
txpOffsetZ=0.000000
By the way how can I retrieve the terrain projection type?
And then, how can I convert lat/lon to the terrain's projection?
BR,
Stephane
________________________________
De : osg-users-bounces at lists.openscenegraph.org [mailto:osg-users-bounces at lists.openscenegraph.org] De la part de Glenn Waldron
Envoyé : lundi 3 décembre 2007 16:47
À : OpenSceneGraph Users
Objet : Re: [osg-users] convert GPS coordinates to local terrain coordinates
Stephane,
If you TXP database is in a flat-earth projection, like UTM or state plane, the osg::Ellipsoid functions will not help. They convert to and from geocentric (earth-centered) coordinates.
TerraVista generates a " projInfo.txt" file along with the TXP database. This contains the "txpOffsetX" and "txpOffsetY" properties that tell the local offset of the lower-left corner of your TXP terrain, relative to the geographic projection in which you generated the terrain.
So to go from lat/lon to scene coordinates, you need to:
1. convert lat/lon to the terrain's projection (e.g., UTM)
2. translate the resulting coordinates by the offset in the projInfo.txt file
hth -gw
On Dec 3, 2007 9:59 AM, Stephane DUGUET <sduguet at eurilogic.fr> wrote:
Hello,
I'm new on OSG scene.
Here is my issue:
I have a TXP terrain on which I know the local origin coordinates. This coordinates are:
Longitude : -117.642222
Latitude : 33.094444
I now whant to know the local coordinates (within my TXP terrain) of a know location (GPS cocordinate):
Longitude: -117.3636264412
Latitude: 33.2940335740
I use ElModel->convertLatLongHeightToXYZ to transform the goedesic coordinates in caretsian ones. What I need now if to transform the resulting coordinates according to the origin's location in order to take care of my offset.
Any idea of how to perform this?
I tried the following:
OriLongitude=-117.642222 /*origin*/;
OriLatitude=33.094444/*origin*/;
OriAltitude=0;
ElModel->convertLatLongHeightToXYZ (osg::DegreesToRadians(OriLatitude),
osg::DegreesToRadians(OriLongitude),
OriAltitude,
oriX,
oriY,
oriZ );
ElModel->convertLatLongHeightToXYZ (osg::DegreesToRadians(33.2940335740),
osg::DegreesToRadians(-117.3636264412),
0,
x,
y,
z );
xl=-sin(OriLongitude)*(x-oriX)+ cos(OriLongitude)*(y-oriY);
yl=-sin(OriLatitude)*cos(OriLongitude)*(x-oriX)
-sin(OriLatitude)*sin(OriLongitude)*(y-oriY)
+cos(OriLatitude)*(z-oriZ);
zl=cos(OriLatitude)*cos(OriLongitude)*(x-oriX)
+cos(OriLatitude)*sin(OriLongitude)*(y-oriY)
+sin(OriLatitude)*(z-oriZ);
But I still cannot have good results.
I have some doubts about the "-" sign applied to the longitude for a West direction.
Thanks for your help,
Best regards,
Stephane
_______________________________________________
osg-users mailing list
osg-users at lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
--
Glenn Waldron : Pelican Mapping : http://pelicanmapping.com : 703-652-4791
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20071203/8e4c500d/attachment.html
More information about the osg-users
mailing list