Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Que es la mejor manera de calcular la velocidad en android si "cálculo manual utilizando coordenadas GPS" o "location.getSpeed"?

Estoy tratando de calcular la velocidad en el dispositivo Android, pero que es la mejor práctica para hacerlo, ya tiene la función location.getSpeed ​​() con GPS, es esta la mejor manera de usar? O debo calcular la velocidad manualmente utilizando coordenadas GPS obtenido?

  • Cómo habilitar el acceso a la ubicación mediante programación en android?
  • Intervalo requestLocationUpdates en Android
  • Android escribe EXIF ​​Latitude y Longitud GPS en JPEG falló
  • Android - trazado de gps coordinar en mapa personalizado
  • Cambiar el modo de ubicación a alta precisión mediante programación Android
  • Obtener la ubicación / posición más precisa? (GPS / Kalman / Android)
  • Determinar la velocidad de un vehículo usando GPS en android
  • ¿Cómo detectar coordenadas GPS falsas en Android?
  • 3 Solutions collect form web for “Que es la mejor manera de calcular la velocidad en android si "cálculo manual utilizando coordenadas GPS" o "location.getSpeed"?”

    Parece que el método getSpeed ​​() no siempre es confiable, especialmente a baja velocidad y cuando la cobertura de gps no es óptima. Usted puede echar un vistazo a esta pregunta y ésta que son ambas sobre alternativas para getSpeed ​​(). Sin embargo, la página del desarrollador de Android indica que obtendrá un mejor rendimiento mediante el uso de la API de ubicación de Google.

    Por lo tanto, parece que la elección depende del uso de su aplicación: si se dirige a un desplazamiento lento en un área con poca cobertura de GPS (caminar en la madera), utilice su propia implementación. Rápido en la zona con buena cobertura de GPS, use la API de ubicación de Google.

    Espero que te haya ayudado.

    IMO, el mejor enfoque actual en Android es usar Location.getSpeed() junto con la API de ubicación de servicios de Google y el proveedor de ubicación fusionada. A continuación, compruebe este valor con respecto al Reconocimiento de actividades de Google Play Services .

    El proveedor de ubicación fusionada integra algunos otros sensores incorporados para ajustar los datos de ubicación, lo cual es mejor que el GPS solo. A continuación, compruebe el método ActivityRecognition.getMostProbableActivity () . Si la DetectedActivity es tipo STILL , su velocidad verdadera es probablemente igual a 0. Si su ON_FOOT , es probablemente una velocidad baja (por ejemplo, 1 m / s). Si es ON_BICYCLE o IN_VEHICLE , es probable que esté bien dependiendo de la salida de velocidad obtenida directamente de Location.getSpeed() . También querrá comprobar el valor de DetectedActivity.getConfidence() y establecer su propio umbral para un nivel de confianza que alimenta "confiado" con 🙂 al confiar en estos valores.

    También me gustaría sugerir que no sólo la media posiciones secuenciales para obtener una velocidad media entre dos posiciones (si lo hace, debe ser un promedio en un gran número de posiciones). En mi benchmarking en dispositivos móviles (veo mi disertación aquí , páginas 105-106, y 137-138 especialmente), he encontrado la velocidad instantánea calculada por el subsistema GPS (que normalmente se basa en el cambio Doppler de las señales portadoras GPS ) Para ser mucho más preciso que las posiciones derivadas de GPS. Percentil 95 de la velocidad observada mientras estacionaria en el interior (utilizando sólo el GPS asistido, sin fusión del sensor) fue de 1 m / s en un Sanyo Pro 200 I probado. Pude filtrar un número significativo de valores atípicos de posición utilizando datos de velocidad (véase la página 137-138) en algunas técnicas de gestión de energía inteligente que estaba evaluando. Con la fusión de sensores y el reconocimiento de actividad para ayudar a filtrar valores atípicos, la precisión debe ser mejor que esto en un dispositivo similar.

    Por último, y no puedo hacer hincapié en esto lo suficiente, ¿tiene pruebas en dispositivos reales, tanto como usted puede conseguir un asimiento apagado, y preferiblemente los modelos más populares hacia fuera allí. Android tiene una gran variedad de OEMs poniendo dispositivos, que tendrán sus excentricidades. Su mejor opción es crear una solución que apunte a los modelos más populares, reconociendo que no es realista conseguir una solución que funcione perfectamente en todos los modelos.

    La mejor manera para los dispositivos que se mueven más rápido que la velocidad de caminar, es usar directamente la ubicación.getSpeed ​​().

    Para peatones, u otras situaciones de velocidad lenta, esto no es muy fácil, tal vez es simplemente imposible tener una velocidad lenta válida que sea válida en este momento.
    Algunos tratan de evaluar el historial y hacer un promedio, o enfoque basado en umbral, esto mejorará para una aplicación / uso específico.

    Pero lo más simple es diseñar su aplicación para ignorar velocidades bajas.

    Algunos enlaces relacionados con speed:
    Corrección de posición GPS
    Datos GPS suaves

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.