Open Location Code es una tecnología que ofrece una forma de codificar la ubicación en una forma que es más fácil de usar que la latitud y la longitud. Los códigos generados se denominan códigos plus, ya que su característica distintiva es que incluyen un carácter "+".
La tecnología está diseñada para producir códigos que puedan usarse como reemplazo de las direcciones de las calles, especialmente en lugares donde los edificios no están numerados o las calles no tienen nombres.
Los códigos Plus representan un área, no un punto. A medida que se añaden dígitos a un código, el área se reduce, por lo que un código largo es más preciso que un código corto.
Los códigos similares se encuentran más cerca unos de otros que los códigos diferentes.
Una ubicación se puede convertir en un código, y este código (completo) se puede volver a convertir en una ubicación completamente fuera de línea, sin necesidad de tablas de datos para buscar ni servicios en línea.
Los códigos se pueden acortar para facilitar la comunicación, en cuyo caso se pueden usar regionalmente o en combinación con una ubicación de referencia que todos los usuarios de este código corto deben conocer. Si la ubicación de referencia se proporciona en forma de nombre de ubicación, podría ser necesario el uso de un servicio de codificación geográfica para recuperar la ubicación original.
Algoritmos para
están disponibles públicamente y pueden usarse sin restricciones. Los servicios de geocodificación no forman parte de la tecnología Open Location Code.
Los códigos se componen de una secuencia de dígitos elegidos de un conjunto de 20. Los dígitos del código alternan entre latitud y longitud. Los primeros cuatro dígitos describen un área de un grado de latitud por un grado de longitud, alineados en grados. Al agregar dos dígitos más al código, se reduce el área a 1/20 de grado por 1/20 de grado dentro del área anterior. Y así sucesivamente: cada par de dígitos reduce el área a 1/400 del área anterior.
Por ejemplo, los edificios del Parlamento en Nairobi, Kenia, están ubicados en 6GCRPR6C+24. 6GCR es el área desde 2°S 36°E hasta 1°S 37°E. PR6C+24 es un área de 14 por 14 metros de ancho dentro del 6GCR.
Se utiliza un carácter "+" después de ocho dígitos para dividir el código en dos partes y distinguir los códigos de los códigos postales.
Habrá lugares donde un código de 10 dígitos no sea lo suficientemente preciso, pero refinarlo en un factor de 20 es i) innecesariamente preciso y ii) requiere ampliar el código en dos dígitos. En cambio, después de 10 dígitos, el área se divide en una cuadrícula de 4x5 y se utiliza un solo dígito para identificar el cuadrado de la cuadrícula. Un solo paso de refinamiento de la cuadrícula reduce el área a aproximadamente 3,5x2,8 metros.
Los códigos se pueden acortar en relación con una ubicación. Esto reduce la cantidad de dígitos que deben recordarse, utilizando una ubicación para identificar un área aproximada y luego generando el código coincidente más cercano. Si se acorta un código, si es posible, se eliminarán cuatro o más dígitos desde el inicio del código. El grado en que se puede acortar un código depende de la proximidad del lugar de referencia.
Si la ubicación de referencia se deriva del nombre de un pueblo o ciudad, depende de la precisión del servicio de codificación geográfica. Aunque un servicio puede situar "Zurich" cerca de la oficina de Google, otro puede desplazarlo cien metros o más, y esto podría ser suficiente para impedir que se recupere el código original. En lugar de una característica de tamaño de ciudad grande para generar la ubicación de referencia, es mejor usar características de vecindario más pequeñas, que no tendrán tanta variación en sus resultados de geocodificación.
Las pautas para acortar códigos se encuentran en la wiki.
La recuperación de códigos abreviados funciona proporcionando el código corto y una ubicación de referencia. No es necesario que sea la misma que la ubicación utilizada para acortar el código, pero sí debe estar cerca. Los códigos abreviados siempre incluyen el carácter "+", por lo que es sencillo calcular el componente que falta.
Los subdirectorios contienen implementaciones de muestra y pruebas para diferentes idiomas. Cada implementación proporciona las siguientes funciones: