androidgpsnmea

Android GPS : How can I get satellites number in use from NMEA?


I got the NMEA string with android. but I don't know how can I get the satellites number in use, with that?


Solution

  • You need to read GGA field from your nmea string. It provides you the Number of satellites being tracked.

    GGA - essential fix data which provide 3D location and accuracy data,

    $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
    

    Where:

         GGA          Global Positioning System Fix Data
         123519       Fix taken at 12:35:19 UTC
         4807.038,N   Latitude 48 deg 07.038' N
         01131.000,E  Longitude 11 deg 31.000' E
         1            Fix quality: 0 = invalid
                                   1 = GPS fix (SPS)
                                   2 = DGPS fix
                                   3 = PPS fix
                       4 = Real Time Kinematic
                       5 = Float RTK
                                   6 = estimated (dead reckoning) (2.3 feature)
                       7 = Manual input mode
                       8 = Simulation mode
         08           Number of satellites being tracked <-- this is what you want
         0.9          Horizontal dilution of position
         545.4,M      Altitude, Meters, above mean sea level
         46.9,M       Height of geoid (mean sea level) above WGS84
                          ellipsoid
         (empty field) time in seconds since last DGPS update
         (empty field) DGPS station ID number
         *47          the checksum data, always begins with *
    

    you can then use String::split() method to read the number of satellites being tracked.