Транскрипция географических названий в Open Street Map. Латвия, Литва, Польша, Эстония

habr.png

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

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

  • Эстония
  • Польша
  • Литва
  • Латвия


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

© Habrahabr.ru