Яндекс / OSM / Геосервисы

Получение информации с картографических ресурсов: Yandex Maps (при условии покупки ключа доступа Заказчиком) и Open Street Maps, а также использование внутренних изолированных геоинформационных сервисов (картография, прямое/обратное геокодирование, маршрутизация).

Geoservisy_675b62ae8c

Возможность использование тайловых слоев (формат XYZ, код проекции: EPSG: 3857) в качестве подложки карты.

Стек сервиса предоставления картографической подложки основан на свободно распространяемых библиотеках основными компонентами которого являются:

  • postgresql - СУБД с расширениями (postgis) для обработки ГИС данных;

  • mapnik - набор библиотек для рендеринга тайлов;

  • renderd - cервер рендеринга заданных областей карт;

  • mod-tile - веб-сервер Apache с модулем расширения для работы с тайлами;

  • вспомогательные утилиты - загрузчики, генераторы стилевых файлов и т.д.

Особенности работы сервиса:

  • картографическая информация выгружается и хранится непосредственно в БД Postgres SQL;

  • актуальность картографических данных поддерживается автоматически, двумя режимами работы:

    • инкрементальная загрузка изменений карт из общедоступных источников векторных данных в формате .pbf ("Protocolbuffer Binary Format");

    • периодической загрузка полной карты с удалением предыдущих данных.

Стек сервера маршрутизации основан на библиотеке маршрутизации и сервере с открытым исходным кодом GraphHopper, написанный на Java и предоставляющий веб-интерфейс под названием GraphHopper Maps, а также API-интерфейс маршрутизации через HTTP(S).

Сервис прямого/обратного геокодирования:

  • предоставляет возможность поиска объектов по названию или по координатам;

  • имеет возможность загружать данные картографии OpenStreetMap;

  • в качестве базы данных используется h2gis (расширение h2database) с возможностью хранения и быстрого поиска объектов с координатами;

  • для поиска по наименованию используется библиотека для высокопроизводительного полнотекстового поиска Lucene.

Прямое геокодирование:

  • поиск городов, трасс, улиц, домов по их наименованиям;

  • независимость от порядка слов;

  • поиск по части слова;
    возможность задать размер поисковой выдачи
    возможность загрузки пользовательских объектов для учета в поисковой выдачи
    приоритет более значимых объектов перед менее значимыми (чем выше приоритет, тем выше позиция объекта в выдаче);

  • влияние координат пользователя на приоритет (объекты в определенном радиусе от пользователя имеют повышенный приоритет);

  • возможность указать на карте область, в которой будет осуществлен приоритетный поиск.

Обратное геокодирование:

  • поиск ближайших объектов по заданным координатам в том числе улиц, если не найден адрес;

  • если координаты поиска указывают на точку вне населенных пунктов, поиск ближайшего населенного пункта в большом радиусе и определение расстояния до него;

  • возможность загрузки пользовательских объектов для учета в определении местоположения;
    пакетная обработка списка координат.

Geoservisy_2_aafd5634f5