Способ и устройство для идентификации и сообщения местоположений

Иллюстрации

Показать все

Группа изобретений относится к идентификатору местоположения. Технический результат – обеспечение возможности идентификации сообщения местоположений удобным для восприятия пользователя образом. Для этого предусмотрено: получение географических координат местоположения; преобразование географических координат в одно уникальное значение n; преобразование одного уникального значения n в уникальную группу из множества значений; преобразование множества значений в равное множество соответствующих слов; и предоставление множества слов в качестве идентификатора местоположения, и способ идентификации местоположения, включающий: получение идентификатора местоположения для местоположения; при этом идентификатор местоположения содержит множество слов; преобразование множества слов в уникальную группу из равного множества соответствующих значений; преобразование уникальной группу из множества значений в одно уникальное значение n; преобразование одного уникального значения n в географические координаты; и вывод географических координат. 4 н. и 22 з.п. ф-лы, 5 ил., 3 табл.

Реферат

Настоящее изобретение относится в целом к способу и устройству для идентификации и сообщения местоположений и, в частности, к способу и устройству для идентификации и сообщения местоположений удобным для восприятия образом.

Предпосылки изобретения

В последние годы в обиход вошли спутниковые локационные системы, которые способны определить местоположение устройства, включающего локационную систему, с очень высокой точностью. Будучи также включенными в специализированные навигационные устройства, данные спутниковые локационные системы обычно включены в смартфоны и подобные вычислительные устройства мобильной связи и/или общего назначения.

Использование геометрических числовых координат для идентификации местоположений, таких как координаты по широте и по долготе или координаты по координатной сетке, хорошо известно, и спутниковые локационные системы в целом идентифицируют местоположения с использованием данных числовых координат. Например, система GPS идентифицирует местоположения с использованием координат GPS, которые обычно представлены в качестве координат по широте и по долготе высокого разрешения.

Одна практическая проблема, связанная с числовыми координатами для идентификации местоположений, состоит в том, что конечные строки из чисел являются очень неудобными для восприятия пользователем. На практике людям в целом сложно точно запомнить или сообщить другим в устной форме данные строки из чисел.

Также, точный ручной ввод строк из чисел в устройство, например, для того, чтобы сообщить навигационному устройству, куда вы желаете направиться, или, чтобы включить местоположение в сообщение, отправленное другому человеку, может быть относительно медленным и времязатратным.

В некоторых случаях местоположения идентифицируются с использованием других средств, таких как почтовые индексы или названия улиц, возможно наряду с номерами зданий, но проблема данных подходов состоит в том, что они могут быть относительно неточными и в целом закреплены лишь за зданиями. В частности, почтовые индексы в целом закреплены лишь за местоположениями, куда предположительно будет доставляться почта или где она будет забираться. В результате, данные подходы зачастую являются полезными лишь в городских местностях, где высокая плотность закрепленных подходящих индексов, названий и номеров. Также, почтовые индексы не обязательно являются более легкими для запоминания и сообщения в устной форме, чем числовые координаты. Также, различные страны или регионы используют различные системы для идентификации адресов и многие из данных адресных систем являются относительно простыми и имеют ограниченное значение для идентификации или сообщения конкретных местоположений.

Предпочтительно, настоящие способ и устройство решают данную проблему.

Общее описание

В первом аспекте изобретение предоставляет машинно-реализованный способ создания идентификатора местоположения, включающий: получение процессором географических координат местоположения; выполнение указанным процессором следующих этапов:

преобразования географических координат в одно уникальное значение n;

преобразования одного уникального значения n в уникальную группу из множества значений; и

преобразования множества значений в равное множество соответствующих слов; и

предоставления множества слов в качестве идентификатора местоположения.

Предпочтительно, способ дополнительно включает определение массива ячеек по всей географической области; и включает выполнение указанным процессором, выполняющим этап преобразования географических координат в одно уникальное значение n, следующих этапов: преобразования географических координат в значение идентификации ячейки, идентифицирующее ячейку, содержащую местоположение, и значение положения ячейки, идентифицирующее положение местоположения внутри ячейки; и преобразования значения идентификации ячейки и значения положения ячейки в одно уникальное значение n.

