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 : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 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 <[EMAIL PROTECTED]> 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 [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Glenn Waldron : Pelican Mapping : http://pelicanmapping.com : 703-652-4791
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

