Привет всем, кто использует OSM. У каждого из нас свои задачи при работе с картами, однако одним из базовых функционалов конечно является поиск географических объектов, как минимум населенных пунктов, а так же рендеринг карт.

Проблема в том, что значение тега name для узлов, путей и отношений указано на русском языке только для русскоговорящих стран. При этом, тег name:ru указывается только для больших городов и известных мест. В общем поиск объектов на карте Польши, Литвы, Латвии, Эстонии на русском языке затруднен.

В моей программе карты osm экспортируются в MS SQL Server базы, за поиск объектов по названию отвечает wcf сервис. Сразу после экспорта базы обрабатывают собственноручно написанные транскрипторы. Транскрипторы простенькие, написаны на основании соответствующих статей википедии:


Исходники вот.

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

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

Комментарии (1)


  1. freeExec
    07.02.2018 19:06

    А вот wargaming когда локализовали мировую карту боёв на разные языки использовали нейросеть. komzpa.net/conferences (Июнь 2015).
    Или сразу ролик на ютубе. И ссылка на гитхаб с полученным результатом.