Токарев А.В.  

Реализация сервиса геокодирования на основе PostgreSQL и PostGIS

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


To reports list