Открытый код местоположения (Open Location Code — OLC) — система геокодирования для определения области любой точки Земли.
Код был разработан в инженерном офисе Google в Цюрихе, и опубликован в конце октября 2014 годаSee Open Location Code Github and Open Location Code forum .. Коды местоположения, созданные системой OLC, называются «плюсовыми кодами», или «плюскодами».
Открытый код местоположения — способ кодирования местоположения в символы, которые проще использовать, чем координаты в виде широты и долготы. Плюсовые коды предназначены для использования в качестве уличных адресов и особенно полезны в случаях, когда нет официальной системы идентификации зданий — названия улиц, номеров домов и почтовых индексовThe Open Location Code website provides an overview. The document «An Evaluation of Location Encoding Systems» provides a rationale..
Коды OLC получаются преобразованием координат широты и долготы, поэтому любая точка на Земле уже адресуется плюскодомSpecification: «Open Location Code: An Open Source Standard for Addresses, Independent of Building Numbers And Street Names» . По длине они похожи на телефонный номер — например, 849VCWC8+R9 — но зачастую сокращаются до четырёх или шести цифр в сочетании с наименованием местности (CWC8+R9, Mountain View). Расположенные рядом места имеют схожие коды. Их можно кодировать или декодировать в автономном режиме. Набор символов для кодирования кодов OLC составлен таким образом, чтобы исключить применение похожих на вид символов для уменьшения путаницы и ошибок, так же исключены гласные, чтобы исключить совпадение плюскода с существующими словами. Kоды OLC не чувствительны к регистру, поэтому их можно легко передать по телефону.
С августа 2015 года карты Google поддерживают коды OLC в своей поисковой системе. Алгоритм находится под лицензией Apache License 2.0 и доступен на GitHub.
Google заявляет, что коды OLC принимаются в качестве почтовых адресов в Кабо-Верде, частях Калькутты и в Навахо.
Спецификация Система открытого кода местоположения основана на широте и долготе в координатах WGS84. Каждый код описывает область, ограниченную двумя параллелями и двумя меридианами фиксированной сетки, указывая широту, долготу и размер области. Самая большая сетка состоит из блоков 20 на 20 градусов (9 строк и 18 столбцов) и делится на подблоки 20 на 20 до четырёх раз. С этого уровня и далее деление происходит на подблоки 5 на 4. В таблице показаны блоки различных размеров, максимально приближённые к экватору. Ширина блока уменьшается с удалением от экватора. +Размеры блоков открытого кода местоположения Длина кода 2 4 6 8 + 10 11 Размер блока 20° 1° 0,05° (3′) 0,0025° (9″) 0,000125° (0,45″) 0,00003125° × 0,000025° Примерная точность 2200 км 110 км 5,6 км 277 м 14 м 3 м Примерная площадь возле широты 75° 1290 393 км² 3 226 км² 8 км² 20 162 м² 50 м² 3 м² Примерная площадь возле широты 60° 2486 716 км² 6 217 км² 16 км² 38 855 м² 97 м² 5 м² Примерная площадь возле широты 45° 3505 001 км² 8 763 км² 22 км² 54 766 м² 137 м² 7 м² Примерная площадь возле широты 30° 4278 266 км² 10 696 км² 27 км² 66 848 м² 167 м² 8 м² Примерная площадь возле широты 15° 4760 164 км² 11 900 км² 30 км² 74 378 м² 186 м² 9 м² Примерная площадь возле экватора 4923 639 км² 12 309 км² 31 км² 76 932 м² 192 м² 10 м² Полная сетка использует смещения от Южного полюса (-90°) и антимеридиана (-180°), выраженные в двадцатеричной системе счисления. Чтобы избежать неправильного прочтения или написания нежелательных слов, кодировка исключает гласные и символы, которые можно легко спутать друг с другом. В следующей таблице показано соответствие. +Кодировка открытого кода местоположения Вес цифры двадцатеричной системы 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Обозначение цифры двадцатеричной системы 2 3 4 5 6 7 8 9 C F G H J M P Q R V W X Код начинается с пяти пар цифр, каждая из которых состоит из цифры, представляющей широту, и цифры, представляющей долготу. Самые большие блоки состоят из двух цифр. После 8-й цифры код содержит знак «+» в качестве разделителя для облегчения визуального анализа. После 10 цифр в каждом подразделе подблоки кодируются одной цифрой кода следующим образом: +Разделение подблоков в открытом коде местоположение долгота → широта ↑ R V W X J M P Q C F G H 6 7 8 9 2 3 4 5 Области, превышающие 8-значный блок, могут быть указаны путем замены чётного числа конечных цифр перед знаком + на цифру 0, без указания символов после знака «+».
Пример Рассмотрим, для примера, определение плюс-кода Мерлиона (N 1.286785, E 103.854503) в Сингапуре. Он расположен в области вокруг экватора, ограниченного −10° южной широты и +10° северной широты между 100° и 120° восточной долготы. Он смещен на 80° от Южного полюса и на 280° от антимеридиана, что соответствует 4 и 14 для первой пары цифр, по основанию 20 они кодируются как «6» и «P». Таким образом мы получили плюс-код «6P». Он может быть дополнен до 6P000000+.
Теперь уточним этот блок до подблока между 1° и 2° северной широты и 103° и 104° восточной долготы. Это добавляет 11° и 3° к юго-западному углу. Таким образом, вторая пара координат в двадцатеричной системе — «H» и «5». Результат дополнился до 6PH50000+.
После четырёх дополнительных уточнений парке Мерлион будет закодирован как 6PH57VP3+PR.
Следующий шаг требует от нас уточнения положения в сетке 4 на 5 и определения ячейки, на которую указывают координаты. Это ячейка с цифрой «6». Следовательно, итоговый открытый код местоположения: 6PH57VP3+PR6.
Типовое использование При использовании кода вместе с Google Maps или сайтом Plus.codes обычно пропускают первые 4 символа кода и добавляют приблизительное местоположение, например город, штат или страну. Таким образом, приведенный выше пример превращается в 7VP3+PR6 Singapore. Необходимо позаботиться о том, чтобы обозначение данного местоположения было достаточно маленьким, чтобы определить уникальное место. Картографические приложения могут использовать местоположение устройства для устранения неоднозначности сокращенных кодов.
Примечания
Категория:Геокоды