I have a few examples of routes that produce different results when comparing my local GraphHopper instance with GraphHopper Web.
I am currently running GraphHopper locally using version 11, with the following configuration:
apiVersion: v1
kind: ConfigMap
metadata:
name: graphhopper-config
data:
config.yml: |
graphhopper:
datareader.file: ""
datareader.worker_threads: 16
custom_models.directory: /graphhopper/profiles
profiles:
* name: car
custom_model_files: \[ car.json \]
* name: truck
custom_model_files: \[ truck.json \]
* name: big_truck
weighting: custom
custom_model_files: \[ big_truck.json \]
profiles_ch:
* profile: car
* profile: truck
profiles_lm:
* profile: car
* profile: truck
* profile: big_truck
prepare.min_network_size: 1000
prepare.subnetworks.threads: 50
prepare.ch.threads: 2
prepare.lm.threads: 3
routing.non_ch.max_waypoint_distance: 100_000_000 #100.000.000
routing.max_visited_nodes: 15_000_000 #15.000.000
import.osm.ignored_highways: footway,cycleway,path,pedestrian,steps # typically useful for motorized-only routing
index.max_region_search: 30
graph.location: graph-cache
graph.dataaccess.default_type: RAM_STORE
graph.encoded_values: country,hgv,max_weight,max_height,max_width,toll,car_access,car_average_speed,road_access,road_class,max_weight_except,road_environment,ferry_speed,max_speed,surface
server:
application_connectors:
* type: http
port: 8989
bind_host: localhost
max_request_header_size: 50k
request_log:
appenders: \[\]
admin_connectors:
* type: http
port: 8990
bind_host: localhost
logging:
appenders:
* type: file
time_zone: UTC
current_log_filename: logs/graphhopper.log
log_format: "%d{yyyy-MM-dd HH:mm:ss.SSS} \[%thread\] %-5level %logger{36} - %msg%n"
archive: true
archived_log_filename_pattern: ./logs/graphhopper-%d.log.gz
archived_file_count: 30
never_block: true
* type: console
time_zone: UTC
log_format: "%d{yyyy-MM-dd HH:mm:ss.SSS} \[%thread\] %-5level %logger{36} - %msg%n"
loggers:
"com.graphhopper.osm_warnings":
level: DEBUG
additive: false
appenders:
* type: file
currentLogFilename: logs/osm_warnings.log
archive: false
logFormat: '\[%level\] %msg%n
I am also using the latest OSM Planet PBF available, currently planet-260914.
Here is one example of the route discrepancy:
I would like to understand what could cause the route calculated by my local GraphHopper instance to differ from the route shown by GraphHopper Web.
Could there be differences in the OSM data, configuration, GraphHopper version, custom models, or graph preparation process used by GraphHopper Web that could explain this behavior?
If needed, I can provide the origin and destination coordinates, the request parameters, the custom_model files, and both routes for comparison.
