Mecanismo de roteamento em C++ de alto desempenho que calcula rotas, tabelas de distância, correspondência de GPS com mapas e muito mais usando dados do OpenStreetMap.
GIScience/openrouteservice
Motor de roteamento open source em Java que oferece serviços de direções, isócronas, matrizes e ajuste de coordenadas à malha viária usando dados do OpenStreetMap.
Alternativa open source a:Google Maps Platform Directions API
- Estrelas
- 1,990
- Forks
- 488
- Issues abertas
- 177
- Último commit
- ontem
O que é?
O openrouteservice é um backend de planejamento de rotas escrito em Java. Ele se baseia em uma versão derivada e modificada do GraphHopper 4.0 e usa dados geográficos livres do OpenStreetMap para atender a consultas espaciais em diferentes meios de transporte.
O serviço disponibiliza endpoints HTTP para obter direções entre locais, isócronas que mostram áreas alcançáveis em determinado tempo ou distância, matrizes de tempo e distância de um para muitos, de muitos para um e de muitos para muitos, ajuste de coordenadas à malha viária e exportação do grafo de roteamento base. Também há endpoints de saúde e status para quando você executa sua própria instância.
O serviço é distribuído como uma imagem Docker, e há uma configuração docker-compose para iniciar uma instância local com dados OSM de exemplo. A documentação aborda como executar o serviço, a referência da API e a Swagger UI para testes locais.
Recursos principais
- 01Direções para diferentes meios de transporte
- 02Isócronas que mostram áreas alcançáveis a partir de locais informados
- 03Matrizes de tempo e distância de um para muitos, de muitos para um e de muitos para muitos
- 04Ajuste de coordenadas à malha viária
- 05Exportação do grafo de roteamento base
Casos de uso
- Adicionar cálculos de rotas e tempos de viagem a um aplicativo de mapas para web ou dispositivos móveis
- Calcular áreas de atendimento ou cobertura usando isócronas
- Criar ferramentas de logística ou gestão de frotas que precisam de matrizes de distância e tempo
- Executar uma API de roteamento própria com dados do OpenStreetMap
Início rápido
- 1
Criar diretórios de dados
mkdir -p ors-docker/config ors-docker/elevation_cache ors-docker/graphs ors-docker/files ors-docker/logs - 2
Baixar o docker-compose.yml mais recente
wget https://github.com/GIScience/openrouteservice/releases/latest/download/docker-compose.yml - 3
Iniciar o openrouteservice em segundo plano
docker compose up -d - 4
Ver os logs do contêiner
docker compose logs
Antes de usar
- Licenciado sob a GPL-3.0, uma licença copyleft que exige que obras derivadas sejam disponibilizadas como código aberto nos mesmos termos.
- A configuração padrão usa apenas um pequeno recorte de teste do OpenStreetMap de Heidelberg; portanto, você precisa fornecer seus próprios dados do OSM para outras regiões.
- Executar sua própria instância exige Docker e o trabalho de hospedagem própria. Os endpoints health e status não fazem parte da API pública em produção.
Tópicos
Perguntas frequentes
- O que é openrouteservice?
- Motor de roteamento open source em Java que oferece serviços de direções, isócronas, matrizes e ajuste de coordenadas à malha viária usando dados do OpenStreetMap. O openrouteservice é um backend de planejamento de rotas escrito em Java. Ele se baseia em uma versão derivada e modificada do GraphHopper 4.0 e usa dados geográficos livres do OpenStreetMap para atender a consultas espaciais em diferentes meios de transporte.
- openrouteservice é gratuito? Qual é a licença?
- openrouteservice é open source sob a licença GPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- openrouteservice ainda é mantido?
- Manutenção ativa. O último commit de openrouteservice foi em 6 de nov. de 2026.
- Para que posso usar openrouteservice?
- Adicionar cálculos de rotas e tempos de viagem a um aplicativo de mapas para web ou dispositivos móveis Calcular áreas de atendimento ou cobertura usando isócronas Criar ferramentas de logística ou gestão de frotas que precisam de matrizes de distância e tempo Executar uma API de roteamento própria com dados do OpenStreetMap
- Como instalar openrouteservice?
- Criar diretórios de dados: mkdir -p ors-docker/config ors-docker/elevation_cache ors-docker/graphs ors-docker/files ors-docker/logs Baixar o docker-compose.yml mais recente: wget https://github.com/GIScience/openrouteservice/releases/latest/download/docker-compose.yml Iniciar o openrouteservice em segundo plano: docker compose up -d Ver os logs do contêiner: docker compose logs
- Onde consigo openrouteservice?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/GIScience/openrouteservice
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Mecanismo de roteamento open source para OpenStreetMap, disponível como biblioteca Java ou servidor web independente para consultas de rotas, isócronas e map matching.
Serviço de geocodificação open source que pesquisa dados do OpenStreetMap por nome e endereço e faz geocodificação reversa.
Gera mundos de Minecraft com base em locais reais, usando dados do OpenStreetMap e elevação do terreno, para Java, Bedrock e Luanti.
Servidor de planejamento de viagens multimodais open source para transporte público com horários, combinado com bicicleta, caminhada, bicicletas compartilhadas e transporte por aplicativo.
Um globo interativo de código aberto no navegador, com voos, navios, satélites, terremotos, trânsito e câmeras públicas em terreno 3D fotorrealista, além de controle por voz.