Высокопроизводительный маршрутизатор на C++, который строит маршруты, таблицы расстояний, сопоставляет GPS-треки с картой и решает другие задачи на данных OpenStreetMap.
GIScience/openrouteservice
Открытый движок маршрутизации на Java: маршруты, изохроны, матрицы и привязка к дорогам на основе данных OpenStreetMap.
Open source альтернатива:Google Maps Platform Directions API
- Звёзды
- 1,990
- Форки
- 488
- Открытые issues
- 177
- Последний коммит
- вчера
Что это?
Openrouteservice — это backend для планирования маршрутов, написанный на Java. Он основан на изменённой форкнутой версии GraphHopper 4.0 и использует открытые географические данные OpenStreetMap для обработки пространственных запросов для разных видов транспорта.
Сервис предоставляет HTTP-эндпоинты для построения маршрутов между точками, создания изохрон — областей, доступных за заданное время или расстояние, расчёта матриц времени и расстояния «один ко многим», «многие к одному» и «многие ко многим», привязки координат к дорожной сети и экспорта базового графа маршрутизации. При запуске собственного экземпляра доступны эндпоинты проверки работоспособности и статуса.
Сервис распространяется в виде Docker-образа. Для запуска локального экземпляра с примером данных OSM предоставлена конфигурация docker-compose. Документация описывает запуск сервиса, API и Swagger UI для локального тестирования.
Ключевые возможности
- 01Построение маршрутов для разных видов транспорта
- 02Изохроны, показывающие области, доступные из заданных точек
- 03Матрицы времени и расстояния «один ко многим», «многие к одному» и «многие ко многим»
- 04Привязка координат к дорожной сети
- 05Экспорт базового графа маршрутизации
Сценарии использования
- Добавление построения маршрутов и расчёта времени в пути в веб- или мобильное картографическое приложение
- Расчёт зон обслуживания или охвата с помощью изохрон
- Создание инструментов для логистики или управления автопарком, которым нужны матрицы расстояний и времени
- Запуск собственного API маршрутизации на данных OpenStreetMap
Быстрый старт
- 1
Создать каталоги для данных
mkdir -p ors-docker/config ors-docker/elevation_cache ors-docker/graphs ors-docker/files ors-docker/logs - 2
Скачать последнюю версию docker-compose.yml
wget https://github.com/GIScience/openrouteservice/releases/latest/download/docker-compose.yml - 3
Запустить openrouteservice в фоновом режиме
docker compose up -d - 4
Просмотреть журналы контейнера
docker compose logs
Что важно знать
- Распространяется по лицензии GPL-3.0 — лицензии с авторским левом, требующей выпускать производные работы с открытым исходным кодом на тех же условиях.
- В конфигурации по умолчанию используется только небольшой тестовый фрагмент OpenStreetMap для Гейдельберга, поэтому для других регионов необходимо предоставить собственные данные OSM.
- Для запуска собственного экземпляра нужны Docker и усилия по самостоятельному хостингу. Эндпоинты health и status недоступны в публичном рабочем API.
Темы
Частые вопросы
- Что такое openrouteservice?
- Открытый движок маршрутизации на Java: маршруты, изохроны, матрицы и привязка к дорогам на основе данных OpenStreetMap. Openrouteservice — это backend для планирования маршрутов, написанный на Java. Он основан на изменённой форкнутой версии GraphHopper 4.0 и использует открытые географические данные OpenStreetMap для обработки пространственных запросов для разных видов транспорта.
- openrouteservice можно использовать бесплатно? Какая у него лицензия?
- openrouteservice распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- openrouteservice всё ещё поддерживается?
- Активно поддерживается. Последний коммит в openrouteservice — 6 нояб. 2026 г..
- Для чего можно использовать openrouteservice?
- Добавление построения маршрутов и расчёта времени в пути в веб- или мобильное картографическое приложение Расчёт зон обслуживания или охвата с помощью изохрон Создание инструментов для логистики или управления автопарком, которым нужны матрицы расстояний и времени Запуск собственного API маршрутизации на данных OpenStreetMap
- Как установить openrouteservice?
- Создать каталоги для данных: mkdir -p ors-docker/config ors-docker/elevation_cache ors-docker/graphs ors-docker/files ors-docker/logs Скачать последнюю версию docker-compose.yml: wget https://github.com/GIScience/openrouteservice/releases/latest/download/docker-compose.yml Запустить openrouteservice в фоновом режиме: docker compose up -d Просмотреть журналы контейнера: docker compose logs
- Где скачать openrouteservice?
- Исходный код и инструкции по установке — на GitHub: https://github.com/GIScience/openrouteservice
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Маршрутизатор с открытым исходным кодом для OpenStreetMap: доступен как Java-библиотека и отдельный веб-сервер для запросов маршрутизации, изохрон и map matching.
Открытый сервис геокодирования: ищет по имени и адресу в данных OpenStreetMap, а также выполняет обратное геокодирование.
Создаёт миры Minecraft по реальным местам на основе данных OpenStreetMap и высот рельефа для Java, Bedrock и Luanti.
Сервер с открытым исходным кодом для мультимодального планирования поездок на общественном транспорте, велосипеде, пешком, с велопрокатом и вызовом автомобиля.
Открытый браузерный глобус с фотореалистичным 3D-рельефом, на который нанесены данные о рейсах, судах, спутниках, землетрясениях, пробках и общедоступных камерах; есть голосовое управление.