2009-07-28 21 views
5

Me gustaría utilizar ubicaciones confiables, incluso en un viejo iphone. Sin embargo, muchas lecturas (particularmente de las torres de telefonía celular) son demasiado inexactas. Creo.¿Cuán precisa es la precisión de CLLocation?

Cuando trazo mi radio de posición + precisión (o miro la aplicación Google Maps), noto que el centro del círculo estimado generalmente está cerca de mi ubicación física. Supongo que si reduzco el número de "precisión" a la mitad, seguiré en el círculo el 99% del tiempo.

Creo que este es un juego de probabilidad: el gerente de locación está tratando de proporcionar una estimación que es correcta el 99.99999% del tiempo, por lo que dan un margen deliberadamente amplio. ¿Alguna idea/información?

Respuesta

0

Cuando está utilizando CoreLocation, está obteniendo "respuestas" que mejoran cada vez más. Me he dado cuenta de que la "mejor" respuesta casi siempre es precisa dentro de los 100m, por lo que teóricamente probablemente puedas reducir el "buffer" que normalmente recibes. La única manera de saber realmente, sin embargo, y esto es lo que yo haría, es probar la prueba de prueba. Encuentre iPhones y ipods de todas las generaciones y vea qué tipos de precisiones está obteniendo y qué tipos de resultados obtiene. En muchos sentidos, depende del tipo de aplicación que esté realizando, pero si desea entregar información sensible o importante en función del lugar donde se encuentre el usuario, realmente debe esperar a que el marco le proporcione una ubicación casi exacta.

+0

Estoy dispuesto a esperar la mejor ubicación posible. Mi preocupación es más "exactamente qué tan precisa es esta ubicación informada". Mi creencia es que todas las precisiones reportadas (1000m, 10m, etc.) tienen un sesgo alto. – BankStrong

+0

Y tiene razón al respecto, por razones obvias. – TahoeWolverine

2

El marco de CoreLocation le da el radio del círculo para cada CLLocation que obtiene utilizando las propiedades de precisión horizontal/vertical. Puede especificar que el CLLocationManager una propiedad desiredAccuracy que utilizan estos tipos:

kCLLocationAccuracyNearestTenMeters, kCLLocationAccuracyHundredMeters, kCLLocationAccuracyKilometer, kCLLocationAccuracyThreeKilometers;

para que pueda obtener notificaciones cuando se obtiene dentro de su rango deseado. Dicho esto, cuando utiliza el CLLocationManager, el primer evento se le da lo antes posible, y luego los eventos posteriores son los que satisfacen sus condiciones.

+0

Estoy menos centrado en pedir la precisión deseada y más interesado en conocer la precisión "verdadera". Cuando CoreLocation te dice que "esta ubicación es buena dentro de un radio de 100 metros", ¿significa realmente que "esta ubicación estará dentro de los 50 metros el 99.9% del tiempo"? – BankStrong

Cuestiones relacionadas