5 Replies Latest reply on Feb 20, 2015 8:50 AM by Jon Tara

    Altitude returned by GPS API is off by 50 m with Rhodes 5.0.25

    Thierry Leloup

      Hello everybody,


      We tested the GPS API with Rhodes 5.0.25 and it is working alright for position (latitude/longitude) but the altitude is systematically off by 50 m.

      We compared the value returned by the Rhodes API and the one returned by GPS Test, a free GPS application for Android.

      In our case, GPS test indicates an altitude of 440 m (which is also the value indicated by Google Map) when Rhodes API systematically returns an altitude of 490 m.

      We have tested on several Android platforms with different OS version (Nexus 7, Notes 3 and Acer Liquid Z500).


      FYI, we implemented the recommended patch for iOs (Re: Geo Location API not working on iOS 8 ?) and it is working alright, i.e. no altitude difference between Rhodes and another GPS application, after we implemented some modification on top of this recommended patch (Re: Geo Location API not working on iOS 8 ?).


      Question : does anyone face the same kind of problem with the altitude on Android platforms ?




        • Re: Altitude returned by GPS API is off by 50 m with Rhodes 5.0.25
          Robert Galvin

          Moving to RhoMobile space for move coverage.


          Under the covers for Android we are using the Android.location.location class


          What does your Android manifest look like, are you using coarse or fine accuracy:


          <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
          • Re: Altitude returned by GPS API is off by 50 m with Rhodes 5.0.25
            Jon Tara

            Realize that altitude is quite a bit more difficult with GPS than position. It will depend on the quality of the receiver, how many satellites are used, etc. (Better GPS receivers receive from more satellites at once. Almost no phone has the best kind of receiver due to space and cost limitations.)


            Android devices vary widely in their onboard sensors. iOS has less variability, only a very few models.


            Really, fine-grained altitude, for example, to detect which floor of a building you are on, is not practical, even with the best receiver. Note that newer devices (including iPhone 6, 6+ and some Androids) have an air-pressure sensor that might be more useful than this. You would have to compare to current weather report. At least it will give you relative altitude as the device moves.


            Even Garmin suggest that you should not expect better than +- 400ft (120m) vertical accuracy.


            That said, if you think there is some consistent, systemic issue, you should report it as an Issue on Github. Perhaps it is a rounding difference between Rhodes and popular apps. Did you try other popular apps? Maybe they are applying a heuristic.


            I don't think I would sweat a difference of that little. You just cannot pinpoint vertical with GPS. If you know the device is at ground level, the best approach is to look-up the elevation in a map database. Otherwise, I'd find another strategy such as air pressure (if available on device) or locator beacons installed in the location (e.g. to identify which floor).


            How accurate is the GPS elevation reading?