26-29 октября 2010 года, Красноярск

Токарев А.В.  

Построение веб-сервиса геокодирования

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

  • использование «своих» пространственных данных;
  • поддержка различных проекций;
  • настраиваемая детализация выдаваемых данных;
  • поддержка пакетного геокодирования.

Разработанный сервис проходит тестовую эксплуатацию в нескольких проектах, в том числе – в системе спутникового мониторинга транспорта «Регнасс» (http://www.torins.ru/regnass/).


К списку докладов