2 votos

Interpretación de datos JSON en Android

Obtuve estos datos de mi teléfono, la mayoría de ellos los entiendo en general, pero algunos de los valores posicionales del GPS me tienen confundido:

    "locations" : [ {
    "timestampMs" : "1531422503855",
    "latitudeE7" : 399187535,
    "longitudeE7" : -751663977,
    "accuracy" : 16,
    "altitude" : -28,
    "verticalAccuracy" : 2
  }, {
    "timestampMs" : "1531422474313",
    "latitudeE7" : 399187554,
    "longitudeE7" : -751664138,
    "accuracy" : 16,
    "altitude" : -28,
    "verticalAccuracy" : 2
  },

Ahora entiendo cómo descifrar la mayor parte de esto, la marca de tiempo está en el formato de época, y las coordenadas son un factor de 10^7. Pero básicamente, son estas tres últimas las que me tienen confundido. Según tengo entendido, la precisión se define como el radio de confianza del 68%. Así que asumo que el valor devuelto, 16 en este caso, es que el GPS tiene un 68% de confianza en que es preciso dentro de los 16 metros (?). Pero con los valores de altitud y precisión vertical, no tengo ni idea. Sé que la exactitud de la altitud para el GPS es muy inexacta por muchas razones, pero estoy asumiendo que este -28 es negativo 28 metros bajo el nivel del mar...? Pero para ser honesto, no estoy seguro, junto con la precisión vertical. Si alguien pudiera darme la interpretación correcta sería muy apreciado.

Segunda pero pequeña pregunta, el teléfono registró dos puntos de GPS con 30 segundos de diferencia, donde el GPS básicamente recentra y obtiene una ubicación más precisa, ¿es seguro asumir que esta segunda ubicación es la "correcta" con la frecuencia con la que el dispositivo sondea los datos?

0voto

derobert Puntos 272

Tendría sentido que una precisión de 16 significara que hay un 68% de posibilidades de estar dentro del círculo de 16 metros de radio centrado en la latitud y la longitud notificadas, ya que eso es lo que [El método getAccuracy() de Android devuelve](https://developer.android.com/reference/android/location/Location#getAccuracy()) . Del mismo modo, la precisión vertical (que a menudo es 2 para mí también) tendría sentido como 68% de ±2m (de [getVerticalAccuracyMeters](https://developer.android.com/reference/android/location/Location#getVerticalAccuracyMeters()) ). No hay ninguna documentación que pueda encontrar sobre el formato, así que es difícil estar seguro.

El GPS suele ser menos fiable en cuanto a la altitud que a la latitud/longitud, pero muchos teléfonos (el mío incluido) tienen altímetros barométricos, que pueden dar una altitud mucho más precisa si se calibran (algo que Google puede hacer, por ejemplo, a partir de estaciones meteorológicas).

Todo eso está bien en teoría, pero mirando los propios datos de Google Takeout, parece que la altitud está desviada en ~30m (mucho más que los ±2m que estaría reclamando). [ Actualización Esta es probablemente la diferencia entre la altitud WGS84 y la MSL; véase http://www.esri.com/news/arcuser/0703/geoid1of3.html para una explicación y http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/intpt.html para una calculadora]. Y se actualiza con poca frecuencia (a mí me ha estado mostrando el mismo valor durante horas en un montón de registros, y dado que no he viajado a ningún sitio, pero cabría esperar una variación aleatoria si se tratara de números brutos de GPS).

Yo no asumiría la corrección de ninguno de estos datos. Ten en cuenta para qué se han recopilado, sobre todo para la agregación estadística para mostrarte lugares relevantes, anuncios, etc. Nada de eso requiere que un punto determinado sea correcto. De hecho, en mi historial, tengo algunos puntos con una precisión de 1524304 - así que, erre que erre, ¿68% seguro de en qué parte del globo estoy?

0 votos

¿Importa la fuente de los datos del gps cuando se trata de la supuesta corrección/precisión? Esta información proviene, por ejemplo, de google maps/findmyphone/google timeline en lugar de una actualización de ubicación programada de forma orgánica, con todos los ajustes de GPS activados y sin opciones de ahorro de batería activadas cuando se trata de datos de ubicación. Lo que sería activamente el sondeo de datos desde el teléfono.

0 votos

Además el teléfono del que se encuestaron los datos era un Samsung Galaxy S8 que sí tiene barómetro, entre otras muchas cosas que ayudarían a la precisión de los datos al ser un teléfono emblemático.

0 votos

@Iam126264. Activamente el uso del GPS probablemente resulta en una lectura mucho más precisa vs la torre de la célula / Wi-Fi / Bluetooth / GPS rápida que de otro modo utilizar para ahorrar energía. Además, creo que he descubierto por qué mi altitud está fuera tanto - no es, diferente definición de 0 altitud, respuesta actualizada.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X