Favicon of Openrouteservice

Openrouteservice

Calculate routes, analyze reachability, and optimize logistics with a suite of open-source geo-APIs. Powered by crowd-sourced OpenStreetMap data for global coverage.

Access a collection of powerful geo-services through a single API, built entirely on open-source code and crowd-sourced OpenStreetMap data. This provides a free and flexible solution for developers, researchers, and logistics professionals to integrate sophisticated location-based features into their applications.

The API offers a wide range of functionalities, including:

  • Directions: Generate routes for various profiles like cars, trucks, bikes, and wheelchairs, with options for restrictions and vehicle dimensions.
  • Isochrones: Perform reachability analysis to see how far you can travel within a given time or distance.
  • Time-Distance Matrix: Quickly compute travel times and distances between multiple points, ideal for logistics planning.
  • Geocoding: Convert addresses and place names into geographic coordinates.
  • Optimization: Solve complex vehicle routing problems to find the most efficient multi-stop routes.
  • POIs & Elevation: Find points of interest and enrich your map data with elevation information.

With dedicated SDKs for Python, R, and JavaScript, and interactive map clients for planning, getting started is straightforward. The service also has a strong focus on supporting humanitarian and disaster management efforts with rapid data updates in critical regions.

Directory Structure

openrouteservice
conf
data
osm_file.pbf
elevation_cache
graphs
logs
ors
tomcat
.env
docker-compose.yml

docker-compose.yml

services:
  ors-app:
    container_name: ors-app
    image: heigit/openrouteservice:latest
    ports:
      - "8080:8080"
      - "9001:9001"
    environment:
      - BUILD_GRAPHS=True
      - "JAVA_OPTS=-Djava.awt.headless=true -server -XX:TargetSurvivorRatio=75 -XX:SurvivorRatio=64 -XX:MaxTenuringThreshold=3 -XX:+UseG1GC -XX:+ScavengeBeforeFullGC -XX:ParallelGCThreads=4 -Xms${JAVA_XMS} -Xmx${JAVA_XMX}"
      - "CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.rmi.port=9001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost"
    volumes:
      - ./graphs:/home/ors/ors-core/data/graphs
      - ./elevation_cache:/home/ors/ors-core/data/elevation_cache
      - ./logs/ors:/home/ors/ors-core/logs/ors
      - ./logs/tomcat:/home/ors/tomcat/logs
      - ./conf:/home/ors/ors-conf
      - ./data/osm_file.pbf:/home/ors/ors-core/data/osm_file.pbf

.env

# Memory allocation for the Java Virtual Machine.
# Adjust these values based on the size of your OSM PBF file.
# For a small region, 1g/2g is sufficient. For larger regions or the entire planet, you will need significantly more RAM.
JAVA_XMS=1g
JAVA_XMX=2g
Categories:

Share:

Ad
Favicon

 

  
 

Similar to Openrouteservice

Favicon

 

  
  
Favicon

 

  
  
Favicon