Предпочтительно, географические координаты являются координатами по широте и по долготе.

Предпочтительно, множество слов находится в определенной последовательности.

Предпочтительно, значение идентификации ячейки является парой целых чисел X, Y и значение положения ячейки является парой целых чисел x, y.

Предпочтительно, значение n и множество значений являются целыми числами.

Предпочтительно, координаты по широте и по долготе преобразуются в значение идентификации ячейки и значение положения ячейки с использованием уравнений:

X = floor((Долгота + 180) * 24)

Y = floor((Широта + 90) * 24)

x = floor(W(Y) * frac((Долгота + 180) * 24))

y = floor(1546 * frac((Широта + 90) * 24))

где W(Y) = max(1, floor(1546 * cos((Y + 0,5)/24 - 90))).

Предпочтительно, значение идентификации ячейки и значения X, Y, x и y положения ячейки преобразуются в одно уникальное значение n посредством присваивания каждой ячейке, идентифицированной значением X, Y идентификации ячейки, уникального диапазона значений n, имеющего минимальное значение q, а затем получения n с использованием уравнения:

n = q + 1546*x + y.

Предпочтительно, одно уникальное значение n преобразуют в уникальную группу из трех значений i, j, k, при этом три значения i, j и k преобразуют в три соответствующих слова; и три слова предоставляют в качестве идентификатора местоположения.

Предпочтительно, преобразование одного уникального значения n в уникальную группу из трех значений i, j, k содержит: преобразование одного уникального значения n в одно уникальное целочисловое значение m посредством деления возможных значений n на блоки значений, и перемешивание значений n в блоке значений для получения m.

Предпочтительно, преобразование одного уникального значения n в уникальную группу из трех значений i, j, k дополнительно содержит преобразование одного уникального значения m в уникальную группу из трех значений i, j, k посредством:

определения l = floor (cuberoot(m)); затем

в случае, если l3 ≤ m < l3 + l2 + 2l +1, тогда

i = l, j = r div (l + 1) и k = r mod (l + 1), где r = m - l3; или

в случае, если l3 + l2 + 2l + 1 ≤ m < l3 + 2l2 + 3l + 1, тогда

i = r div (l + 1), j = l и k = r mod (l + 1), где r = m - (l3 + l2 + 2l +1); или

в случае, если l3 + 2l2 + 3l + 1 ≤ m < l3 + 3l2 + 3l + 1, тогда

i = r div l, j = r mod l, k = l, где r = m - (l3 + 2l2 + 3l + 1).

Предпочтительно, уникальная группа из трех значений i, j, k преобразуется в три соответствующих слова посредством сравнивания каждого значения с упорядоченным списком слов и преобразования каждого значения в слово в положении значения в упорядоченном списке.

Во втором аспекте изобретение предоставляет устройство, предусмотренное для создания идентификатора местоположения посредством выполнения способа первого аспекта.

В третьем аспекте изобретение предоставляет компьютерную программу, создающую идентификатор местоположения, содержащую машиночитаемые команды, которые при исполнении процессором будут вынуждать процессор выполнять этапы способа первого аспекта.

В четвертом аспекте изобретение предоставляет машинно-реализованный способ идентификации местоположения, включающий:

прием процессором идентификатора местоположения для местоположения, при этом идентификатор местоположения содержит множество слов;

указанным процессором, выполняющим следующие этапы:

преобразование множества слов в уникальную группу из равного множества соответствующих значений;

преобразование уникальной группы из множества значений в одно уникальное значение n;

преобразование одного уникального значения n в географические координаты; и

вывод географических координат.

Предпочтительно, способ дополнительно включает определение массива ячеек по всей географической области; и включает выполнение указанным процессором, выполняющим этап преобразования одного уникального значения n в географические координаты, следующих этапов:

преобразования одного уникального значения n в значение идентификации ячейки, идентифицирующее ячейку, содержащую местоположение, и значение положения ячейки, идентифицирующее положение местоположения внутри ячейки; и

