Esri / arcgis-runtime-toolkit-android

ArcGIS Runtime SDK for Android Toolkit
Apache License 2.0
56 stars 39 forks source link

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

Open nCastle1 opened 5 years ago

nCastle1 commented 5 years ago

Background:

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:

nCastle1 commented 5 years ago

Interesting ArcUser article

TADraeseke commented 5 years ago

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