El Código de Ubicación Abierto ( OLC ) es un geocódigo basado en un sistema de cuadrículas regulares para identificar un área en cualquier parte de la Tierra. [1] Fue desarrollado en la oficina de ingeniería de Google en Zúrich , [2] y publicado a fines de octubre de 2014. [3] Los códigos de ubicación creados por el sistema OLC se denominan " códigos plus ".
Los códigos de ubicación abiertos son una forma de codificar la ubicación en un formato que es más fácil de usar que mostrar las coordenadas en la forma habitual de latitud y longitud . Los códigos plus están diseñados para usarse como direcciones de calles y pueden ser especialmente útiles en lugares donde no existe un sistema formal para identificar edificios, como nombres de calles, números de casas y códigos postales. [4]
Los códigos plus se derivan de las coordenadas de latitud y longitud, por lo que ya existen en todas partes. [5] Son similares en longitud a un número de teléfono (por ejemplo, 849VCWC8+R9) pero a menudo se pueden acortar a solo cuatro o seis dígitos cuando se combinan con una localidad (por ejemplo, CWC8+R9, Mountain View, California ). Las ubicaciones cercanas entre sí tienen códigos similares. Se pueden codificar o decodificar sin conexión. El conjunto de caracteres evita caracteres de apariencia similar para reducir la confusión y los errores y evita las vocales para que sea poco probable que un código deletree palabras existentes. Los códigos plus no distinguen entre mayúsculas y minúsculas y, por lo tanto, se pueden intercambiar fácilmente por teléfono. [6] Desde agosto de 2015, Google Maps admite códigos plus en su motor de búsqueda. [7] El código plus abreviado se muestra para una ubicación, se puede copiar , hacer clic o transcribir, y se puede ingresar en el cuadro de dirección (seguido del nombre de la ciudad o pueblo si no es local y se usa el código abreviado) para mostrar la ubicación en el mapa. El algoritmo tiene licencia Apache 2.0 [8] y está disponible en GitHub. [9]
Los códigos plus se están utilizando para fines de dirección en Cabo Verde , [10] partes de Calcuta [11] Thane , [12] y Kolhapur [13] en la India, y la Nación Navajo en los Estados Unidos. [14] En Laxmi Nagar, Pune, la organización sin fines de lucro Shelter Associates utilizó códigos para brindar servicios de entrega a hogares y negocios específicos en el barrio marginal por primera vez en 2020-21. [12] El Comité Internacional de Rescate también está utilizando códigos plus en Somalia para programas de inmunización y planificación familiar . [12]
El sistema Open Location Code [15] se basa en latitudes y longitudes en coordenadas WGS84 . Cada código describe un área delimitada por dos paralelos y dos meridianos de una cuadrícula fija, identificada por la esquina suroeste y su tamaño. La cuadrícula más grande tiene bloques de 20 por 20 grados (9 filas y 18 columnas), y se divide en subbloques de 20 por 20 hasta cuatro veces. A partir de ese nivel, la división se realiza en subbloques de 5 por 4. La tabla muestra los distintos tamaños de bloque en su máximo cerca del ecuador. El ancho del bloque disminuye con la distancia al ecuador.
La cuadrícula completa utiliza desplazamientos desde el Polo Sur (−90°) y el antimeridiano (−180°) expresados en una representación de base 20. Para evitar errores de lectura o deletreo de palabras cuestionables, la codificación excluye vocales y símbolos que pueden confundirse fácilmente entre sí. La siguiente tabla muestra la asignación.
El código comienza con hasta cinco pares de dígitos, cada uno de los cuales consta de un dígito que representa la latitud y otro que representa la longitud. Los bloques más grandes tienen solo dos dígitos. Después de 8 dígitos, se inserta un signo más "+" en el código como delimitador para facilitar el análisis visual. Después de 10 dígitos en cada subdivisión, los subbloques se codifican en un solo dígito de código de la siguiente manera:
Se pueden especificar áreas más grandes que un bloque de 8 dígitos reemplazando un número par de dígitos finales antes del signo + con el dígito 0, sin nada después del signo +.
Consideremos, por ejemplo, hacer zoom en la fuente Merlion ( 1°17′12″N 103°51′16″E / 1.286785, -103.854503 ) en Singapur , que tiene el código de ubicación abierta "6PH57VP3+PR6". Se encuentra en el bloque alrededor del ecuador delimitado por −10° Sur y +10° Norte, y entre 100° y 120° Este. Tiene desplazamientos de 80° con respecto al Polo Sur y 280° con respecto al antimeridiano; o, 4 (=80/20) y 14 (=280/20) como los primeros dígitos de base 20, codificados como "6" y "P". Por lo tanto, el código es "6P". Puede completarse con 6P000000+.
Ahora, refine este bloque a un subbloque entre 1° y 2° N y 103° y 104° E. Esto suma 11° y 3° a la esquina SO. Por lo tanto, los códigos de coordenadas de base 20 agregados son "H" y "5". El resultado se completa con 6PH50000+.
Después de cuatro refinamientos más, uno aterriza en Merlion Park como 6PH57VP3+PR.
El siguiente paso consiste en dividir el cuadrado utilizado hasta ahora, para refinar la posición en una cuadrícula de 4x5 y encontrar la celda a la que apuntan las coordenadas. Se trata de la celda denominada "6".
Alternativamente, utilice la fórmula BASE(Grados desde el Sur o el Oeste * potencia(20, 4), 20) en cualquier hoja de cálculo o calculadora para calcular el código OLC.
Por lo tanto, el código de ubicación abierta resultante es: 6PH57VP3+PR6.
Es habitual omitir los primeros 4 caracteres del código y agregar una ubicación aproximada, como una ciudad, un estado o un país. El ejemplo anterior se convierte entonces en "7VP3+PR6 Singapur". Esto es compatible con la aplicación Google Maps y el sitio web plus.codes, así como con aplicaciones que no son de Google. Estas formas cortas de códigos plus se pueden utilizar en lugar del número de una casa en un vecindario.
Los códigos abreviados no se pueden codificar ni decodificar de forma inequívoca sin contexto. La especificación no se basa en ninguna base de datos específica de nombres de lugares de referencia contextual y sus ubicaciones exactas, pero existe una variedad de bases de datos de geocodificación que asignan nombres a latitud y longitud. La desambiguación requiere limitar las posibilidades a unos 40 km de la ubicación de referencia. Las coordenadas de la ubicación actual del usuario también se pueden utilizar para el contexto, si corresponde. [16] [17]