Skip to main content
Question

Height issue in gml data


I converted a gml data to cesium 3d tiles.It got converted to cesium 3d tiles correctly but the data is getting an extra added height.The 3d tiles data is not getting aligning properly with the basemap.The 3d tiles data is in the air.What could be the reason.Please check the attachment image.The tile is in the air.

10 replies

stalknecht
Contributor
Forum|alt.badge.img+19
  • Contributor
  • October 8, 2018
Hard to tell, can you please share a template / workspace or sample data?

 

 


nielsgerrits
VIP
Forum|alt.badge.img+54
Reprojection issue? What is the source CRS?

Forum|alt.badge.img
  • October 8, 2018

Hi @san,

I've also experienced the same issue, unfortunately, I still do not know how to solve it.

citygml2null-cesium3dtiles.fmwt


virtualcitymatt
Celebrity
Forum|alt.badge.img+36

Your CityGML (or gml) has an elevation, the basemap does not have an elevation set. You either need to add a terrain layer to your map or you need to remove the elevation from the buildings before writing out.

You can use a BoundsExtracter to get the 'minz' value and then use an Offsetter to offset by -minz to get the models placed at the sea level.


  • Author
  • October 8, 2018
nielsgerrits wrote:
Reprojection issue? What is the source CRS?
EPSG : 2180

 

 

 


  • Author
  • October 8, 2018
stalknecht wrote:
Hard to tell, can you please share a template / workspace or sample data?

 

 

I cant give the entire sample,but can give bit of projections,

 

 

 

797525.19 326602.00 219.21 797525.19 326602.00 215.59 797537.19 326605.27 215.59 797537.19 326605.27 219.25 797525.19 326602.00 219.21 I feel that height values are making the tiles to project in the air.What can i do to solve this issue.

  • Author
  • October 8, 2018
virtualcitymatt wrote:

Your CityGML (or gml) has an elevation, the basemap does not have an elevation set. You either need to add a terrain layer to your map or you need to remove the elevation from the buildings before writing out.

You can use a BoundsExtracter to get the 'minz' value and then use an Offsetter to offset by -minz to get the models placed at the sea level.

Can you brief me the process or could you share me any sample examples for using an offset.

 

 


virtualcitymatt
Celebrity
Forum|alt.badge.img+36
san wrote:
Can you brief me the process or could you share me any sample examples for using an offset.

 

 

So the 'BoundsExtractor' transformer can be used to get the extents of each feature. Each feature will have several new attributes including 'minz' the minz will be the lowest point that feature has. The 'Offsetter' transformer can then be used to shift the data. You want to use the negative value of minz - you can use an ExpressionEvaluator to calculate this. Here's how you could do it below.

 

 

 


  • Author
  • October 9, 2018
virtualcitymatt wrote:
So the 'BoundsExtractor' transformer can be used to get the extents of each feature. Each feature will have several new attributes including 'minz' the minz will be the lowest point that feature has. The 'Offsetter' transformer can then be used to shift the data. You want to use the negative value of minz - you can use an ExpressionEvaluator to calculate this. Here's how you could do it below.

 

 

 

i have done the transformation like this the translation was successful.But still the tiles are in the air.What could be the reason.i'm new to fme. Sorry if i have done anything wrong.

virtualcitymatt
Celebrity
Forum|alt.badge.img+36
san wrote:

i have done the transformation like this the translation was successful.But still the tiles are in the air.What could be the reason.i'm new to fme. Sorry if i have done anything wrong.
After the offsetter, add in an inspector to see the results before it gets written out to 3D tiles. Click on a Feature to see if its z coordinates (height) are set to zero. You can see this by clicking on a feature and looking the in feature information window on the right. Look for min extents. The image I've attached has a minz of about 3 m.

 

 

 

If the result is not 0, check that the expression is correct and the attribute being used in the correct attribute. After the ExpressionEvaluator the _minz value should be a negative number.

 

 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings