Open Location Code é uma tecnologia que fornece uma maneira de codificar a localização em um formato mais fácil de usar do que latitude e longitude. Os códigos gerados são chamados de códigos plus, pois seu atributo distintivo é incluir um caractere “+”.
A tecnologia foi projetada para produzir códigos que podem ser usados como substitutos de endereços, especialmente em locais onde os edifícios não são numerados ou as ruas não têm nomes.
Os códigos de adição representam uma área, não um ponto. À medida que os dígitos são adicionados a um código, a área diminui, portanto um código longo é mais preciso do que um código curto.
Códigos semelhantes estão localizados mais próximos do que códigos diferentes.
Um local pode ser convertido em um código, e esse código (completo) pode ser convertido novamente em um local completamente offline, sem a necessidade de tabelas de dados para pesquisa ou serviços online.
Os códigos podem ser abreviados para facilitar a comunicação e, nesse caso, podem ser usados regionalmente ou em combinação com um local de referência que todos os usuários deste código curto precisam conhecer. Se o local de referência for fornecido na forma de um nome de local, poderá ser necessário usar um serviço de geocodificação para recuperar o local original.
Algoritmos para
estão disponíveis publicamente e podem ser usados sem restrições. Os serviços de geocodificação não fazem parte da tecnologia Open Location Code.
Os códigos são compostos por uma sequência de dígitos escolhidos em um conjunto de 20. Os dígitos do código alternam entre latitude e longitude. Os primeiros quatro dígitos descrevem uma área de um grau de latitude por um grau de longitude, alinhada em graus. Adicionar mais dois dígitos ao código reduz a área para 1/20 de grau em 1/20 de grau dentro da área anterior. E assim por diante - cada par de dígitos reduz a área para 1/400 da área anterior.
Por exemplo, os edifícios do Parlamento em Nairobi, no Quénia, estão localizados em 6GCRPR6C+24. 6GCR é a área de 2°S 36°E a 1°S 37°E. PR6C+24 é uma área de 14 por 14 metros de largura dentro de 6GCR.
Um caractere “+” é usado após oito dígitos, para dividir o código em duas partes e para distinguir códigos de códigos postais.
Haverá locais onde um código de 10 dígitos não é suficientemente preciso, mas refiná-lo por um fator de 20 é i) desnecessariamente preciso e ii) requer a extensão do código em dois dígitos. Em vez disso, após 10 dígitos, a área é dividida em uma grade 4x5 e um único dígito é usado para identificar o quadrado da grade. Uma única etapa de refinamento da grade reduz a área para aproximadamente 3,5x2,8 metros.
Os códigos podem ser encurtados em relação a um local. Isto reduz o número de dígitos que devem ser memorizados, utilizando uma localização para identificar uma área aproximada e, em seguida, gerando o código correspondente mais próximo. Encurtar um código, se possível, eliminará quatro ou mais dígitos desde o início do código. O grau em que um código pode ser encurtado depende da proximidade do local de referência.
Se o local de referência derivar do nome de uma vila ou cidade, dependerá da precisão do serviço de geocodificação. Embora um serviço possa colocar “Zurique” perto do escritório do Google, outro pode movê-lo cem metros ou mais, e isso pode ser suficiente para impedir a recuperação do código original. Em vez de uma feição de tamanho de cidade grande para gerar o local de referência, é melhor usar feições menores de vizinhança, que não terão tanta variação em seus resultados de geocódigo.
As diretrizes para encurtar códigos estão no wiki.
A recuperação de códigos abreviados funciona fornecendo o código curto e um local de referência. Não precisa ser o mesmo local usado para encurtar o código, mas precisa estar próximo. Os códigos abreviados sempre incluem o caractere "+", portanto é simples calcular o componente ausente.
Os subdiretórios contêm exemplos de implementações e testes para diferentes linguagens. Cada implementação fornece as seguintes funções: