https://gis.stackexchange.com/questions/157005/meaning-of-elevation-above-surface-of-ellipsoid
The elevation above the ellipsoid (ellipsoidal height) is the elevation above a mathematical model that approximates the shape of the earth.The current most common one is WGS84. These are the elevations that you’d get from a GPS.
Like we said in this case, the simple calculation of
Cesium (WSG84) - EGM2008 (Geoid) = MSL
Should work.
But when for example I make a point in Cesium in WorldTerrain at this position (that I convert ofc to radian before)
{
longitude: 139.6072415,
latitude: 35.7139224,
height: 0
}
the sampleTerrainMostDetailed will return me
{ longitude: 2.4366093834476756, latitude: 0.6233236845608701, height: 86.8920731655 }
86.8920731655 meter above the ellipsoid is the altitude above the ellipsoid of the ground in world terrain at that position.
Now using https://www.unavco.org/software/geodetic-utilities/geoid-height-calculator/geoid-height :
I found Orthometric height (height above EGM96 geoid which approximates mean sea level): 49.7280731655 (meters)
But this is wrong, I know by real measure (it’s the place I do my testing) that this point the MSL is 14m.
I then use
https://www.daftlogic.com/sandbox-google-maps-find-altitude.htm Using the same coordinate and I found 52M
and when doing the calculation with this 52M I indeed find.
Orthometric height (height above EGM96 geoid which approximates mean sea level): 14.836 (meters)
So the value returned by sampleTerrainMostDetailed is wrong, or I am using it incorrectly. In that case I still don’t know why.