Motor de enrutamiento de alto rendimiento en C++ que calcula rutas, matrices de distancias, ajusta trazas GPS al mapa y mucho más sobre datos de OpenStreetMap.
GIScience/openrouteservice
Motor de enrutamiento de código abierto en Java que ofrece servicios de indicaciones, isócronas, matrices y ajuste de coordenadas sobre datos de OpenStreetMap.
Alternativa open source a:Google Maps Platform Directions API
- Estrellas
- 1,989
- Forks
- 489
- Issues abiertos
- 177
- Último commit
- hace 22 horas
¿Qué es?
Openrouteservice es un backend de planificación de rutas escrito en Java. Está basado en una versión bifurcada y modificada de GraphHopper 4.0 y utiliza datos geográficos libres de OpenStreetMap para atender consultas espaciales en varios medios de transporte.
El servicio expone endpoints HTTP para obtener indicaciones entre ubicaciones, isócronas que muestran las áreas a las que se puede llegar en un tiempo o una distancia determinados, matrices de tiempo y distancia de uno a muchos, de muchos a uno y de muchos a muchos, ajustar coordenadas a la red vial y exportar el grafo de enrutamiento base. Al ejecutar una instancia propia, también están disponibles endpoints de salud y estado.
Se distribuye como imagen de Docker e incluye una configuración de docker-compose para iniciar una instancia local con datos de ejemplo de OSM. La documentación explica cómo ejecutar el servicio e incluye la referencia de la API y Swagger UI para realizar pruebas locales.
Funciones clave
- 01Indicaciones para distintos medios de transporte
- 02Isócronas que muestran las áreas accesibles desde ubicaciones determinadas
- 03Matrices de tiempo y distancia de uno a muchos, de muchos a uno y de muchos a muchos
- 04Ajuste de coordenadas a la red vial
- 05Exportación del grafo de enrutamiento base
Casos de uso
- Añadir funciones de enrutamiento y cálculos de tiempo de viaje a una aplicación de mapas web o móvil
- Calcular áreas de servicio o zonas de cobertura mediante isócronas
- Crear herramientas de logística o gestión de flotas que necesiten matrices de distancia y tiempo
- Ejecutar una API de enrutamiento autohospedada basada en datos de OpenStreetMap
Inicio rápido
- 1
Crear directorios de datos
mkdir -p ors-docker/config ors-docker/elevation_cache ors-docker/graphs ors-docker/files ors-docker/logs - 2
Descargar el archivo docker-compose.yml más reciente
wget https://github.com/GIScience/openrouteservice/releases/latest/download/docker-compose.yml - 3
Iniciar openrouteservice en segundo plano
docker compose up -d - 4
Ver los registros del contenedor
docker compose logs
Antes de usarlo
- Está bajo la licencia GPL-3.0, una licencia copyleft que exige publicar las obras derivadas como código abierto bajo los mismos términos.
- La configuración predeterminada solo utiliza un pequeño extracto de prueba de OpenStreetMap de Heidelberg, por lo que tendrás que proporcionar tus propios datos de OSM para otras regiones.
- Ejecutar una instancia propia requiere Docker y encargarse del alojamiento. Los endpoints de health y status no están disponibles en la API pública en producción.
Temas
Preguntas frecuentes
- ¿Qué es openrouteservice?
- Motor de enrutamiento de código abierto en Java que ofrece servicios de indicaciones, isócronas, matrices y ajuste de coordenadas sobre datos de OpenStreetMap. Openrouteservice es un backend de planificación de rutas escrito en Java. Está basado en una versión bifurcada y modificada de GraphHopper 4.0 y utiliza datos geográficos libres de OpenStreetMap para atender consultas espaciales en varios medios de transporte.
- ¿openrouteservice es gratuito? ¿Qué licencia tiene?
- openrouteservice es open source bajo la licencia GPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿openrouteservice sigue mantenido?
- Mantenimiento activo. El último commit de openrouteservice fue el 5 nov 2026.
- ¿Para qué puedo usar openrouteservice?
- Añadir funciones de enrutamiento y cálculos de tiempo de viaje a una aplicación de mapas web o móvil Calcular áreas de servicio o zonas de cobertura mediante isócronas Crear herramientas de logística o gestión de flotas que necesiten matrices de distancia y tiempo Ejecutar una API de enrutamiento autohospedada basada en datos de OpenStreetMap
- ¿Cómo se instala openrouteservice?
- Crear directorios de datos: mkdir -p ors-docker/config ors-docker/elevation_cache ors-docker/graphs ors-docker/files ors-docker/logs Descargar el archivo docker-compose.yml más reciente: wget https://github.com/GIScience/openrouteservice/releases/latest/download/docker-compose.yml Iniciar openrouteservice en segundo plano: docker compose up -d Ver los registros del contenedor: docker compose logs
- ¿Dónde consigo openrouteservice?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/GIScience/openrouteservice
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Motor de rutas de código abierto para OpenStreetMap, disponible como biblioteca Java o servidor web independiente para consultas de rutas, isócronas y map matching.
Servicio de geocodificación de código abierto que busca en los datos de OpenStreetMap por nombre y dirección y ofrece geocodificación inversa.
Genera mundos de Minecraft a partir de lugares reales con datos de OpenStreetMap y elevación del terreno, para Java, Bedrock y Luanti.
Servidor de código abierto para planificar viajes multimodales que combinan transporte público programado, bicicleta, caminatas, bicicletas compartidas y viajes con conductor.
Globo interactivo de código abierto para el navegador que combina vuelos, barcos, satélites, terremotos, tráfico y cámaras públicas en terreno 3D fotorrealista, con control por voz.