Токарев А.В.
Построение веб-сервиса геокодирования
В настоящей работе рассматривается реализация сервиса геокодирования. Геокодирование (geocoding) – процесс преобразования адресов пространственных объектов в их географические координаты. Обратный процесс, преобразование точки на карте в читаемый для пользователя адрес, известен как обратное геокодирование. Несмотря на существующие стандарты и решения, есть потребность в создании сервисов геокодирования.
В рамках этой работы предполагается, что доступен следующий набор реперных данных: объекты с адресной привязкой (районы, города и населенные пункты, улицы, здания) и дорожная сеть. Для определения координат по адресу используется геокодирование по объектам на основе полнотекстового поиска. В алгоритме обратного геокодирования предлагается смешанный подход: в границах населенных пунктов выполняется поиск рядом стоящих зданий, а за пределами населенных пунктов адрес определяется на основе ближайших населенных пунктов вдоль дорожной сети.
Веб-сервис геокодирования реализован на основе REST подхода, запрос передается в виде GET параметров, результат формируется в виде XML документа. Для хранения данных использована СУБД PostgreSQL 8.x с модулями PostGIS и pgRouting. Основным программным языком для разработки выбран язык сценариев PHP 5.x. Созданное программное обеспечение построено на основе свободно распространяемых технологий и программных компонентов.
Можно выделить следующие преимущества реализованного сервиса:
- использование «своих» пространственных данных;
- поддержка различных проекций;
- настраиваемая детализация выдаваемых данных;
- поддержка пакетного геокодирования.
Разработанный сервис проходит тестовую эксплуатацию в нескольких проектах, в том числе – в системе спутникового мониторинга транспорта «Регнасс» (http://www.torins.ru/regnass/).
К списку докладов