Jump to content

Understanding Landscape Tool projection


photo

Recommended Posts

Hi,

 

We have problems to adapt 3D models (like buildings) to a global terrain generated with Landscape tool.

We want to understand the final projection in the terrain.

 

We have generated a geotiff in Global mapper using Geographic projection and WGS84 as datum.

With this image we have created a global terrain using the landscape tool.

Landscape tool uses geographic projection and WGS84 so we expect the resulting images uses the same projection as input image (rotations or splits apart).

As you can see in this image, the projection are different.

post-1322-0-01183200-1493809331_thumb.png

 

We have attached all resources needed to generate this terrain.

 

Whats is the resulting projection?

 

Thanks,

Carlos

vlc_test.zip

Link to comment

Hi Carlos,

 

I've checked your sample, and find out that landscape indeed transforms sources into lat long projection, but on generating step we are using geodetic pivot transformation for terrain. It uses cartesian enu coordinate system with origin taken from play area center in landscape tool. Please test it, using global mapper's orthographic projection, datum 84, and set parameters: CENTRAL_LONGITUDE/ LATITUDE as your play area center.

Link to comment

Hi,

another question related with this, we have generated a play area with size 103000m x 103000m using landscape tool. The imagery and height loaded are quite bigger than the play area.

 

When we generate the ObjectTerrainGlobal, we have realized that ObjectTerrainGlobal image size is 122600m x 122600m (aprox) so our geo-positioning is failing. We also realized that this "scale" is not constant so this might be something related with projections.

 

Why this two sizes are not equal? 

Thanks, 

Javier

Link to comment

Hi Javier,

 

Generated terrain can be (and in many cases is) bigger than target play area, because terrain's lod is consisting of discrete tiles. Currently there is a known issue, that terrain can be expanded up to 4 more tiles per side.

But this expanding does not stretch any data, i.e object coordinates and projection will remain unchanged. Expanding area will contain extra source data or empty space if there is no source data. 

Link to comment

Hi,

Thanks for your reply. When you say that generated terrain can be bigger than play area, do you mean that albedo terrain world size can be bigger than size specified at play area?

 

Here is a sample of our issue:

 

post-2372-0-43529600-1494840547_thumb.png

 

If this scale is what you are refering to, how can we achieve a terrain size that matches play area?

Thanks, Javier

 

 

Link to comment

Hi,

Terrain size will be bigger than play area unless number of tiles for last (bigger) lod per side exactly matches play area size and it's a rare case.

Could you please describe, why it is an issue for you, that terrain has some extra space?

Link to comment
  • 6 months later...

Hi maxi,

I'm using landscape tool (unigine 2.6) to generate a GlobalTerrain. 

I have added .dem file as elevation data and .tif files as imagery, both of them in EPSG 4326 (lat lon WGS84). Terrain has been generated properly. On the other hand, I have generated a static mesh with coordinates in EPSG 32630 (UTM 30N WGS84). These meshes have coordinates UTM relatives to the play area of the terrain, I mean, I have transformed play area coordinates from lat lon WGS84 to UTM WGS84 and I have substracted this offset to each vertex of my mesh.

The problem is when adding my mesh on terrain, the position is wrong. I don't know how can I transform my mesh for position it properly. Should I transfrom from UTM coordinates to Flat coordinates? 

Thanks

Link to comment

Hi, you can transform your mesh using geodetic pivot api. Take terrain's geodetic pivot (or create new one, it must be placed in play area center) and use GeodeticPivot::mapGeodeticToFlat (or ::toWorld) for your wgs84 coordinates. (geodetic means lat lon, flat means flat local transform without curving, ellipsoid means curved local transform)

Link to comment

Hi maxi,

thanks for your response, I tried solve it using geodetic pivot but mapGeodeticToFlat function was returning v(0,0,0) always. I don't know where I was failling, but I think documentation is a bit scarce. Finally I solved it using Proj4 c++ library. I found the existing geodetic pivot origin position from .world file generated with landscape tool (it was in EPSG 4326):

<node type="GeodeticPivot" id="1567228694" name="GeodeticPivot">
            <origin_basis>0</origin_basis>
            <origin>39.482088318214359 -0.44950315235233251 0</origin>

By default Landscape Tool creates a geodetic pivot in center of play area. 

 Then I made my ortho projection definition with proj4 : 

"+proj=ortho +lat_0=39.482088318214359 +lon_0=-0.44950315235233251 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs"

Finally, I have transformed each vertex of my mesh from original projection UTM (after adding center play area coordinates in UTM to get absolute coordinates, no relatives) to new orthographic projection. 

I mean, flat coordinates system is a non global coordinates projection system. It's a projection definition to creating a local cartesian coordinates system defined by a center (in lat lon coordinates). Is for it ortho-projection hasn't EPSG.

I hope this comment has been helpful for other colleages

 

Thanks for your help. 

 

Link to comment
×
×
  • Create New...