-
Notifications
You must be signed in to change notification settings - Fork 457
Open
Labels
Description
Is there an existing issue for this?
- I have searched the existing issues
Problem description
Hi everyone,
I’m currently trying to set up OpenRouteService (ORS) with public transport routing using Docker.
The OSM import works fine, but ORS fails when building the transit graph from GTFS data.
I have already tried multiple GTFS datasets.
However, the initialization still fails with the following error: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Error while constructing transit network. Is your GTFS file valid? Please check log for possible causes.
I also tested various GTFS and OSM files directly with GraphHopper, and they worked without issues.
Proposed solution
Import sould work without any exceptions.
Additional context
docker-compose.yml
ors:
container_name: ors
image: openrouteservice/openrouteservice:v9.5.1
user: 0:0
volumes:
- ./var/lib/ors-9.5/:/home/ors
environment:
BUILD_GRAPHS: True
CONTAINER_LOG_LEVEL: DEBUG
XMS: 1g
XMX: 6g
ADDITIONAL_JAVA_OPTS: ""
ors-config.yml
ors:
engine:
profile_default:
elevation: true
build:
source_file: /home/ors/files/osm_file.pbf
profiles:
cycling-regular:
enabled: true
driving-car:
enabled: true
foot-walking:
enabled: true
public-transport:
enabled: true
logging:
file:
name: ./logs/ors.log
pattern:
console: "%d{yyyy-MM-dd HH:mm:ss} %highlight{%-7p} %style{%50t}{Cyan} %style{[ %-40.40c{1.} ]}{Bright Cyan} %m%n"
file: "%d{yyyy-MM-dd HH:mm:ss} %p [%-40.40c{1.}] - %m%n"
level:
root: DEBUG
org.heigit: DEBUG
com.graphhopper: DEBUG
com.graphhopper.gtfs: DEBUG
endpoints:
isochrones:
enabled: true
attribution: openrouteservice.org, OpenStreetMap contributors
maximum_locations: 2
maximum_intervals: 10
allow_compute_area: true
maximum_range_distance_default: 50000
maximum_range_distance:
- profiles: driving-car, driving-hgv
value: 500000
maximum_range_time_default: 18000
maximum_range_time:
- profiles: driving-car, driving-hgv
value: 3600
fastisochrones:
maximum_range_distance_default: 50000
maximum_range_distance:
- profiles: driving-car, driving-hgv
value: 500000
maximum_range_time_default: 18000
maximum_range_time:
- profiles: driving-car, driving-hgv
value: 10800
profiles:
public-transport:
encoder_name: public-transport
build:
encoder_options:
block_fords: false
enable_custom_models: false
elevation: true
gtfs_file: /home/ors/files/google_transit.zip
service:
maximum_visited_nodes: 1000000
ors.log
2025-11-25 12:42:08 DEBUG [o.s.w.s.m.m.a.HttpEntityMethodProcessor ] - Writing ["{"status":"not ready"}"]
2025-11-25 12:42:08 DEBUG [o.s.w.s.DispatcherServlet ] - Completed 503 SERVICE_UNAVAILABLE
2025-11-25 12:42:12 DEBUG [o.s.w.s.DispatcherServlet ] - GET "/ors/v2/health", parameters={}
2025-11-25 12:42:12 DEBUG [s.w.s.m.m.a.RequestMappingHandlerMapping] - Mapped to org.heigit.ors.api.controllers.HealthAPI#fetchHealth()
2025-11-25 12:42:12 DEBUG [o.s.w.s.m.m.a.HttpEntityMethodProcessor ] - Found 'Content-Type:application/json' in response
2025-11-25 12:42:12 DEBUG [o.s.w.s.m.m.a.HttpEntityMethodProcessor ] - Writing ["{"status":"not ready"}"]
2025-11-25 12:42:12 DEBUG [o.s.w.s.DispatcherServlet ] - Completed 503 SERVICE_UNAVAILABLE
2025-11-25 12:42:12 INFO [c.g.r.s.PrepareRoutingSubnetworks ] - foot_recommended - Found 21562 subnetworks (11100 single edges and 10462 components with more than one edge, total nodes: 7254780), took: 4.113425s
2025-11-25 12:42:12 INFO [c.g.r.s.PrepareRoutingSubnetworks ] - foot_recommended - Marked 21560 subnetworks (biggest: 396 edges) -> 2 components(s) remain (smallest: 1362, biggest: 7191644 edges), total marked edges: 25337, took: 0.010589264s
2025-11-25 12:42:12 INFO [c.g.r.s.PrepareRoutingSubnetworks ] - Finished finding and marking subnetworks for 3 jobs, took: 10.697347s, totalMB:6144, usedMB:5489
2025-11-25 12:42:12 INFO [o.h.o.r.g.e.ORSGraphHopper ] - nodes: 2 789 771, edges: 3 627 390
2025-11-25 12:42:13 INFO [o.h.o.r.g.e.ORSGraphHopper ] - Bridge interpolation 0s, tunnel interpolation 0s, ferry interpolation 0s
2025-11-25 12:42:15 INFO [c.g.s.i.LocationIndexTree ] - location index created in 2.0062475s, size:4 551 220, leafs:168 721, precision:500, depth:5, checksum:1951989, entries:[16, 16, 16, 16, 4], entriesPerLeaf:26.974829
2025-11-25 12:42:15 DEBUG [o.s.w.s.DispatcherServlet ] - GET "/ors/v2/health", parameters={}
2025-11-25 12:42:15 DEBUG [s.w.s.m.m.a.RequestMappingHandlerMapping] - Mapped to org.heigit.ors.api.controllers.HealthAPI#fetchHealth()
2025-11-25 12:42:15 DEBUG [o.s.w.s.m.m.a.HttpEntityMethodProcessor ] - Found 'Content-Type:application/json' in response
2025-11-25 12:42:15 DEBUG [o.s.w.s.m.m.a.HttpEntityMethodProcessor ] - Writing ["{"status":"not ready"}"]
2025-11-25 12:42:15 DEBUG [o.s.w.s.DispatcherServlet ] - Completed 503 SERVICE_UNAVAILABLE
2025-11-25 12:42:15 DEBUG [o.h.o.r.RoutingProfileManager ] - java.util.concurrent.ExecutionException: java.lang.RuntimeException: Error while constructing transit network. Is your GTFS file valid? Please check log for possible causes.
2025-11-25 12:42:15 ERROR [o.h.o.r.RoutingProfileManager ] -
2025-11-25 12:42:15 ERROR [o.h.o.r.RoutingProfileManager ] - Exception at RoutingProfileManager initialization: class java.util.concurrent.ExecutionException: java.lang.RuntimeException: Error while constructing transit network. Is your GTFS file valid? Please check log for possible causes.
2025-11-25 12:42:15 ERROR [o.h.o.r.RoutingProfileManager ] -
2025-11-25 12:42:15 DEBUG [j.l.Runtime ] - Runtime.exit() called with status: 1
java.lang.Throwable: Runtime.exit(1)
at java.base/java.lang.Shutdown.logRuntimeExit(Shutdown.java:179) ~[?:?]
at java.base/java.lang.Shutdown.exit(Shutdown.java:160) ~[?:?]
at java.base/java.lang.Runtime.exit(Runtime.java:188) ~[?:?]
at java.base/java.lang.System.exit(System.java:1920) ~[?:?]
at org.heigit.ors.routing.RoutingProfileManager.<init>(RoutingProfileManager.java:41) ~[ors-engine-9.5.0.jar!/:9.5.0]
at org.heigit.ors.api.servlet.listeners.ORSInitContextListener.lambda$contextInitialized$0(ORSInitContextListener.java:61) ~[!/:9.5.0]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Forum Topic Link
https://ask.openrouteservice.org/t/problems-building-public-transport-graph-gtfs/7813