topografico sistema satelital posicionamiento aplicaciones android gps nmea

android - aplicaciones - sistema de posicionamiento satelital



¿Cómo puedo obtener los datos en bruto del GPS(satélites pseudo rango)? (3)

¿Cómo puedo leer los datos en bruto del GPS? Para ser más específicos, necesito el pseudo rango de saellites. Estos datos no están disponibles en formato NMEA.


Los pseudo-rangos de satélites no están disponibles en la API oficial , ni a través de las interfaces GpsStatus.Listener ni GpsStatus.NMEAListener.

La única información disponible disponible en la clase Gps◆ es:

  • PRN
  • azimut
  • elevación
  • C / N0
  • un booleano "usedInFix".

El código fuente de Android solo solicita esos campos del código nativo, por lo que no esperamos obtenerlo de ninguna otra API de Java.

De todos modos, la mejor forma de obtener estos datos (que no es adecuada para una aplicación compatible con el mercado) sería explorar el código fuente de Android y encontrar un enlace nativo para obtener los datos a bajo nivel y acceder a través de JNI, o recompilarlos. El sistema operativo completo modifica la API según sus necesidades (también debe encontrar el código nativo relevante para eso).
Finalmente, si puede hacer que el conjunto de chips le envíe oraciones GRS NMEA (las obtendría a través de la interfaz NMEAListener estándar, la dificultad de configurar el conjunto de chips para enviarlas) puede calcular los pseudo-rangos (esas oraciones contienen residuos de satélites )

Buena suerte y avísame si intentas alguna de estas ideas!


Si necesita pseudodistancias y datos sin procesar, no tendrá suerte con NMEA. Debe utilizar el protocolo binario de su receptor, por ejemplo, ublox binary para receptores ublox. Sirf binario para receptores sirf. La fecha sin procesar satelital está disponible solo en receptores especiales que tienen la opción RAW habilitada. No esperes eso en un smartphone.

Más detalles se encuentran en la especificación del protocolo ublox.