I am using Cesium to create point in a map. The point will be then flyable with a drone.
I have the following problem,
1) The user set a point altitude to 20 meters in a 2D flat map.
2) The point need to be create at the real world location (long/lat) + 20 meters (altitude).
3) The point will be visible on a 3D map, so at the location (long/lat) + 20 meters (altitude).
Now, from what I understand, Cesium altitude is using WSG84, and my server (that I have no control on) is using MSL.
from what I have seen on Internet I require a geoID to compute the calculation between a WSG84 point and MSL.
it is a straightforward procedure to subtract an interpolated geoid height, N, from a GPS ellipsoidal height, h, to obtain an orthometric height or a height above mean sea level (AMSL), H: H = h - N
I found for example this lib.
I have 3 questions about those procedure =>
1) Is everything I say correct ? am I going the right path ?
2) In the app, there is a flight tracking mode where a user can track a drone flying, but the coordinate come from the server in MSL, I get an update every 100ms, with all those additional calculation, will this part be a problem ?
2) Cesium is of course not 100% accurate, and I believe also that whatever geoID I use (for Japan region) will probably not be that accurate too. What average marge of error is to be expected ?