For whatever dumb reason, Android location altitude is WS84 altitude and not the one which most users expect, which is mean sea level altitude.
Can I make the conversion with ArcGIS Runtime? From WGS84 to EGM2008 or something.
I thought I was real smart and could figure it out.
Geometry vprojected = GeometryEngine.project(currentLocation, SpatialReference.create(4326, 3855));
This looks like what a reasonable person would do to project to Mean Sea Level. The vertical spatialreference is EGM2008.
It doesn't crash or give any error messages.
The problem:
It doesn't change the z value of the point. Not the slightest bit.
What do I need to do?
And in case it comes up:
DatumTransformation transform = TransformationCatalog.getTransformation(SpatialReference.create(4326), SpatialReference.create(4326,3855));
returns null.
Hi Nathan,
Vertical datum transformations are not currently supported in the Runtime. Calling the `project` method will only transform the horizontal coordinates between two different datums or spatial references.
There are, however, a number of vertical coordinate transformations available in our desktop software ArcGIS Pro that can handle this for you. Here's a link you may find helpful: Vertical coordinate systems—Properties of maps | ArcGIS Desktop
To vertically transform between WGS 1984 and EGM 2008, I believe you'd require geographic transformation WKID `110018` or `110019`.
Cheers,
Mike