Вообще было бы интересно придумать алгоритм, который бы по каждой букве уточнял положение, и любая достаточно длинная фраза указывала бы на конкретное место. А проприетарным сервисом мог бы быть подбор слов (фразы) по координате.
Дак Hilbert Curve Geo Hash. Каждый следующий двоичный разряд увеличивает точность координаты. Дальше вопрос как перевести integer в человекозапоминаемый вид.
Адресация по четырем словам:
Считаем хеш, получаем 32бит целое
делим его на 4 октета
каждому из 256 возможных значений октета сопоставляем слово из словаря. Можно поделить не на октеты и для каждой группы разрядов брать словарь побольше/поменьше. Кароче на 1 чашку чая задачка.
Хорошо, таже задача, но без словаря. Каждой букве алфавита должно быть приписано некое значение, которое прямо по фразе (например мама.мыла.раму )позволяет вычислить хэш и следовательно координату.
Причем эти значения букв должны быть такие, чтобы фразы, составленные из слов из словаря естественного языка, покрывали планету более-менее равномерно.
Нужен не словарь, а из букв как-то получать цифры. А затем брутфорсом к нужным цифрам подбирать слова. По аналогии как алфавит написали на клавиатуре телефона.
Если дело в словаре, то как говорит freeExec можно взять 2 первых буквы например + окончание например будет шифровать октет, тогда слова можно будет в фразе переставлять местами.
UPD.
Собрал экспериментальный калькулятор в Excel-е. Координаты взял из тайла, привёл к zoom level 23.
Получил адреса вида entertain.autocracy.akela и icelander.hookah.great-great-grandfather
Ладно, думаю, все частые слова около нуля, перемешал. visited.otitis.importune и hanger-on.myopic.policeman
UPD2.
Взял древний файл ewords.txt, выбрал оттуда слова от 2 до 8 букв (набралось 55900)
Теперь адреса получаются вида fautor.nostrae.affects и sensate.churr.lilied
Похоже, надо делать хороший словарь общеупотребительных слов - не очень длинных, не очень редких и не очень похожих между собой.
Ещё нужен легко обратимый механизм перемешивания бит (чтобы в соседних квадратах все 3 слова были разные), думаю это не очень сложно.
Я кстати думаю, что как система адресации это не нужно. А вот джиперам бы пригодилось. Сейчас если надо найтись в лесу, народ диктует друг-другу координаты. Продиктовать 3-4 слова удобнее и надежнее чем координаты.
Можно сделать и так. Упорядочить биты обеих координат по возрастанию, в этом случае при сдвиге на соседний квадрат меняться будет лишь последнее слово (в большинстве случаев). Если словарь упорядочить по алфавиту - слова тоже будут довольно близкие.
Получится как нарезка карты на квадранты - О36 и т.д. Первое слово кодирует глобальный квадрант, второе - внутри него, третье - внутри второго уровня.
Завтра поэкспериментирую.