ubicacion studio sacar saber para obtener mis longitud lector latitud google geograficas coordenadas como buscar app aplicacion android algorithm math gps

android - studio - Mejores prácticas para calcular la velocidad promedio de las coordenadas GPS



obtener coordenadas google maps android studio (3)

Tengo aquí un dispositivo que me puede dar las coordenadas GPS. El intervalo de tiempo que puedo definir. Quiero usarlo para calcular la velocidad media durante la conducción o el viaje en automóvil. En realidad, utilicé una fórmula de ortódromo para calcular la distancia entre dos puntos y luego la dividí por el intervalo de tiempo dado. Por la implementación seguí este término . Desafortunadamente, solo pude encontrar un enlace en alemán, pero creo que la fórmula debería ser comprensible en cualquier idioma;)

Desafortunadamente, el uso de esta fórmula y un intervalo de tiempo de 1 segundo da resultados muy imprecisos. La velocidad mientras se camina es entre 1 km / hy 20 km / h.

Entonces, me pregunto si hay una referencia general sobre cómo implementar el cálculo de la distancia entre dos coordenadas GPS (encontré algo similar en SO) y en particular, ¿cuál es el mejor intervalo de tiempo para actualizar las coordenadas GPS?


Busque en google la EXACTITUD DE VELOCIDAD DEL GPS, y encontrará informes que indican que la velocidad calculada fuera de la posición en función del tiempo es diez veces peor que solo usar el parámetro de velocidad que sale directamente del receptor del GPS. El parámetro de velocidad no depende de la precisión de la posición, pero se calcula a partir del doppler (diferencia de velocidad / frecuencia) a partir de las señales del satélite.

Buena suerte


Los sistemas GPS pueden producir velocidad instantánea directamente, sin interpolar posiciones. Leí en alguna parte que la lectura de velocidad es en realidad más precisa que la lectura de posición. ¿Qué dispositivo / sistema / sistema operativo está utilizando?

En Android, pruebe el método android.location.Location.getSpeed() (junto con hasSpeed() ) en su implementación de LocationListener .


Supongo que está probando esto caminando a una velocidad constante (creo que ~ 5 kph es una velocidad normal para caminar) mientras mide su posición GPS una vez por segundo.

La variación que está observando en la velocidad instantánea (la distancia entre cada punto medido dividida por 1 segundo) se debe a una variación aleatoria en la posición GPS medida o bien no está tomando sus medidas con un intervalo de diferencia de un segundo (o podría sean ambas cosas).

Voy a suponer que sus medidas se están tomando con una diferencia de un segundo. Los dispositivos GPS de mano son mucho menos precisos de lo que se anuncia. Si bien a menudo se afirma que los dispositivos tienen una precisión de 10 pies de la posición real, esto simplemente no es así.

La mejor manera de medir e informar la precisión de un dispositivo GPS es dejarlo en un lugar donde pueda ver los satélites y no llover, y registrar el valor de unos pocos días. Luego puede usar Google Maps para trazar los puntos. He hecho esto en mi casa y en la oficina, lo cual es una buena manera de darle una idea de la escala.

Obviamente, si los dispositivos fueran perfectamente precisos, vería todos sus puntos medidos en un solo lugar. O, si la precisión de 10 pies fuera cierta, verías todos los puntos en un pequeño grupo dentro de un círculo de 20 pies de diámetro.

Lo que ve en su lugar (con cada dispositivo habilitado para GPS que he probado) es una combinación de dispersión posicional relativamente pequeña (del orden de unas pocas decenas de pies) que se produce en una escala de unos pocos segundos, y un período más largo "caminata aleatoria" de la posición promedio que podría moverse 200 o 300 pies en el transcurso de uno o dos días. Por ejemplo, cuando se traza sobre su propia casa, puede parecer que su PDA se dirigió a la casa del vecino, luego a la calle, luego a la calle, dos casas, de regreso hacia usted, etc., todo mientras se mueve alrededor de 5 o 10 pies aquí O al igual que bebía demasiado café.

GPS puede ser más preciso que esto. Los topógrafos utilizan dispositivos con conjuntos de receptores mucho más potentes (para que obtengan una lectura mucho más precisa de las señales de los satélites) y los dejan en su lugar durante días a la vez para promediar mediciones sucesivas. Los dispositivos de mano tienen chips receptores baratos y antenas baratas y tienen que lidiar con todo tipo de interferencias de señal de todos modos.

Su mejor apuesta es hacer un promedio de carrera para calcular su velocidad instantánea. En lugar de dividir la distancia entre el punto actual y el anterior por 1 segundo, tome las últimas 5 distancias entre los puntos y divídala por 5 segundos (o la cantidad de segundos que utilice). Es importante no solo tomar la diferencia entre el punto actual y el punto hace 5 segundos y dividir esta distancia por 5, ya que esto omitirá cualquier movimiento no lineal.

Actualización: Noté en un comentario que estás usando un dispositivo Android. ¿Sabes si tiene un receptor GPS incorporado? Muchos dispositivos Android (¿la mayoría?) No lo hacen, lo que significa que su GPS no es la versión de GPS de triangulación en los satélites, sino la conjetura en la que estoy basado en la señal de la Versión de torres de celda. Esto es mucho menos preciso desde el punto de vista de la posición, como estoy seguro de que se podría decir por la falta de claridad de mi descripción. :)