La decodificación de la CLLocationAccuracy la const

la siguiente se enumeran en CLLocation.h, pero desde mi experiencia, que están engañando a los nombres de, posiblemente, pensado originalmente para servir a dos propósitos, 1. para probar la exactitud de la ubicación devuelto, pero también 2. para establecer cómo duro el administrador de ubicación de las obras, específicamente lo que está habilitado (gps (¿cuántos canales sat), de lo difícil de la wifi funciona, la triangulación etc.

extern const CLLocationAccuracy kCLLocationAccuracyBestForNavigation; //(raw value: -2)
extern const CLLocationAccuracy kCLLocationAccuracyBest; //(raw value: -1)
extern const CLLocationAccuracy kCLLocationAccuracyNearestTenMeters; //(raw value: 10)
extern const CLLocationAccuracy kCLLocationAccuracyHundredMeters; //(raw value: 100)
extern const CLLocationAccuracy kCLLocationAccuracyKilometer; //(raw value: 1000)
extern const CLLocationAccuracy kCLLocationAccuracyThreeKilometers; //(raw value: 3000)

Me encantaría echar un vistazo a CLLocation.m, pero como que no es probable que ocurra en cualquier momento pronto – ¿alguien tiene alguna prueba de campo que muestran lo que piensan que está pasando con estos diferentes modos.

es decir, kCLLocationAccuracyBest = 10 por satélite (canales/troncos?), El 100% de la potencia al wifi etc..

Yo soy una especie de adivinar a un clavo ardiendo – creo que este es el tipo de información que apple debería haber proporcionado-

lo que realmente quiero saber es lo que realmente está ocurriendo con kCLLocationAccuracyThreeKilometers en relación a consumo de batería – es el gps? 1 sat tronco? wifi activado? wifi en un temporizador? quién sabe? Sé que me gustaría

InformationsquelleAutor dave | 2010-08-05

3 Kommentare

  1. 54

    Estoy de acuerdo con Olie que ocultar los detalles del algoritmo está diseñado para proteger el desarrollador de la aplicación de la preocupación acerca de cómo se determina la ubicación. Dicho esto, creo que es todavía razonable a la pregunta: «¿qué es el poder implicaciones de mi exactitud de la selección?».

    Tengo un poco de información que podrían orientar su decisión de cual usar, pero no sé el verdadero detalles de Apple de la aplicación.

    En primer lugar, asumir que a medida que la lectura se vuelve más preciso, el sistema tendrá que utilizar más hambriento de poder radios. Por ejemplo, el GPS va a ser necesario para la mayoría de las lecturas detalladas, dentro de 100 Metros y utiliza más energía.

    Aquí es una conjetura en el mecanismo que se utiliza para determinar la exactitud. La lista está ordenada con (1) siendo el más alto el drenaje de la batería.

    1. GPS – kCLLocationAccuracyBestForNavigation;
    2. GPS – kCLLocationAccuracyBest;
    3. GPS – kCLLocationAccuracyNearestTenMeters;
    4. WiFi (o GPS en el área rural) – kCLLocationAccuracyHundredMeters;
    5. Celda de la Torre – kCLLocationAccuracyKilometer;
    6. Celda de la Torre – kCLLocationAccuracyThreeKilometers;

    La hora de elegir, se recomienda por parte de Apple de que usted seleccione el que más de grano grueso exactitud que su aplicación puede permitirse.

    Espero que ayude, un.poco.

    • Por Manzanas Documentación: kCLLocationAccuracyBestForNavigation Utilizar la mayor exactitud posible y lo combinan con sensor adicional de datos. Este nivel de precisión está diseñado para su uso en aplicaciones de navegación que requieren de la posición exacta de la información en todo momento y están destinados a ser utilizados sólo cuando el dispositivo está enchufado. Esta es la única constante con cualquier descripción que pertenecen a sensor/uso de la energía.
    • es kCLLocationAccuracyBestForNavigation da una mejor ubicación de los puntos, kCLLocationAccuracyBest? ¿te obliga a estar cerca de una carretera? porque la mayoría de los programas de navegación para conducir/transporte en autobús de la navegación. Puedo obtener una mejor ubicación cordinates si voy a utilizar kCLLocationAccuracyBest en lugar de kCLLocationAccuracyBestForNavigation?
    • Creo que es seguro asumir que incluso en el peor de los casos, kCLLocationAccuracyBestForNavigation es tan buena como la de kCLLocationAccuracyBest.
    • Poco, Esta es una gran descripción y esto me ayuda mucho . Gracias por este post. Esto ahorra mis días.
    • basado en esta investigación, su respuesta parece equivocado. Que es el WiFi (o GPS en el área rural) no es para kCLLocationAccuracyCienMetros, más bien es kCLLocationAccuracyNearestDiezMetros. Para kCLLocationAccuracyHundredMeters es principalmente wifi y cellTower.
    • En cuanto a la diferencia de kCLLocationAccuracyKilometer & kCLLocationAccuracyThreeKilometer pregunté a un experto dijo que Es probable que una cuestión de cuántas torres para observar y con qué frecuencia para buscar actualizaciones por ejemplo, con kCLLocationAccuracyThreeKilometer podríamos buscar en 1-2 torre cada 5-6 minutos, pero con kCLLocationAccuracyKilometer podríamos buscar en 3-4 torres para obtener una mejor triangulación y comprobar cada 2 minutos, así que asegúrese de que no estamos a falta de 1km de umbral. Probablemente el intervalo entre la comprobación se ve afectada por la velocidad, es decir, si vas rápido, a continuación, se revisaría cada 1-2 minutos
    • ¿Qué debo elegir Si estoy construyendo un velocímetro de la aplicación?
    • Además, cuando usted está utilizando torres de telefonía móvil, a continuación, a veces porque la torre está ocupado, usted podría tener que utilizar una torre que está más lejano a ti. Como resultado, su calculada ubicación sería inexacta debido a que erróneamente piensa que estamos más cerca de la no-más cerca de la torre!

  2. 9

    En el distrito de negocios de una de las principales de la ciudad, wi-fi y torres de telefonía móvil de la triangulación son muy buenas. Suburbios residenciales no son tan buenas. En las zonas rurales apenas trabajo si funcionan.

    El GPS no funciona muy bien en interiores, y puede tomar un tiempo muy largo para obtener cualquier revisión a todos sin celda de la torre de asistencia (posiblemente de los 20 minutos!!). Se necesita ese tiempo para los satelites de la difusión de información suficiente para determinar su ubicación, y puede haber pérdida de paquetes (nubes, los edificios, los árboles, las montañas, etc). Vale la pena señalar que una adecuada high end GPS dispone de una antena del tamaño de una bola de la cesta, sin GPS de mano, puede obtener una señal perfecta.

    Incluso al aire libre con perfecta de la señal, el GPS es inexacta cuando vaya a cambiar de dirección rápidamente (como en la carretera o por un sinuoso camino). El BestForNavigation configuración utiliza el acelerómetro y el giroscopio para compensar esto.

    Actualmente, la plataforma iOS usos:

    • GPS: muy precisa, pero de alto consumo de energía, lento y no siempre está disponible. algunas de hardware no tiene un GPS.
    • WiFi: mucha de la energía de dibujar, y sólo funciona en la ciudad. También puede ser plano erróneas (por ejemplo, el lugar que en el mal de la ciudad)
    • Torre celular: casi ningún poder de sacar a todos, y funciona bien en la ciudad. No es tan grande en las zonas rurales. No existe en algún hardware.
    • Acelerómetro: pequeñas mejoras a otro lugar correcciones, pero de enorme poder dibujar.
    • Giroscopio: pequeñas mejoras a otro lugar correcciones, pero de enorme poder dibujar. iPhone 4 solamente.

    Le dan una precisión en los metros que necesites (las constantes son simplemente agradable nombres de metros), y se utilizará una combinación de los anteriores, para conseguir ese nivel de precisión con el que más rápido posible solución, y la más baja posible el consumo de energía. La técnica que se utiliza va a cambiar de un usuario a otro, y va a cambiar dependiendo del lugar del mundo en el que el usuario está de pie en el momento.

    • ¿Cuál es la diferencia entre un alto consumo de energía, un montón de consumo de energía y gran consumo de energía. lol.
    • WiFi/GSM triangulación utiliza muy poca energía. GPS utiliza un poco justo de potencia. GPS con el Acelerador/Giroscopio de corrección requiere una gran cantidad de matemáticas y hace que el CPU a trabajar duro, por lo que el consumo de energía es extrema.
    • > En el distrito de negocios de una de las principales de la ciudad, wi-fi y torres de telefonía móvil de la triangulación son muy buenas. @Abhi Beckert , no estoy seguro acerca de eso. El WiFi, usted está probablemente en lo cierto, pero me da bastante mal precisión (cientos de metros) en el interior de los edificios aquí en el East Village de Manhattan cuando el WiFi se ha apagado por un tiempo. (Asumo en esta situación, torres de telefonía celular están siendo utilizados). Yo también tengo bastante mal precisión en el Centro de Seattle (más de 1000 metros), en el interior de edificios.
    • Yo estaba más que refiriéndose a las alamedas de compras/estaciones de tren/etc, que a menudo tienen docenas de torres de telefonía celular en el edificio. No todos los edificios tienen, sobre todo porque algunas células de la red de frecuencias puede viajar a través de las paredes de manera efectiva, eliminando cualquier necesidad para el interior de las células. También a los 1.000 metros es decente en una zona rural de la célula de la red de triangulación puede ser tan mala como la de 300,000 metros de precisión.
    • si usted está usando algo como: kCLLocationAccuracyHundredMeters es decir, utilizando el WiFi de la triangulación, entonces, ¿qué sucede cuando usted está en un área remota? Sería de reserva para el GPS y el drenaje de la batería o celltowers w/ degradantes exactitud? Y ¿qué significa Celda de la Torre: casi ningún poder de sacar a todos, y funciona bien en la ciudad. No es tan grande en las zonas rurales. No existe en algún componente de hardware. ¿te refieres a que no todas las células de la torre tiene el hardware necesario para la triangulación?
  3. 2

    El punto de uso externo en lugar de exponer lo que realmente está sucediendo es que el bajo-gerwerkkins puede cambiar y su código no tiene que preocuparse de recoger las mejoras.

    Que dijo, CLLocationAccuracy es typedef-ed el doble, por lo que creo que es justo que supongo que kCLLocationAccuracyNearestTenMeters = 10.0, kCLLocationAccuracyHundredMeters = 100.0, etc. Mejor es probable sea de 0, 1 o kCLLocationAccuracyNearestTenMeters, y BestForNavigation es, probablemente, uno de ellos tiró de él para ayudar a la gente como TomTom, etc.

    Si usted REALMENTE quiere saber, usted puede imprimir los valores — sólo son dobles.

    No creo que el número de satélites o de poder a wi-fi es alterado basado en su precisión deseada. Mi manera de entender los algoritmos, no es una aproximación de cálculo que, las más veces a través del bucle, la más precisa se obtiene. Por lo tanto, menos precisa sólo fianzas anterior.

    Pero, de nuevo, el punto más importante es: no importa. En particular, Apple no describe lo que sucede detrás de las escenas, porque eso no es parte del diseño. El diseño es: si uso kCLLocationAccuracyKilometer, usted recibirá una respuesta dentro de un kilómetro, etc. Y Apple es ahora libre para cambiar el modo de llegar a que sin ti cariño. Este tipo de aislamiento es un principio básico de la programación orientada a objetos.

    EDICIÓN:

    CORRECCIÓN — ahora yo estoy viendo la WWDC período de sesiones de la ubicación (Sesión 115) y, en torno a las 22:00 o así, él habla acerca de cómo, cuando se utiliza BestForNavigation, esto añade en algunos giroscopio de corrección (cuando está disponible). Sin embargo, él advierte que, si bien este es el poder & uso intensivo de CPU, y solo debe ser utilizado cuando sea necesario, como con turn-by-turn navigation.

    No estoy seguro de cuánto más puedo hablar de esto públicamente, pero, si eres un desarrollador registrado, usted puede conseguir las sesiones de iTunes U.

    (Esta es la WWDC de 2010, btw.)

    • Nota, también, junto con un Pequeño comentario, el Señor WWDC dice que la torre no sólo con la conexión de datos (como cuando estás en roaming sin un plan de datos) es de 10 a 50 km precisa. «Similar a la de código de área, vicepresidente de un número específico, en términos de la ubicación.»
    • Recuerdo de aprendizaje que kCLLocationAccuracyBest es en realidad -1, sólo para tu información. Gracias por la respuesta.
    • Se puede calificar su estado de cuenta?
    • De acuerdo a la convocatoria docs developer.apple.com/library/mac/documentation/CoreLocation/… horizontalAccuracy: Un valor negativo indica que la ubicación de la latitud y de longitud no son válidos.
    • perfecto, gracias.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea