Поисковик с русским лицом

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

  1. Практически никогда не используются знаки ° ’ ", вместо них набиваются пробелы (так удобнее набирать с клавиатуры);
  2. Разделителем полей широты/долготы являются символы [NSWE], неважно пишутся префиксом или суффиксом - между широтой/долготой обязательно будет один из них.
  3. Парсинг начинается с градусов, далее опционально минуты и секунды. ВСЕ поля трактуются с плавающей запятой; более трех полей - игнорируются.
    В результате возможны вводы значений в любых комбинациях, а именно
DDD.DDDDDDD
DDD MM.MMMM
DDD MM SS.SS

N12.345 E34.56 <- десятичные градусы
N 12.345 E 34.56
12.35 N 34.56 E
N 12 35.67 E 34 56.78 <- градусы и минуты

и т.д.

Защиту от дурака делать не нужно, максимум проверка широта < 90 & долгота <180.

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

chnav, вот это дело, Спасибо. а то только и умеют что требовать непонятно что, а телепатов и специалистов всех областей еще не завезли

В номинатиме недавно сделали поддержку пары десятков форматов координат. https://trac.openstreetmap.org/ticket/4730 - примеры и пул-реквест там по ссылке.

Сложно ли расширить зону поиска на все русскоязычные регионы? Или хотя бы Белоруссию. :roll_eyes:

сейчас переезжаю на новую БД, как перееду можно думать об расширении

Будет просто замечательно, даже шикарно :slight_smile:

Добрый день. Подскажите пожалуйста, ответ всегда в формате json? Хотелось в xml, но добавление к запросу &format=xml не помогает

да, формат xml не поддерживается

Маросейка 4 → должна найтись Маросейка 4/2 в москве

// Люди часто опускают дробь в номере дома, ибо в большинстве случаев эта информация избыточна. Было бы не плохо в данных случаях таки находить то что надо или хотя-бы близкое к тому.

Update: Вот еще странное написание: Москва Ленинградский пр-кт 74а, видимо пр-кт следует добавить к синонимам проспекта…

Согласен, что поисковик должен уметь “предпологать” что хотели найти, пока нет на это времени, может ближе к зиме.

поправил, запустил обновление, в общем несколько суток ждать

А оно поддерживается ещё? Багрепорты сюда слать?

  1. Забиваю на openstreetmap.ru в строку поиска: “краснопутиловская 14”, в подсказках всплывают два варианта, в том числе, дом 14/12 по Краснопутиловской улице СПб. Когда жму “Найти”, этого дома в результатах уже нет.
  2. Тыркаю мышью по всплывшим в подсказках вариантам, никакой реакции (браузер Firefox 93.0, блокировщик рекламы отключил).