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

Reply via email to