Elevation data from Cesium Terrain Providers is wrong?

Hi,

Recently I tried to visualize building blocks with terrain data on Cesium. The glTF models were nicely put onto the globe, but with the terrain data from both Cesium Terrain providers, the buildings "sinked" beyond the surface. I double-checked the building data and it was correct. Then I switched to the VT MÄK VR-TheWorld Server and everything worked perfectly. I trying to scale the height dimension of the building models and found if multiplied by nearly 1.5 they will fit the terrain from the Cesium providers well.

Following are two screenshots. The first is with VT MÄK VR-TheWorld Server, the second is with the Cesium providers, which is blank since I turned on depth check. Without the depth check I can see strange "drift" which indicates that the models are beyond the surface.

Imgur

Imgur

Are there something wrong with the terrain providers, or did I miss something?

Greetings,
Anran

Hi Anran,
By chance are the elevation values you are using to position the buildings relative to sea level? Mean sea level in the area of your screenshots is around 47m, what are the results if you boosted all of your buildings by that much?

Alex

Hi Alex,

Many thanks for your reply! I have to check it tomorrow, but after some simple calculation based on memory, I think this is probably the case. So the elevation values Cesium provides are relative to the WGS 84 ellipse?

Do you have suggestions for this scenario?

Anran

在 2014年11月7日星期五UTC+1下午9时39分29秒,Alexander Wood写道:

Hi Alex,

I tried to set a 47m offset and it surely seems correct, and also I found this issue which explained why VR-TheWorld Server is different with the Cesium server.

https://github.com/AnalyticalGraphicsInc/cesium/issues/526

I will try to calibrate my building models.

Many thanks again!

Anran

在 2014年11月7日星期五UTC+1下午9时39分29秒,Alexander Wood写道:

Hi Alexander,

Could you tell me the formula you used to figure out the 47m delta between sea level and the cesium representation of 0 elevation at the latitude of the specific area.

I need to be able to put buildings on the map at the visually correct elevation any where in the world so I need to factor the latitude into the calculation.

Thank you,
Alec.

Hi Alec,

The terrain elevations in Cesium are relative to the WGS84 ellipsoid. You can use the EGM96 geoid for a global MSL approximation to sample geoid heights relative to the WGS84 ellispoid, see here:

http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/egm96.html

Alex

Thank you for the response Alexander. It looks as though the elevation conversion requires a lookup table in a 3.3MB file rather than a stand-alone formula. I was hoping to implement the conversion entirely on the browser side which would mean always downloading the Geoid height file. Do you know if this is my only option?

Thanks,
Alec.

在 2015年4月20日星期一 UTC+2下午7:59:24,ale...@gmail.com写道:

Thank you for the response Alexander. It looks as though the elevation conversion requires a lookup table in a 3.3MB file rather than a stand-alone formula. I was hoping to implement the conversion entirely on the browser side which would mean always downloading the Geoid height file. Do you know if this is my only option?

Thanks,
Alec.

> Hi Alec,
>
>
> The terrain elevations in Cesium are relative to the WGS84 ellipsoid. You can use the EGM96 geoid for a global MSL approximation to sample geoid heights relative to the WGS84 ellispoid, see here:
>
>
> http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/egm96.html
>
>
> Alex
>
>
> Hi Alexander,
>
>
>
>
>
> Could you tell me the formula you used to figure out the 47m delta between sea level and the cesium representation of 0 elevation at the latitude of the specific area.
>
>
>
> I need to be able to put buildings on the map at the visually correct elevation any where in the world so I need to factor the latitude into the calculation.
>
>
>
> Thank you,
>
> Alec.
>
>
>
>
>
> --
>
> You received this message because you are subscribed to the Google Groups "cesium-dev" group.
>
> To unsubscribe from this group and stop receiving emails from it, send an email to cesium-dev+...@googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

在 2015年4月20日星期一 UTC+2下午7:59:24,ale...@gmail.com写道:

Thank you for the response Alexander. It looks as though the elevation conversion requires a lookup table in a 3.3MB file rather than a stand-alone formula. I was hoping to implement the conversion entirely on the browser side which would mean always downloading the Geoid height file. Do you know if this is my only option?

Thanks,
Alec.

> Hi Alec,
>
>
> The terrain elevations in Cesium are relative to the WGS84 ellipsoid. You can use the EGM96 geoid for a global MSL approximation to sample geoid heights relative to the WGS84 ellispoid, see here:
>
>
> http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/egm96.html
>
>
> Alex
>
>
> Hi Alexander,
>
>
>
>
>
> Could you tell me the formula you used to figure out the 47m delta between sea level and the cesium representation of 0 elevation at the latitude of the specific area.
>
>
>
> I need to be able to put buildings on the map at the visually correct elevation any where in the world so I need to factor the latitude into the calculation.
>
>
>
> Thank you,
>
> Alec.
>
>
>
>
>
> --
>
> You received this message because you are subscribed to the Google Groups "cesium-dev" group.
>
> To unsubscribe from this group and stop receiving emails from it, send an email to cesium-dev+...@googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

Hi Alec,

I think the difference of elevation between geoid and sea level comes from the nature of earth itself (http://en.wikipedia.org/wiki/Geoid ), so it may not be possible to "calculate" it by formulas or so. If you worry about the 3.3MB extra downloads, preprocessing your data may be the best way to go. Another possible approach may be to set up a geoid server and just query for the area in the view dynamically.

Best,
Anran