Nominatim поиск станций метро

Помогите решить проблему. Пользуюсь Nominatim для поиска адресов на своём сайте. При попытке найти станцию метро начинаются проблемы. В названиях станций нет ключевого слова “метро” и поэтому чтобы найти станцию нужно писать только название без “Метро” т.е. если вбить “Автово” поиск выдаст правильный результат, а если “Метро Автово” только остановки наземного транспорта.

Хотел добавить ключевое слово “метро” в название станций, но мои правки откатили… чё делать и как с этим жить?))) посетители сайта естественно используют ключ “метро”

Неужели нельзя добавить ключевое слово “метро” в название…

Нельзя, потому что название - это только название, без слов типов.

Вам же на своей стороне нужно вырезать “Метро” и заменить его на уточнения для номинатима “railway=station”

https://nominatim.openstreetmap.org/ui/search.html?q=railway%3Dstation+кунцевская

Каждый раз заменять “Метро” на “railway=station” тоже не вариант, т.к. пользователь может искать автобусную остановку с одноимённым названием. Т.е. по исходным правилам, чтобы найти остановку метро нужно искать “Кунцевская”, а чтобы найти автобусную остановку “Метро Кунцевская”
Остаётся только править дампы на своей стороне…

https://wiki.openstreetmap.org/wiki/RU:Названия

что мешает изменять введенные пользователем имя перед посылкой в поисковую машину ??

Не совсем удобно для пользователя, к примеру он ищет “Метро Дыбенко” мы можем убрать из запроса слово “метро” но тогда в результатах поиска огромное количество записей “Улица Дыбенко” и среди них где-то в серединке есть результат “Дыбенко” что относится к метро и есть несколько результатов “Станция метро Дыбенко” что относится к остановкам наземного транспорта, юзабилити зашкаливает))) А учитывая что это портал общественного транспорта Санкт-Петербурга, пользователи разных возрастов, не каждый сможет разобраться сразу…

Правильно ли я понимаю, что вики мне советует использовать loc_name или alt_name?))

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

1 Like

Из текста пользователя удаляется “метро” как слово-категория, а в запрос поисковой машине добавляется ограничение поиска только по пои с тегом " railway=subway_entrance" и подобное - пользователь получает выходы из метро.
Просто надо чутка поднятся выше “только текстового поиска”

Неправильно :slight_smile: это альтернативные именования объектов.
А не костыли под ваше личное мнение о именах.

Направление мысли правильное, но не до конца) Тогда в результат поиска не попадают остановки наземного транспорта с названием “Станция метро такая-то”
Вопрос был, можно ли как-то добавить инфу в ОСМ, для того чтобы не ковырять сервис поиска, уже объяснили что нет.
Буду поисковик учить искать правильно, чтобы смотрел на теги

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

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

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

Для решения вашей задачи принципиально не получится использовать только тег name. Чтобы различать объекты по типам, необходимо смотреть и на другие теги. Например, о том, что данный объект является станцией метро, сигнализирует комбинация тегов railway=station + station=subway. Просто railway=station без station=… означает железнодорожную станцию, railway=halt - железнодорожный остановочный пункт (который часто называют “платформа N-ая”), а highway=bus_stop - остановку автобуса и/или троллейбуса.