Яндекс / 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