Открытый код местоположения (OLC ) - это система геокодирования для определения области в любой точке Земли. Он был разработан в конструкторском бюро Google в Цюрихе и выпущен в конце октября 2014 года. Коды местоположений, созданные системой OLC, обозначаются как «плюс коды ».
Открытый код местоположения - это способ кодирования местоположения в форму, которую проще использовать, чем отображение координат в обычной форме широта и долгота. Плюс-коды предназначены для использования в качестве уличных адресов и могут быть особенно полезны в местах, где нет официальной системы идентификации зданий, например, названия улиц, номера домов и почтовые индексы.
Плюс коды получены из координат широты и долготы, поэтому они уже существуют повсюду. По длине они похожи на телефонный номер - например, 849VCWC8 + R9 - но часто могут быть сокращены до четырех или шести цифр в сочетании с местностью (CWC8 + R9, Mountain View). Близкие друг к другу места имеют похожие коды. Их можно кодировать или декодировать в автономном режиме. Набор символов избегает похожих на вид символов, чтобы уменьшить путаницу и ошибки, и избегает гласных, чтобы сделать маловероятным то, что код произносит существующие слова. Коды Plus не чувствительны к регистру, поэтому их можно легко обменивать по телефону.
С августа 2015 года Google Maps поддерживает коды plus в своей поисковой системе. Алгоритм под лицензией Apache License 2.0. и доступен на GitHub.
. Google заявляет, что плюсовые коды принимаются в качестве почтовых адресов в Кабо-Верде, частях Калькутты и навахо.
Система открытого кода местоположения на основе широты и долготы в координатах 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 ″) | ||
Приблизительно | 2200 км | 110 км | 5,5 км | 275 м | 14 м | 3,5 м |
В полной сетке используются смещения от Южного полюса (–90 °) и антимеридиана (–180 °), выраженные в база 20 представление. Чтобы избежать неправильного чтения или написания нежелательных слов, кодировка исключает гласные и символы, которые можно легко спутать друг с другом. В следующей таблице показано сопоставление.
Базовая 20 цифра | 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 ° N и 103 ° и 104 ° E. Это добавляет 11 ° и 3 ° к юго-западному углу. Таким образом, добавленные коды координат base-20 - это "H" и "5". Результат дополняется до 6PH50000 +.
После четырех дополнительных уточнений один из них попадает в парк Мерлион как 6PH57VP3 + PR.
. Следующий шаг требует, чтобы мы разделили квадрат, использованный до сих пор, чтобы уточнить позицию на сетка 4 на 5 и поиск ячейки, на которую указывают координаты. Это ячейка с именем «6». Таким образом, в результате получается открытый код местоположения: 6PH57VP3 + PR6.
При использовании кода вместе с Google Maps или сайтом Google Plus.codes это обычное дело., чтобы опустить первые 4 символа из кода и добавить примерное местоположение, например город, штат или страну. Таким образом, приведенный выше пример становится 7VP3 + PR6 Singapore. Необходимо позаботиться о том, чтобы имя данного местоположения было достаточно маленьким, чтобы определить уникальное место. Картографические приложения могут использовать местоположение устройства для устранения неоднозначности сокращенных кодов.