преобразования значения идентификации ячейки и значения положения ячейки в географические координаты.

Предпочтительно, географические координаты являются координатами по широте и по долготе.

Предпочтительно, множество слов находится в определенной последовательности.

Предпочтительно, значение идентификации ячейки является парой целых чисел X, Y и значение положения ячейки является парой целых чисел x, y.

Предпочтительно, значение n и множество значений являются целыми числами.

Предпочтительно, значение идентификации ячейки и значение положения ячейки преобразуются в географические координаты с использованием уравнений:

Широта = (Y + ((y + 0,5)/1546))/24 * 90

Долгота = (X +((x+0,5)/(W(Y)))/24-180

где W(Y) = max(1, floor(1546 * cos((Y + 0,5)/24 - 90))).

Предпочтительно, одно уникальное значение n преобразуется в значение идентификации ячейки и значения X, Y, x и y положения ячейки посредством связывания каждой ячейки, идентифицированной значением X, Y идентификации ячейки, с уникальным диапазоном значений n, при этом каждый уникальный диапазон имеет минимальное значение q, и идентификации присвоенного диапазона значений n, в котором находится значение n; затем выбора значения X, Y идентификации ячейки, связанного с идентифицированным присвоенным диапазоном, и определения x и y с использованием уравнений:

x = (n - q) div 1546

y = (n - q) mod 1546.

Предпочтительно, множество слов включают три слова; три слова преобразуются в уникальную группу из трех соответствующих значений i, j и k; и уникальная группа из трех значений i, j, k преобразуется в одно уникальное значение n;

Предпочтительно, преобразование уникального набора из трех значений i, j, k в одно уникальное значение n содержит: преобразование одного уникального целочислового значения m в одно уникальное значение n посредством деления возможных значений m на блоки значений одинакового размера, и перемешивание значений m в блоке значений для получения n.

Предпочтительно, преобразование уникальной группы из трех значений i, j, k в одно уникальное значение n дополнительно содержит преобразование одного уникального значения m в уникальную группу из трех значений i, j, k посредством:

определения l = max(i; j; k); затем

в случае, если i = l, тогда

m = l3 + (l + 1)j + k; или

в случае, если j = l, тогда

m = l3 + l2 + 2l + 1 + (l + 1)i + k; или

в случае, если k = l, тогда

m = l3 + 2l2 + 3l + 1 + li + j.

Предпочтительно, три слова преобразуются в уникальную группу из трех соответствующих значений i, j, k посредством сохранения слов и целочисловых значений в ассоциативном массиве и поиска слова, соответствующего каждому целому числу.

В пятом аспекте изобретение предоставляет устройство, предусмотренное для идентификации местоположения посредством выполнения способа четвертого аспекта.

В шестом аспекте изобретение предоставляет компьютерную программу, идентифицирующую местоположение, содержащую машиночитаемые команды, которые при исполнении процессором будут вынуждать процессор выполнять этапы способа четвертого аспекта.

Изобретение дополнительно предоставляет системы, устройства и изделия производства для реализации любых из вышеупомянутых аспектов изобретения.

Описание графических материалов

Изобретение будет далее подробно описано со ссылкой на следующие фигуры, на которых:

на фиг. 1 показана схема примера системы в соответствии с настоящим изобретением;

на фиг. 2 показана схема примера устройства пользователя, используемого в системе, показанной на фиг. 1;

на фиг. 3 показана блок-схема работы в первом направлении системы, показанной на фиг. 1;

на фиг. 4 показана блок-схема работы во втором направлении системы, показанной на фиг. 1; и

на фиг. 5 показана схема работы сервера системы, показанной на фиг. 1.

Подробное описание

На фиг. 1 проиллюстрирован общий вид примера системы 1 идентификации и сообщения местоположения в соответствии с настоящим изобретением.

Система 1 включает несколько устройств 2 пользователя и центральный сервер 3. Устройства 2 пользователя включает в себя смартфоны 2a и персональные компьютеры (PC) 2b, при этом каждое из устройств 2 пользователя, то есть смартфоны 2a пользователя и PC 2b пользователя, способно устанавливать связь с центральным сервером 3 через сеть Интернет 4. Несмотря на то, что для ясности на фиг. 1 показаны только три смартфона 2a пользователя и один PC 2b пользователя, следует понимать, что на практике система 1 может включать большое количество устройств 2 пользователя, таких как смартфоны 2a пользователя и PC 2b пользователя.

На фиг. 2 более подробно проиллюстрирован пример смартфона 2a пользователя системы 1. Как показано на фиг. 2, смартфон 2a пользователя включает процессор 10 данных, визуальный дисплей 11, интерфейс 12 пользователя, позволяющий вводить команды пользователя в смартфон 2a, динамик 13 и микрофон 14. Различные компоненты смартфона 2a работают под управлением процессора 10. Интерфейс 12 пользователя может быть включен в визуальный дисплей в качестве сенсорного дисплея. В других примерах интерфейс 12 пользователя может являться специально предназначенной клавиатурой, отдельной от визуального дисплея. Смартфоны, содержащие данные компоненты, хорошо известны специалистам в данной области техники, так что отсутствует необходимость в их подробном описании. Следует понимать, что PC 2b пользователя будет иметь подобную функциональность.

Также, смартфон 2a содержит средства 15 определения местоположения, картографический или навигационный модуль 16 и модуль 11 идентификации местоположения. Навигационный модуль 16 и модуль 17 идентификации местоположения выполнены с возможностью приема информации о положении от средств 15 определения местоположения. В проиллюстрированном примере средства 15 определения местоположения являются системой (GPS) глобального позиционирования. В других примерах могут быть использованы различные спутниковые навигационные системы. Навигационный модуль 16 и модуль 17 идентификации местоположения могут содержать специализированное аппаратное обеспечение или могут содержать программные продукты или приложения, работающие на процессоре 10 смартфона 2a. В некоторых примерах PC 2b пользователя может не содержать средств 15 определения местоположения. В некоторых примерах PC 2b пользователя, который не содержит средств определения местоположения, все еще может иметь доступ к информации о местоположении от отдельных средств определения местоположения.

Модуль 17 идентификации местоположения использует информацию о положении, предоставленную средствами 15 определения местоположения, для предоставления пользователю услуг на основе определения местоположения.

Для ясности будет обсуждена работа системы 1 со смартфоном 2a пользователя, содержащим средства 15 определения местоположения.

На фиг. 3 показана блок-схема примера услуги на основе определения местоположения в соответствии с настоящим изобретением. В примере, показанном на фиг. 3, смартфон 2a предоставляет пользователю информацию, идентифицирующую текущее местоположение пользователя, в ответ на запрос пользователя. Пользователю может быть, например, необходима данная информация для того, чтобы пользователь мог сообщить местоположение кому-либо еще. Например, пользователю может быть необходимо информировать кого-либо еще о текущем местоположении пользователя.

Сначала пользователь делает запрос на идентификацию своего текущего местоположения через смартфон 2a с использованием интерфейса 12 пользователя на этапе 20 запроса. В ответ на данный запрос модуль 17 идентификации местоположения получает координаты текущего местоположения смартфона 2a от средств 15 определения местоположения на этапе 21 получения. Данные координаты текущего местоположения предоставляются средствами 15 определения местоположения в качестве координат GPS, которые являются координатами по широте и по долготе до шести десятичных знаков, например, "52,123456, -0,654321". Позиционные координаты легко доступны с такой степенью точности от спутниковых навигационных систем, таких как GPS.

Полученные координаты по широте и по долготе текущего положения смартфона 2a затем отправляются модулем 17 идентификации местоположения на сервер 3 через сеть Интернет 4 с использованием коммуникационной функциональности смартфона 2a на этапе 22 отправки.

Затем сервер 3 преобразует принятые координаты по широте и по долготе в идентификатор местоположения, содержащий уникальную последовательность из трех слов, например, "tablet microphone excited", на этапе 23 преобразования. Данное преобразование выполняется с использованием алгоритма, подробно описанного далее.

Затем сервер 3 возвращает идентификатор местоположения с последовательностью из трех слов на модуль 17 идентификации местоположения смартфона 2a через сеть Интернет 4 на этапе 24 возврата.

Принятый идентификатор местоположения затем отображается пользователю на визуальном дисплее 11 смартфона 2a в качестве текста, содержащего уникальную последовательность из трех слов, на этапе 25 отображения. В качестве альтернативы или дополнения на этапе 25 отображения принятый идентификатор местоположения может быть предоставлен пользователю в речевой форме, содержащей уникальную последовательность из трех слов, через динамик 13. В некоторых примерах, в которых идентификатор местоположения из трех слов предоставляется пользователю в речевой форме, речь может быть сгенерирована смартфоном 2a из текста из идентификатора местоположения из трех слов.

Затем пользователь может использовать идентификатор местоположения, содержащий уникальную последовательность из трех слов, для идентификации своего текущего местоположения. Например, пользователь может запомнить или записать уникальную последовательность из трех слов, так что впоследствии они могут использовать последовательность из трех слов для идентификации своего текущего местоположения. В еще одном примере пользователь может рассказать последовательность из трех слов другому человеку либо в личном разговоре, либо по телефону для того, чтобы сообщить другому человеку местоположение, чтобы они могли идентифицировать местоположение. В еще одном примере пользователь может сообщить местоположение посредством отправки последовательности из трех слов другому человеку в качестве текста, например, с использованием электронной почты или SMS, чтобы другой человек мог идентифицировать местоположение. В еще одном примере пользователь может сообщить местоположение посредством предоставления последовательности из трех слов через социальную сеть, чтобы человек или люди, имеющие доступ к социальной сети, могли идентифицировать местоположение.

В других примерах вместо идентификации текущего местоположения пользователя полученные координаты по широте и по долготе могут являться другим местоположением, например, предложенным местоположением для встречи или визита, или местоположением, которое может заинтересовать пользователя или третью сторону. В данных примерах, поскольку координаты по широте и по долготе не являются текущим местоположением пользователя, они должны быть получены другим образом. Например, координаты по широте и по долготе могут быть получены из картографического приложения на смартфоне пользователя посредством выбора пользователем представляющего интерес местоположения на отображенной карте и предоставления картографическим приложением координат по широте и по долготе выбранного местоположения.

На фиг. 4 показана блок-схема еще одного примера услуги на основе определения местоположения в соответствии с настоящим изобретением. В примере, показанном на фиг. 4, смартфон 2 показывает пользователю местоположение, идентифицированное идентификатором местоположения, содержащим уникальную последовательность из трех слов, известную пользователю. Пользователю может быть, например, необходимо данное местоположение, чтобы они могли добраться до местоположения.

Сначала пользователь делает запрос на отображение местоположения, идентифицированного идентификатором местоположения, содержащим уникальную последовательность из трех слов, через смартфон 2a на этапе 30 запроса.

Затем пользователь вводит идентификатор местоположения с последовательностью из трех слов, например, "bread singing holster", с использованием интерфейса 12 пользователя на этапе 31 ввода. В качестве альтернативы в некоторых примерах запрос и/или ввод может быть выполнен в устной форме с использованием микрофона 14. В данных примерах смартфон 2a должен содержать или иметь доступ к подходящим средствам распознавания речи.

Смартфон 2a передает введенный идентификатор местоположения с последовательностью из трех слов на модуль 17 идентификации местоположения и модуль 17 идентификации местоположения отправляет идентификатор местоположения из трех слов на сервер 3 через сеть Интернет 4 с использованием коммуникационной функциональности смартфона 2 на этапе 32 отправки.

Затем сервер 3 преобразует принятый идентификатор местоположения с уникальной последовательностью из трех слов в координаты по широте и по долготе до шести десятичных знаков, например, "73,354721, 23,879527", на этапе 33 преобразования. Данное преобразование выполняется с использованием алгоритма, подробно описанного далее.

Затем сервер 3 возвращает данные координаты по широте и по долготе на модуль 17 идентификации местоположения смартфона 2 через сеть Интернет 4 на этапе 34 возврата.

Затем модуль 17 идентификации местоположения передает принятые координаты по широте и по долготе на средства 15 определения местоположения, а затем средства 15 определения местоположения отображают пользователю определенное местоположение на визуальном дисплее 11 смартфона 2a на этапе 35 отображения. Например, средства 15 определения местоположения могут отобразить карту на визуальном дисплее 11, включающую или сфокусированную на определенном местоположении, и указать определенное местоположение в качестве отметки или курсора на карте. В качестве альтернативы или дополнения на этапе 35 отображения средства 15 определения местоположения могут отобразить направления на визуальном дисплее 11 для направления пользователя до определенного местоположения. В некоторых примерах, в которых осуществляется направление пользователя до определенного местоположения, направления могут быть заданы в речевой форме через динамик смартфона 2a.

В проиллюстрированном примере система 1 включает в себя устройства 2 пользователя в виде смартфонов 2a и персональных компьютеров (PC) 2b пользователя. В других примерах система 1 может в качестве дополнения или альтернативы включать в себя устройства 2 пользователя в виде других типов вычислительных устройств, например, портативных и планшетных компьютеров. Данный список примеров не подразумевается в качестве исключительного.

В проиллюстрированном примере некоторые из устройств пользователя являются смартфонами 2a пользователя, содержащими средства определения местоположения. Необязательно, чтобы все устройства пользователя содержали средства определения местоположения. В других примерах некоторые или все устройства 2 пользователя могут быть выполнены с возможностью установки связи с отдельными средствами определения местоположения. В других примерах некоторые или все устройства 2 пользователя могут не иметь доступа к средствам определения местоположения. Некоторая функциональность системы может быть недоступна посредством устройства 2 пользователя, не имеющего доступа к средствам определения положения, например, идентификация текущего местоположения пользователя, однако система все еще может быть использована посредством устройства 2 пользователя для предоставления других услуг, например, идентификации предложенного местоположения для встречи или отображения местоположения, идентифицированного идентификатором местоположения.

В проиллюстрированном примере устройства пользователя являются смартфонами 2a пользователя, содержащими картографический или навигационный модуль. Необязательно, чтобы устройства пользователя содержали картографический или навигационный модуль.

В некоторых примерах система 1 может включать вебсайт, доступ к которому может быть получен посредством вычислительных устройств пользователя. В некоторых примерах вебсайт может быть размещен на сервере 1. В некоторых примерах вебсайт может быть размещен на отдельном сервере. В данных примерах вебсайт может предоставлять картографические и/или навигационные функции имеющим доступ вычислительным устройствам пользователя.

Как обсуждено выше, в соответствии с настоящим изобретением местоположения идентифицируются с использованием уникальных идентификаторов местоположения или названий, состоящих из слов вместо числовых координат, при этом каждый идентификатор местоположения состоит из трех слов в конкретной последовательности, и способ и устройство изобретения выполняют преобразование географических координат в уникальные идентификаторы местоположения из трех слов и выполняют преобразование уникальных идентификаторов местоположения из трех слов в географические координаты. Данные идентификаторы местоположения, состоящие из последовательности из трех слов, пользователям в целом легче запомнить и сообщить в письменном сообщении и в устной форме, чем строки из чисел, составляющие географические координаты. Например, с использованием первого примера, упомянутого выше, большинству людей легче запомнить, записать, прочитать, сказать и понять в речевой форме фразу "tablet microphone excited", чем последовательность чисел "52,123456, -0,654321". Это также относится к другим видам кодирования географического положения, которые используют последовательности из букв и чисел для идентификации географических координат, большинству людей легче запомнить, записать, прочитать, сказать и понять в речевой форме фразу "tablet microphone excited", чем случайную последовательность из букв и чисел, такую как "t6D3we1".

Принцип работы изобретения может быть пояснен следующим образом. Посредством использования координат GPS в виде координат по широте и по долготе, определенных до шести десятичных знаков, каждое местоположение на поверхности земли может быть уникально идентифицировано в качестве находящегося в конкретном квадрате или области приблизительно 3 метра на 3 метра. Определение местоположений до данной степени разрешения приблизительно 3м на 3м является достаточно точным для большинства целей.

Для охвата всей поверхности земли общее количество различных квадратов, которые должны быть уникально идентифицированы, составляет приблизительно 5,7 * 1013 или 57 миллионов миллионов. Если каждое уникальное название состоит из трех действительных слов в конкретной последовательности, определяющей их, количество уникальных названий потребует приблизительно 38 500 действительных слов, которые легко доступны в большинстве языков, таких как английский.

В альтернативном примере, если учитываются и присваиваются идентификаторы местоположения только данным квадратам приблизительно 3м на 3м, расположенным на земле, а в целом ненаселенные области вокруг северного и южного полюсов исключаются, общее количество различных квадратов, которые должны быть уникально идентифицированы, составляет приблизительно 2,7 * 1013 или 27 миллионов миллионов. Если каждое уникальное название состоит из трех действительных слов в конкретной последовательности, определяющей их, количество уникальных названий потребует приблизительно 25 000 действительных слов, которые легко доступны в большинстве языков, таких как английский.

Предпочтительно, чтобы слова, используемые для образования последовательностей из трех слов, являлись действительными словами. Это может упростить запоминание, произношение, запись и идентификацию слов пользователями.

Как пояснено выше, в настоящем изобретении алгоритм используется для преобразования координат по широте и по долготе в идентификаторы местоположения с последовательностью из трех слов, и наоборот.

В принципе, возможным является генерирование базы данных, содержащей все сочетания слов, соответствующие каждому местоположению, которое может быть определено с использованием уникальной координаты по широте и по долготе с шестью десятичными знаками, и выполнение преобразования с использованием координаты или последовательности из трех слов для поиска соответствующей последовательности из трех слов или координаты, соответственно. Однако для данного грубого подхода потребуется база данных с размером во множество сотен терабайт и на практике ей будет сложно управлять. На практике будет сложно или невозможно осуществить поиск в такой базе данных в течение любого возможного времени для выполнения необходимых преобразований. Соответственно, в настоящем изобретении используется алгоритм для выполнения преобразований.

Общая структура примера алгоритма преобразования в соответствии с настоящим изобретением показана на фиг. 5. Алгоритм 40 в целом является обратимым и каждый из этапов, составляющих алгоритм, также является обратимым. Соответственно, один и тот же алгоритм 40 может быть использован для преобразования координат по широте и по долготе в идентификаторы местоположения с последовательностью из трех слов и для преобразования идентификаторов местоположения с последовательностью из трех слов в координаты по широте и по долготе.

Этап 51 преобразования значений ячейки и положения преобразует координаты по широте и по долготе в четыре целочисловых значения X, Y, x, y ячейки и положения, и наоборот.

Этап 52 степени привлекательности преобразует четыре целочисловых значения X, Y, x, y ячейки и положения в одно целочисловое значение n, и наоборот.

Этап 53 перемешивания и неперемешивания преобразует целое число n в отличное от него целое число m, и наоборот.

Этап 54 разделения и объединения преобразует целое число m в три целых числа i, j, k, и наоборот.

Этап 55 преобразования слова преобразует каждое из целых числа i, j, k в слово, и наоборот.

Алгоритм преобразует координаты по широте и по долготе в идентификаторы местоположения с последовательностью из трех слов посредством выполнения каждого из этапов в первом прямом направлении в последовательности 51-52-53-54-55. Алгоритм преобразовывает идентификаторы местоположения с последовательностью из трех слов в координаты по широте и по долготе посредством выполнения каждого из этапов во втором обратном направлении в последовательности 55-54-53-52-51.

Различные этапы 51 - 55 алгоритма будут более подробно описаны далее. Они описаны в порядке, в котором они выполняются для преобразования координат по широте и по долготе в идентификатор местоположения с последовательностью из трех слов.

Этап 51 преобразования ячейки преобразует координаты по широте и по долготе с шестью десятичными знаками, такие как координаты GPS, в четыре целочисловых значения X, Y, x, y ячейки и положения, и наоборот. Настоящее изобретение делит поверхность всего мира на массив или сетку с приблизительно 3,7*107, то есть приблизительно 37 миллионами, ячеек. На экваторе данные ячейки являются квадратами со стороной размером 4,64 км, то есть приблизительно 5 км. Вследствие приблизительно сферической формы земли размер и форма данных ячеек будут изменяться, при этом ячейки имеют приблизительно постоянную ширину в направлении север-юг и изменяются в ширину в направлении восток-запад, размер ячеек в направлении восток-запад в целом меньше в местоположениях дальше от экватора. Однако, поскольку координаты, как по широте, так и по долготе ячейки определены в угловых единицах, это не влияет на точность преобразования.

Пара целочисловых значений X и Y ячейки идентифицирует, в какой ячейке находится местоположение, тогда как пара целочисловых значений x и y положения указывает, где внутри данной ячейки находится местоположение. В частности, пара целочисловых значений x и y положения идентифицирует конкретный квадрат 3м на 3м внутри ячейки, идентифицированной парой целочисловых значений X и Y ячейки. Таким образом, пара целочисловых значений X и Y ячейки является координатой, определенной относительно сетки с ячейками, тогда как пара целочисловых значений x и y положения является координатой внутри ячейки. Соответственно, четыре целочисловых значения X, Y, x, y называются значениями ячейки и положения. Ячейкам присвоен отличный диапазон значений x, y положения на основе площади ячейки, так что ячейкам с большой площадью присвоено большее количество значений x, y положения. Таким образом, также по этой причине размер в направлении восток-запад ячеек, которые в целом меньше в местоположениях дальше от экватора, не влияет на точность преобразования. В результате, ячейки с большей площадью содержат большее количество идентифицируемых местоположений, так что степень разрешения или размер площади каждого идентифицируемого местоположения является приблизительно постоянным. Ячейкам ближе к экватору будет в целом присвоено большее количество значений x, y положения и идентифицируемых местоположений.

В первом прямом направлении, используемом при преобразовании координат по широте и по долготе в последовательность из трех слов, используются следующие формулы для вычисления значений X, Y, x и y ячейки и положения:

X = floor((Долгота + 180) * 24) (1)
Y = floor((Широта + 90) * 24) (2)

x = floor(W(Y) * frac((Долгота + 180) * 24)) (3)

Где W(Y) = max(1, floor(1546 * cos((Y + 0,5)/24 - 90)))

y = floor(1546 * frac((Широта + 90) * 24)) (4)

Где floor с действительным числом является наибольшим целым числом, меньшим или равным данному действительному числу. Дробная часть действительного числа q равняется q - floor(q); мы записываем ее как frac(q). Более неофициально, floor с действительным числом является частью перед

десятичной запятой и дробная часть является частью после десятичной запятой.

(Так что floor(3,1415) = 3 и frac(3,1415) = 0,1415).

Во втором обратном направлении, используемом при преобразовании последовательностей из трех слов в координаты по широте и по долготе, используются следующие формулы для вычисления значений по широте и по долготе:

Широта = (Y + ((y + 0,5)/1546))/24 - 90 (5)
Долгота = (X +((x+0,5)/(W(Y)))/24-180 (6)

Где снова W(Y) = max(1, floor(1546 * cos((Y + 0,5)/24 - 90))).

Несмотря на то, что данный этап 51 преобразования ячейки является обратимым, он является лишь частично обратимым, а не полностью обратимым. То есть, если исходная координата по широте и по долготе преобразовывается в целочисловое значение ячейки и положения, а затем преобразовывается обратно в конечную координату по широте и по долготе, исходная и конечная координаты по широте и по долготе будут слегка отличаться. Однако на практике разница является небольшой, приблизительно максимум 2,1 м, и не вызывает проблемы в настоящем примере, где степень разрешения идентификации местоположения посредством последовательностей из трех слов составляет приблизительно 3м на 3м. Данная неполная обратимость частично возникает вследствие того, что координаты по широте и по долготе являются действительными числами, тогда как значения ячейки и положения являются целочисловыми.

Эт