Open Location Code est une technologie qui permet de coder la localisation sous une forme plus facile à utiliser que la latitude et la longitude. Les codes générés sont appelés codes plus, car leur particularité est qu'ils comportent un caractère "+".
La technologie est conçue pour produire des codes qui peuvent être utilisés en remplacement des adresses postales, en particulier dans les endroits où les bâtiments ne sont pas numérotés ou les rues ne sont pas nommées.
Les codes Plus représentent une zone, pas un point. Au fur et à mesure que des chiffres sont ajoutés à un code, la zone se rétrécit, un code long est donc plus précis qu'un code court.
Les codes similaires sont plus rapprochés que les codes différents.
Un emplacement peut être converti en code, et ce code (complet) peut être reconverti en un emplacement complètement hors ligne, sans qu'aucune table de données à rechercher ni aucun service en ligne ne soient requis.
Les codes peuvent être raccourcis pour faciliter la communication, auquel cas ils peuvent être utilisés au niveau régional ou en combinaison avec un emplacement de référence dont tous les utilisateurs de ce code court doivent être conscients. Si l'emplacement de référence est donné sous la forme d'un nom de lieu, l'utilisation d'un service de géocodage peut être nécessaire pour récupérer l'emplacement d'origine.
Des algorithmes pour
sont accessibles au public et peuvent être utilisés sans restriction. Les services de géocodage ne font pas partie de la technologie Open Location Code.
Les codes sont constitués d'une séquence de chiffres choisis parmi un ensemble de 20. Les chiffres du code alternent entre la latitude et la longitude. Les quatre premiers chiffres décrivent une zone d'un degré de latitude sur un degré de longitude, alignés en degrés. L'ajout de deux chiffres supplémentaires au code réduit la zone à 1/20ème de degré de 1/20ème de degré dans la zone précédente. Et ainsi de suite – chaque paire de chiffres réduit la surface à 1/400ème de la surface précédente.
À titre d'exemple, les bâtiments du Parlement à Nairobi, au Kenya, sont situés au 6GCRPR6C+24. 6GCR est la zone comprise entre 2°S 36°E et 1°S 37°E. PR6C+24 est une zone de 14 mètres sur 14 de large au sein de 6GCR.
Un caractère « + » est utilisé après huit chiffres, pour diviser le code en deux parties et pour distinguer les codes des codes postaux.
Il y aura des endroits où un code à 10 chiffres n'est pas suffisamment précis, mais l'affiner d'un facteur 20 est i) inutilement précis et ii) nécessite d'étendre le code de deux chiffres. Au lieu de cela, après 10 chiffres, la zone est divisée en une grille 4x5 et un seul chiffre utilisé pour identifier le carré de la grille. Une seule étape de raffinement de la grille réduit la zone à environ 3,5 x 2,8 mètres.
Les codes peuvent être raccourcis par rapport à un emplacement. Cela réduit le nombre de chiffres à mémoriser, en utilisant un emplacement pour identifier une zone approximative, puis en générant le code correspondant le plus proche. Raccourcir un code, si possible, supprimera quatre chiffres ou plus à partir du début du code. La mesure dans laquelle un code peut être raccourci dépend de la proximité de l'emplacement de référence.
Si l'emplacement de référence est dérivé d'un nom de ville ou de ville, cela dépend de la précision du service de géocodage. Même si un service place "Zurich" à proximité du bureau de Google, un autre peut le déplacer d'une centaine de mètres ou plus, ce qui pourrait suffire à empêcher la récupération du code original. Plutôt qu'une entité de grande taille de ville pour générer l'emplacement de référence, il est préférable d'utiliser des entités de quartier plus petites, qui n'auront pas autant de variation dans leurs résultats de géocodage.
Les directives pour raccourcir les codes se trouvent dans le wiki.
La récupération des codes raccourcis fonctionne en fournissant le code court et un emplacement de référence. Il n'est pas nécessaire que ce soit le même que l'emplacement utilisé pour raccourcir le code, mais il doit être à proximité. Les codes raccourcis incluent toujours le caractère « + », il est donc simple de calculer le composant manquant.
Les sous-répertoires contiennent des exemples d'implémentations et de tests pour différents langages. Chaque implémentation fournit les fonctions suivantes :