[osg-users] convert GPS coordinates to local terrain coordinates
Glenn Waldron
gwaldron at gmail.com
Mon Dec 3 10:09:38 PST 2007
Stephane,
The TXP doesn't explicitly contain its projection. You need to go back to
the TerraVista project. We can make an educated guess though; Where is your
database? City, country?
As for converting the lat/lon, OSG does not do this natively. You can use
OGR (http://gdal.org/ogr/) which is part of GDAL. Or (shameless plug) use
the osgGIS library (http://osggis.org) which has a SpatialReference class
that encapsulates OGR/PROJ4 coordinate conversion.
-gw
On Dec 3, 2007 11:08 AM, Stephane DUGUET <sduguet at eurilogic.fr> wrote:
> 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.txtfile
>
> 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
>
>
> _______________________________________________
> 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/19745324/attachment.html
More information about the osg-users
mailing list