Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ArLocationDataSource: Update to include options for reporting height as MSL #137

Open
nCastle1 opened this issue Sep 20, 2019 · 2 comments

Comments

@nCastle1
Copy link
Contributor

Background:

  • Android's location library reports altitude in WGS84/height above ellipsoid (HAE)
  • iOS's location library and many of Esri's data products use height relative to Mean Sea Level (MSL)
  • The difference between WGS84/HAE and MSL can be significant and varies by location, so it is not trivial for the user to correct.

Options:

  1. Listen for and parse NMEA messages - GGA and GNS in particular - to read the altitude provided in MSL by the GNSS device
    • This is what the popular gpsTest app does to report MSL values - source and source
    • This is somewhat finicky as it depends on behavior that varies considerably between devices, but appears simplest in terms of toolkit implementation; otherwise we'd need to ship an elevation model.
  2. Use a geoid model to correct elevation values before passing them on.
    • EGM2008 is available in a GIS format; perhaps we could use that
  3. Use GeometryEngine doesn't currently support projectZ, so not an option
  4. Use a web service
    • Relatively simple to implement, but do we want to hard-code projection service into the location data source?
    • Is it acceptable to wait on a web service for getting the altitude as often as once a second (or more often)? probably not

Additional Requirements:

  • There needs to be an option to enable or disable this; customers may still want to use the more accurate HAE values rather than MSL
    • Proposed: returnAltitudeAsMeanSeaLevel
@nCastle1
Copy link
Contributor Author

Interesting ArcUser article

@TADraeseke
Copy link

This might be relevant when it comes time to implement this in the Android toolkit: https://stackoverflow.com/questions/57975969/accessing-nmea-on-android-api-level-24-when-compiled-for-target-api-level-29

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants