Адресация по трём словам

А или тебя смущает то, что нужен словарь?

Если дело в словаре, то как говорит freeExec можно взять 2 первых буквы например + окончание например будет шифровать октет, тогда слова можно будет в фразе переставлять местами.

  1. Ещё у нас есть вот такая штука http://wiki.openstreetmap.org/wiki/Shortlink
    Там модифицированный base64, причем произвольной длины - чем больше букв, тем точнее координаты

  2. 57 триллионов адресов это чуть меньше 46 бит информации.
    Чтобы кодировать 3 словами, нужно ~38500 слов в словаре. ИМХО, вполне реально набрать такой.
    Вот тут 40000 обещают: http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists#Project_Gutenberg

UPD.
Собрал экспериментальный калькулятор в Excel-е. Координаты взял из тайла, привёл к zoom level 23.
Получил адреса вида entertain.autocracy.akela и icelander.hookah.great-great-grandfather
Ладно, думаю, все частые слова около нуля, перемешал. visited.otitis.importune и hanger-on.myopic.policeman :slight_smile:

UPD2.
Взял древний файл ewords.txt, выбрал оттуда слова от 2 до 8 букв (набралось 55900)
Теперь адреса получаются вида fautor.nostrae.affects и sensate.churr.lilied

Похоже, надо делать хороший словарь общеупотребительных слов - не очень длинных, не очень редких и не очень похожих между собой.
Ещё нужен легко обратимый механизм перемешивания бит (чтобы в соседних квадратах все 3 слова были разные), думаю это не очень сложно.

Я кстати думаю, что как система адресации это не нужно. А вот джиперам бы пригодилось. Сейчас если надо найтись в лесу, народ диктует друг-другу координаты. Продиктовать 3-4 слова удобнее и надежнее чем координаты.

Чем плоха адресация по словам.

Близкие точки должны как-то близко звучать. А тут две точки на расстоянии десяти метров друг от друга имеет совершенно разный набор слов.

Можно сделать и так. Упорядочить биты обеих координат по возрастанию, в этом случае при сдвиге на соседний квадрат меняться будет лишь последнее слово (в большинстве случаев). Если словарь упорядочить по алфавиту - слова тоже будут довольно близкие.
Получится как нарезка карты на квадранты - О36 и т.д. Первое слово кодирует глобальный квадрант, второе - внутри него, третье - внутри второго уровня.
Завтра поэкспериментирую.

Поделись результатом)

Обязательно :slight_smile:
Ещё идея - первое слово кодирует глобальный квадрант, а второе и третье - суть координаты “широта”/“долгота” внутри него.

НАТО уже все сделало до вас :smiley:
https://en.wikipedia.org/wiki/Military_grid_reference_system

Буквами не комильфо, надо удобными для произнесения и запоминания словами.

И использовать код Грея, тогда даже при смене номера вида 63 → 64 будет меняться только один бит

Это тоже продумано.
https://ru.wikipedia.org/wiki/%D4%EE%ED%E5%F2%E8%F7%E5%F1%EA%E8%E9_%E0%EB%F4%E0%E2%E8%F2_%C8%CA%C0%CE

Вариант, глобальный квадрант/“широта”/“долгота”

41285 квадрантов, каждый 41285х41285 квадратиков.
Вот тут адрес получается camellia.hydrant.costive
Кафе в 100 метрах - camellia.hydromel.cotenant
Банкомат в 270 метрах - camellia.hypergol.cotula
Магаз в 700 метрах в другую сторону - camellia.huntaway.coplane

Адресуемый 3 словами квадратик - 2.7х2.7м
Размер квадранта camellia около 112x112 км. Западная граница - чуть восточнее Волоколамска, восточная - в Ивантеевке, северная - примерно по Яхроме, южная - примерно по Столбовой. Т.е. вся Москва попадает, может даже в новых границах.
Вход в мавзолей - camellia.offprint.glaziery
Соседние квадранты: на восток cameleer, на запад camellin, на север - cameline, на юг - depilous (тут как раз 63->64).
По-моему вполне нормальная адресация.

Ещё хочу попробовать конвертировать широту и долготу в псевдослова на слоговом или N-граммном генераторе. Надо затолкать в псевдослово 23 бита.

Штука хорошая, но для слов из словаря не очень подходящая. Если изменяется старший бит индекса, то вытаскиваемое из словаря слово меняется полностью. Кроме того нам надо двумерный вариант. Можно использовать Hilbert Curve, как предлагали выше. Там тоже будут резкие переходы, но реже.

Ну так получается для точности 10 метров адрес вида:
Four - Quebec - Foxtrot - Juliet - One - Two - Three - Four - Six - Sever - Eight - Nine
Несколько сложнее чем 3 слова :slight_smile:

Плохо, когда слова похожи. Они должны быть как у военных: чтобы нельзя было перепутать, даже если услышал только треть слова.

Если мы решаем задачу наведения ракеты - да. Если если сообщаем адрес куда ехать, небольшая ошибка обычно мало что меняет.
camellin и cameline для разных квадрантов 100х100 км - плохо, согласен. Может быть квадранты верхнего уровня имеет смысл перемешать рандомно.

Если сравнивать с такими монстрами

то наоборот, проще.

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

Из 2-й статьи в блоге what3words

OverQuantum
Хорошо бы ещё прикрепить график “сколько раз собеседник попросил повторить фразу” ))

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

OverQuantum, последний - шестидесятеричный формат удобнее же для произношения? Если секунды позволяется округлить до целых, конечно. При некоторой тренировке, можно и в уме примерно прикинуть, где это.

Трехметровая погрешность (как в w3w) - это одна десятая секунды. А на графике они сравнивают с lat/lon аж до тысячных. Честное сравнение такое честное :confused: