Interested Article - OLC
- 2020-12-01
- 1
Открытый код местоположения ( Open Location Code — OLC ) — система геокодирования для определения области любой точки Земли .
Код был разработан в инженерном офисе Google в Цюрихе , и опубликован в конце октября 2014 года . Коды местоположения, созданные системой OLC, называются « плюсовыми кодами », или « плюскодами ».
Открытый код местоположения — способ кодирования местоположения в символы, которые проще использовать, чем координаты в виде широты и долготы. Плюсовые коды предназначены для использования в качестве уличных адресов и особенно полезны в случаях, когда нет официальной системы идентификации зданий — названия улиц, номеров домов и почтовых индексов .
Коды OLC получаются преобразованием координат широты и долготы , поэтому любая точка на Земле уже адресуется плюскодом . По длине они похожи на телефонный номер — например, 849VCWC8+R9 — но зачастую сокращаются до четырёх или шести цифр в сочетании с наименованием местности (CWC8+R9, Mountain View). Расположенные рядом места имеют схожие коды. Их можно кодировать или декодировать в автономном режиме. Набор символов для кодирования кодов OLC составлен таким образом, чтобы исключить применение похожих на вид символов для уменьшения путаницы и ошибок, так же исключены гласные, чтобы исключить совпадение плюскода с существующими словами. Kоды OLC не чувствительны к регистру, поэтому их можно легко передать по телефону .
С августа 2015 года карты Google поддерживают коды OLC в своей поисковой системе . Алгоритм находится под лицензией Apache License 2.0 и доступен на GitHub .
Google заявляет, что коды OLC принимаются в качестве почтовых адресов в Кабо-Верде , частях Калькутты и в Навахо .
Спецификация
Система открытого кода местоположения основана на широте и долготе в координатах . Каждый код описывает область, ограниченную двумя параллелями и двумя меридианами фиксированной сетки, указывая широту, долготу и размер области. Самая большая сетка состоит из блоков 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». Он может быть дополнен до .
Теперь уточним этот блок до подблока между 1° и 2° северной широты и 103° и 104° восточной долготы. Это добавляет 11° и 3° к юго-западному углу. Таким образом, вторая пара координат в двадцатеричной системе — «H» и «5». Результат дополнился до .
После четырёх дополнительных уточнений парке Мерлион будет закодирован как .
Следующий шаг требует от нас уточнения положения в сетке 4 на 5 и определения ячейки, на которую указывают координаты. Это ячейка с цифрой «6». Следовательно, итоговый открытый код местоположения: .
Типовое использование
При использовании кода вместе с Google Maps или сайтом обычно пропускают первые 4 символа кода и добавляют приблизительное местоположение, например город, штат или страну. Таким образом, приведенный выше пример превращается в . Необходимо позаботиться о том, чтобы обозначение данного местоположения было достаточно маленьким, чтобы определить уникальное место. Картографические приложения могут использовать местоположение устройства для устранения неоднозначности сокращенных кодов.
Примечания
- . Plus.codes . Дата обращения: 3 ноября 2018. 2 мая 2021 года.
- . Openlocationcode.com . 1 марта 2018 года.
- See от 10 мая 2017 на Wayback Machine and от 4 мая 2021 на Wayback Machine .
- The от 1 марта 2018 на Wayback Machine provides an overview. The document от 22 ноября 2019 на Wayback Machine provides a rationale.
- Specification: от 30 января 2016 на Wayback Machine
- . Google-opensource.blogspot.ch . Дата обращения: 3 ноября 2018. 17 августа 2016 года.
- . Google-latlong.blogspot.in . Дата обращения: 3 ноября 2018. 6 марта 2016 года.
- . GitHub.com . Дата обращения: 3 ноября 2018. 25 октября 2020 года.
- . GitHub.com . Дата обращения: 3 ноября 2018. 4 мая 2021 года.
- . Дата обращения: 7 мая 2021. 7 мая 2021 года.
- . Дата обращения: 7 мая 2021. 7 мая 2021 года.
- . The Salt Lake Tribune . 2019-10-25. из оригинала 6 мая 2021 . Дата обращения: 7 мая 2021 .
- . GitHub . Дата обращения: 3 ноября 2018. 30 января 2016 года.
- 2020-12-01
- 1