Source of Great Britain OSM File

Hi,
I’m looking for a OSM file for Great Britain that will work. I’ve installed on my local machine using docker and all works using the supplied OSM file. When I change to using great-britain-latest.osm.bz2 from Geofabrik, I get the following error in the ors.log
2020-06-02 14:57:30,468 ERROR [routing.RoutingProfileManager] - java.util.concurrent.ExecutionException: java.lang.RuntimeException: Problem while parsing file
Caused by: java.lang.IllegalArgumentException: Input file is not of valid type data/osm_file.pbf

I’ve also tried the great-britain-latest.osm.pbf file. Both the files are big at 1.8GB and 1GB.

Are these the correct files to use or is there another source for GB OSM files, I should look at?

Thanks

No, that’s all fine. You’re not doing anything wrong.

I think this is a problem with elevation data (somewhere in the backtrace you’ll see smth about elevation). Our tests don’t pick that up because we always use the same (years old) PBF file and elevation tiles. There should be a test for that sort of integration as well though. And we rarely set up ORS in a fresh instance like you did, so this can go unnoticed.

We’ll look into it. For now, you can change elevation: true to false for all occurrences in the conf/app.config.sample and add a elevation: false to the ors.services.routing.profiles.default_params. Then you won’t have support for elevation in /directions queries, but it’ll build at least.

Let us know if that worked.

Hi Nils,

Thank you for the prompt reply. I tried your suggestion but didn’t work with the 1GB file, so I downloaded a smaller regional file (42MB) and changed the config. Restarted everything and it worked :slight_smile:

Unfortunately, I need the whole of Great Britain, but I’ll try the individual countries from GeoFabrik (Wales 74MB, Scotland 174MB, England 878 MB) and see if the issue is file size related.

If any other users have configured a local install with a GB map, I would be most interested in the source and their config.

Thanks again
Gareth

What is the full error trace then? Is it out-of-memory?

You need to adjust the Java -Xmx and Xms settings to allow for more heap for Java processes. Look in the docker-compose env vars, you’ll see it. -Xmx=4g should suffice.

Hi Nils,
I’d already changed the -Xmx value based on a reply you’d made to another post.

Full ors.log when it failed:

2020-06-03 07:47:09,591 INFO [ors.Application] - Starting Application v6.1.0 on a4b555c7a7f8 with PID 8 (/usr/local/tomcat/webapps/ors/WEB-INF/classes started by root in /ors-core)
2020-06-03 07:47:09,610 DEBUG [ors.Application] - Running with Spring Boot v2.0.4.RELEASE, Spring v5.0.8.RELEASE
2020-06-03 07:47:09,616 INFO [ors.Application] - No active profile set, falling back to default profiles: default
2020-06-03 07:47:14,411 INFO [ors.Application] - Started Application in 6.065 seconds (JVM running for 10.82)
2020-06-03 07:47:14,441 INFO [routing.RoutingProfileManager] -  Total - 4.00 GB, Free - 3.81 GB, Max: 4.00 GB, Used - 186.30 MB
2020-06-03 07:47:14,445 INFO [routing.RoutingProfileManager] -       
2020-06-03 07:47:14,476 INFO [routing.RoutingProfileManager] - ====> Initializing profiles from 'data/osm_file.pbf' (2 threads) ...
2020-06-03 07:47:14,481 INFO [routing.RoutingProfileManager] -                               
2020-06-03 07:47:14,501 INFO [routing.RoutingProfileManager] -                
2020-06-03 07:47:14,513 INFO [routing.RoutingProfile] - [1] Profiles: 'cycling-regular', location: 'data/graphs/bike-regular'.
2020-06-03 07:47:14,513 INFO [routing.RoutingProfile] - [2] Profiles: 'driving-car', location: 'data/graphs/car'.
2020-06-03 07:47:14,783 ERROR [routing.RoutingProfileManager] - java.util.concurrent.ExecutionException: java.lang.RuntimeException: Problem while parsing file
2020-06-03 07:47:14,785 ERROR [routing.RoutingProfileManager] - Failed to initialize RoutingProfileManager instance.
java.util.concurrent.ExecutionException: java.lang.RuntimeException: Problem while parsing file
	at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_252]
	at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_252]
	at org.heigit.ors.routing.RoutingProfileManager.initialize(RoutingProfileManager.java:162) ~[classes/:6.1.0]
	at org.heigit.ors.routing.RoutingProfileManager.getInstance(RoutingProfileManager.java:57) ~[classes/:6.1.0]
	at org.heigit.ors.servlet.listeners.ORSInitContextListener.lambda$contextInitialized$0(ORSInitContextListener.java:40) ~[classes/:6.1.0]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
Caused by: java.lang.RuntimeException: Problem while parsing file
	at com.graphhopper.reader.osm.OSMReader.preProcess(OSMReader.java:228) ~[graphhopper-reader-osm-v0.13.2.jar:?]
	at com.graphhopper.reader.osm.OSMReader.readGraph(OSMReader.java:172) ~[graphhopper-reader-osm-v0.13.2.jar:?]
	at com.graphhopper.GraphHopper.importData(GraphHopper.java:735) ~[graphhopper-core-v0.13.2.jar:?]
	at com.graphhopper.GraphHopper.readData(GraphHopper.java:714) ~[graphhopper-core-v0.13.2.jar:?]
	at com.graphhopper.GraphHopper.process(GraphHopper.java:701) ~[graphhopper-core-v0.13.2.jar:?]
	at com.graphhopper.GraphHopper.importOrLoad(GraphHopper.java:680) ~[graphhopper-core-v0.13.2.jar:?]
	at org.heigit.ors.routing.graphhopper.extensions.ORSGraphHopper.importOrLoad(ORSGraphHopper.java:131) ~[classes/:6.1.0]
	at org.heigit.ors.routing.RoutingProfile.initGraphHopper(RoutingProfile.java:181) ~[classes/:6.1.0]
	at org.heigit.ors.routing.RoutingProfile.<init>(RoutingProfile.java:127) ~[classes/:6.1.0]
	at org.heigit.ors.routing.RoutingProfileLoader.call(RoutingProfileLoader.java:35) ~[classes/:6.1.0]
	at org.heigit.ors.routing.RoutingProfileLoader.call(RoutingProfileLoader.java:21) ~[classes/:6.1.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_252]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_252]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_252]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_252]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_252]
	... 1 more
Caused by: java.lang.IllegalArgumentException: Input file is not of valid type data/osm_file.pbf
	at com.graphhopper.reader.osm.OSMInputFile.decode(OSMInputFile.java:129) ~[graphhopper-reader-osm-v0.13.2.jar:?]
	at com.graphhopper.reader.osm.OSMInputFile.<init>(OSMInputFile.java:56) ~[graphhopper-reader-osm-v0.13.2.jar:?]
	at com.graphhopper.reader.osm.OSMReader.openOsmInputFile(OSMReader.java:333) ~[graphhopper-reader-osm-v0.13.2.jar:?]
	at com.graphhopper.reader.osm.OSMReader.preProcess(OSMReader.java:189) ~[graphhopper-reader-osm-v0.13.2.jar:?]
	at com.graphhopper.reader.osm.OSMReader.readGraph(OSMReader.java:172) ~[graphhopper-reader-osm-v0.13.2.jar:?]
	at com.graphhopper.GraphHopper.importData(GraphHopper.java:735) ~[graphhopper-core-v0.13.2.jar:?]
	at com.graphhopper.GraphHopper.readData(GraphHopper.java:714) ~[graphhopper-core-v0.13.2.jar:?]
	at com.graphhopper.GraphHopper.process(GraphHopper.java:701) ~[graphhopper-core-v0.13.2.jar:?]
	at com.graphhopper.GraphHopper.importOrLoad(GraphHopper.java:680) ~[graphhopper-core-v0.13.2.jar:?]
	at org.heigit.ors.routing.graphhopper.extensions.ORSGraphHopper.importOrLoad(ORSGraphHopper.java:131) ~[classes/:6.1.0]
	at org.heigit.ors.routing.RoutingProfile.initGraphHopper(RoutingProfile.java:181) ~[classes/:6.1.0]
	at org.heigit.ors.routing.RoutingProfile.<init>(RoutingProfile.java:127) ~[classes/:6.1.0]
	at org.heigit.ors.routing.RoutingProfileLoader.call(RoutingProfileLoader.java:35) ~[classes/:6.1.0]
	at org.heigit.ors.routing.RoutingProfileLoader.call(RoutingProfileLoader.java:21) ~[classes/:6.1.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_252]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_252]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_252]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_252]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_252]
	... 1 more

Pls use proper markdown syntax. Edit your post to see how I did that.

Pls provide:

  • input file name
  • docker-compsoe.yml
  • app.config.sample

Apologies regarding formatting.
The good news is that having changed the -Xmx=4g and also using the following docker commands, from a different post (i’m new to docker)

docker-compose down
docker-compose build
docker-compose up -d

It appears to be building correctly, the ors.log is still writing out the following:

2020-06-03 10:28:20,048 WARN [extensions.ORSOSMReader] - null. Way id = 28072427

To answer your questions.
input file name: - great-britain-latest.osm.pbf
docker-compose.yml

version: '3'
services:
  ors-app:
    container_name: ors-app
    ports:
      - 8080:8080
    image: openrouteservice/openrouteservice:v6.1.0
    build:
      context: ../
      args:
        APP_CONFIG: ./docker/conf/app.config
        # OSM_FILE: ./docker/data/heidelberg.osm.gz
        # OSM_FILE: ./docker/data/west-midlands-latest.osm.pbf
        OSM_FILE: ./docker/data/great-britain-latest.osm.pbf
        # OSM_FILE: ./docker/data/wales-latest.osm.pbf
        # OSM_FILE: ./docker/data/england-latest.osm.pbf
    volumes:
      - ./graphs:/ors-core/data/graphs
      - ./elevation_cache:/ors-core/data/elevation_cache
      - ./logs/ors:/var/log/ors
      - ./logs/tomcat:/usr/local/tomcat/logs
      - ./conf:/ors-conf
      # - ./data/west-midlands-latest.osm.pbf:/ors-core/data/osm_file.pbf
      # - ./data/heidelberg.osm.gz:/ors-core/data/osm_file.pbf
      - ./data/great-britain-latest.osm.pbf:/ors-core/data/osm_file.pbf
      # - ./data/wales-latest.osm.pbf:/ors-core/data/osm_file.pbf
    environment:
      - BUILD_GRAPHS=True  # Forces the container to rebuild the graphs, e.g. when PBF is changed in app.config
      - "JAVA_OPTS=-Djava.awt.headless=true -server -XX:TargetSurvivorRatio=75 -XX:SurvivorRatio=64 -XX:MaxTenuringThreshold=3 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ParallelGCThreads=4 -Xms4g -Xmx4g -XX:MaxMetaspaceSize=512m"
      - "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"

app.config

{
  "ors": {
    "info": {
      "base_url": "https://openrouteservice.org/",
      "support_mail": "support@openrouteservice.org",
      "author_tag": "openrouteservice",
      "content_licence": "LGPL 3.0"
    },
    "services": {
      "matrix": {
        "enabled": true,
        "maximum_routes": 2500,
        "maximum_routes_flexible": 25,
        "maximum_search_radius": 5000,
        "maximum_visited_nodes": 100000,
        "allow_resolve_locations": true,
        "attribution": "openrouteservice.org, OpenStreetMap contributors"
      },
      "isochrones": {
        "enabled": true,
        "maximum_range_distance": [
          { "profiles": "any", "value": 50000 },
          { "profiles": "driving-car, driving-hgv", "value": 100000 }
        ],
        "maximum_range_time": [
          { "profiles": "any", "value": 18000 },
          { "profiles": "driving-car, driving-hgv", "value": 3600 }
        ],
        "maximum_intervals": 10,
        "maximum_locations": 2,
        "allow_compute_area": true
      },
      "routing": {
        "enabled": true,
        "mode": "normal",
        "routing_description": "This is a routing file from openrouteservice",
        "routing_name": "openrouteservice routing",
        "sources": ["data/osm_file.pbf"],
        "init_threads": 2,
        "attribution": "openrouteservice.org, OpenStreetMap contributors",
        "elevation_preprocessed": false,
        "profiles": {
          "active": [
            "car",
            "bike-regular"
          ],
          "default_params": {
            "encoder_flags_size": 8,
            "graphs_root_path": "data/graphs",
			"elevation": false,
            "elevation_provider": "multi",
            "elevation_cache_path": "data/elevation_cache",
            "elevation_cache_clear": true,
            "instructions": true,
            "maximum_distance": 100000,
            "maximum_distance_dynamic_weights": 100000,
            "maximum_distance_avoid_areas": 100000,
            "maximum_waypoints": 50,
            "maximum_snapping_radius": 400,
            "maximum_avoid_polygon_area": 200000000,
            "maximum_avoid_polygon_extent": 20000,
            "maximum_distance_alternative_routes": 100000,
            "maximum_alternative_routes": 3,
            "maximum_distance_round_trip_routes": 100000,
            "preparation": {
              "min_network_size": 200,
              "min_one_way_network_size": 200,

              "methods": {
                "lm": {
                  "enabled": true,
                  "threads": 1,
                  "weightings": "fastest,shortest",
                  "landmarks": 16
                }
              }
            },
            "execution": {
              "methods": {
                "lm": {
                  "disabling_allowed": true,
                  "active_landmarks": 8
                }
              }
            }
          },
          "profile-car": {
            "profiles": "driving-car",
            "parameters": {
              "encoder_flags_size": 8,
              "encoder_options": "turn_costs=true|block_fords=false|use_acceleration=false",
              "maximum_distance": 100000,
              "elevation": false,
              "maximum_snapping_radius": 350,
              "preparation": {
                "min_network_size": 200,
                "min_one_way_network_size": 200,

                "methods": {
                  "ch": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest"
                  },
                  "lm": {
                    "enabled": false,
                    "threads": 1,
                    "weightings": "fastest,shortest",
                    "landmarks": 16
                  },
                  "core": {
                      "enabled": true,
                      "threads": 1,
                      "weightings": "fastest,shortest",
                      "landmarks": 64,
                      "lmsets": "highways;allow_all"
                  }
                }
              },
              "execution": {
                "methods": {
                  "ch": {
                    "disabling_allowed": true
                  },
                  "lm": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  },
                  "core": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  }
                }
              },
              "ext_storages": {
                "WayCategory": {},
                "HeavyVehicle": {},
                "WaySurfaceType": {},
                "RoadAccessRestrictions": {
                  "use_for_warnings": true
                }
              }
            }
          },
          "profile-hgv": {
            "profiles": "driving-hgv",
            "parameters": {
              "encoder_flags_size": 8,
              "encoder_options": "turn_costs=true|block_fords=false|use_acceleration=false",
              "maximum_distance": 100000,
              "elevation": false,
              "preparation": {
                "min_network_size": 200,
                "min_one_way_network_size": 200,

                "methods": {
                  "ch": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest"
                  },
                  "lm": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest,shortest",
                    "landmarks": 16
                  },
                  "core": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest,shortest",
                    "landmarks": 64,
                    "lmsets": "highways;allow_all"
                  }
                }
              },
              "execution": {
                "methods": {
                  "ch": {
                    "disabling_allowed": true
                  },
                  "lm": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  },
                  "core": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  }

                }
              },
              "ext_storages": {
                "WayCategory": {},
                "HeavyVehicle": {
                  "restrictions": true
                },
                "WaySurfaceType": {}
              }
            }
          },
          "profile-bike-regular": {
            "profiles": "cycling-regular",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": false,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-mountain": {
            "profiles": "cycling-mountain",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": false,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-road": {
            "profiles": "cycling-road",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": false,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-electric": {
            "profiles": "cycling-electric",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": false,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-walking": {
            "profiles": "foot-walking",
            "parameters": {
              "encoder_options": "block_fords=false",
              "elevation": false,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-hiking": {
            "profiles": "foot-hiking",
            "parameters": {
              "encoder_options": "block_fords=false",
              "elevation": false,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },

          "profile-wheelchair": {
            "profiles": "wheelchair",
            "parameters": {
              "encoder_options": "block_fords=true",
              "elevation": false,
              "maximum_snapping_radius": 50,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "Wheelchair": {
                  "KerbsOnCrossings": "true"
                },
                "OsmId": {}
              }
            }
          }
        }
      }
    },
    "logging": {
      "enabled": true,
      "level_file": "DEBUG_LOGGING.json",
      "location": "/var/log/ors",
      "stdout": true
    },
    "system_message": [
        {
            "active": false,
            "text": "This message would be sent with every routing bike fastest request",
            "condition": {
                "request_service": "routing",
                "request_profile": "cycling-regular,cycling-mountain,cycling-road,cycling-electric",
                "request_preference": "fastest"
            }
        },
        {
            "active": false,
            "text": "This message would be sent with every request for geojson response",
            "condition": {
                "api_format": "geojson"
            }
        },
        {
            "active": false,
            "text": "This message would be sent with every request on API v1 from January 2020 until June 2050",
            "condition": {
                "api_version": 1,
                "time_after": "2020-01-01T00:00:00Z",
                "time_before": "2050-06-01T00:00:00Z"
            }
        },
        {
            "active": false,
            "text": "This message would be sent with every request"
        }
    ]
  }
}

Ok, great, so it worked now? As in you can successfully request?

2020-06-03 10:28:20,048 WARN [extensions.ORSOSMReader] - null. Way id = 28072427

That line I only saw so far with non-OSM PBF files, e.g. TomTom, when there was smth wrong with the node-way relations. Not sure what exact property is not ok with that way, but I’d be curious as well? Any of the backend devs have some idea off the top of your head (cc @takb maybe?)? Is it invalid geometry, referencing non-existent nodes, some other failure or possibly any of the mentioned?

And thanks for catching up quickly with formatting:)

It finished as I got notification of your reply!

2020-06-03 11:45:47,989 INFO [routing.RoutingProfileManager] - Total time: 5825.706s.

The last line of the ORSOSMReader block was, so it had some work to do.

2020-06-03 11:32:09,843 WARN [extensions.ORSOSMReader] - null. Way id = 808911206

Now that I have it up and running, I need to amend the route distance parameter as 100KM isn’t going to be big enough it will need to be nearer 1500 KM. I’m assuming I need to change all mentions of maximum distance in app.config, but how do I get these applied without having to wait for the PBF to process as before?

By following the documentation :wink:

Yes, of course, sorry got carried away with replying and asking a supplementary question. To answer my own question from the documentation (I hope I’ve got this right :slight_smile:

Customize app.config.sample

Either you point the build argument APP_CONFIG to your custom app.config file.

The app.config which is used is also copied to the container’s /share directory. By mapping a directory to that path, you will get access to the app.config . After changing values in the app.config just restart the container. Example:

docker run -d -p 8080:8080 -v .conf:/ors-conf docker_ors-app

Hi Nils,
Just to let you know that I installed version 6.1.1 and all is working fine. What i have noticed is that the travel and distance times returned from a matrix call to your server differ to when I make the same call against my local server. I realize that the PBF files are different in that you are using whole world as opposed to GB only but thought that the GB only was an extract of the whole world from the same source so should be the same?
Are the differences just down to the different maps or could it be due to settings in the config file? My config file is below.

{
  "ors": {
    "info": {
      "base_url": "https://openrouteservice.org/",
      "support_mail": "support@openrouteservice.org",
      "author_tag": "openrouteservice",
      "content_licence": "LGPL 3.0"
    },
    "services": {
      "matrix": {
        "enabled": true,
        "maximum_routes": 10000,
        "maximum_routes_flexible": 25,
        "maximum_search_radius": 5000,
        "maximum_visited_nodes": 1500000,
        "allow_resolve_locations": true,
        "attribution": "openrouteservice.org, OpenStreetMap contributors"
      },
      "isochrones": {
        "enabled": false,
        "maximum_range_distance": [
          { "profiles": "any", "value": 50000 },
          { "profiles": "driving-car, driving-hgv", "value": 1500000 }
        ],
        "maximum_range_time": [
          { "profiles": "any", "value": 18000 },
          { "profiles": "driving-car, driving-hgv", "value": 86400 }
        ],
        "maximum_intervals": 10,
        "maximum_locations": 2,
        "allow_compute_area": true
      },
      "routing": {
        "enabled": true,
        "mode": "normal",
        "routing_description": "This is a routing file from openrouteservice",
        "routing_name": "openrouteservice routing",
        "sources": ["data/osm_file.pbf"],
        "init_threads": 2,
        "attribution": "openrouteservice.org, OpenStreetMap contributors",
        "elevation_preprocessed": false,
        "profiles": {
          "active": [
            "car"
          ],
          "default_params": {
            "encoder_flags_size": 8,
            "graphs_root_path": "data/graphs",
            "elevation_provider": "multi",
            "elevation_cache_path": "data/elevation_cache",
            "elevation_cache_clear": false,
            "instructions": true,
            "maximum_distance": 1500000,
            "maximum_distance_dynamic_weights": 1500000,
            "maximum_distance_avoid_areas": 1500000,
            "maximum_waypoints": 50,
            "maximum_snapping_radius": 400,
            "maximum_avoid_polygon_area": 200000000,
            "maximum_avoid_polygon_extent": 20000,
            "maximum_distance_alternative_routes": 1500000,
            "maximum_alternative_routes": 3,
            "maximum_distance_round_trip_routes": 1500000,
            "preparation": {
              "min_network_size": 200,
              "min_one_way_network_size": 200,

              "methods": {
                "lm": {
                  "enabled": true,
                  "threads": 1,
                  "weightings": "fastest,shortest",
                  "landmarks": 16
                }
              }
            },
            "execution": {
              "methods": {
                "lm": {
                  "disabling_allowed": true,
                  "active_landmarks": 8
                }
              }
            }
          },
          "profile-car": {
            "profiles": "driving-car",
            "parameters": {
              "encoder_flags_size": 8,
              "encoder_options": "turn_costs=true|block_fords=false|use_acceleration=false",
              "maximum_distance": 1500000,
              "elevation": true,
              "maximum_snapping_radius": 350,
              "preparation": {
                "min_network_size": 200,
                "min_one_way_network_size": 200,

                "methods": {
                  "ch": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest"
                  },
                  "lm": {
                    "enabled": false,
                    "threads": 1,
                    "weightings": "fastest,shortest",
                    "landmarks": 16
                  },
                  "core": {
                      "enabled": true,
                      "threads": 1,
                      "weightings": "fastest,shortest",
                      "landmarks": 64,
                      "lmsets": "highways;allow_all"
                  }
                }
              },
              "execution": {
                "methods": {
                  "ch": {
                    "disabling_allowed": true
                  },
                  "lm": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  },
                  "core": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  }
                }
              },
              "ext_storages": {
                "WayCategory": {},
                "HeavyVehicle": {},
                "WaySurfaceType": {},
                "RoadAccessRestrictions": {
                  "use_for_warnings": true
                }
              }
            }
          },
          "profile-hgv": {
            "profiles": "driving-hgv",
            "parameters": {
              "encoder_flags_size": 8,
              "encoder_options": "turn_costs=true|block_fords=false|use_acceleration=false",
              "maximum_distance": 1500000,
              "elevation": true,
              "preparation": {
                "min_network_size": 200,
                "min_one_way_network_size": 200,

                "methods": {
                  "ch": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest"
                  },
                  "lm": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest,shortest",
                    "landmarks": 16
                  },
                  "core": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest,shortest",
                    "landmarks": 64,
                    "lmsets": "highways;allow_all"
                  }
                }
              },
              "execution": {
                "methods": {
                  "ch": {
                    "disabling_allowed": true
                  },
                  "lm": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  },
                  "core": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  }

                }
              },
              "ext_storages": {
                "WayCategory": {},
                "HeavyVehicle": {
                  "restrictions": true
                },
                "WaySurfaceType": {}
              }
            }
          },
          "profile-bike-regular": {
            "profiles": "cycling-regular",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-mountain": {
            "profiles": "cycling-mountain",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-road": {
            "profiles": "cycling-road",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-electric": {
            "profiles": "cycling-electric",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-walking": {
            "profiles": "foot-walking",
            "parameters": {
              "encoder_options": "block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-hiking": {
            "profiles": "foot-hiking",
            "parameters": {
              "encoder_options": "block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },

          "profile-wheelchair": {
            "profiles": "wheelchair",
            "parameters": {
              "encoder_options": "block_fords=true",
              "elevation": true,
              "maximum_snapping_radius": 50,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "Wheelchair": {
                  "KerbsOnCrossings": "true"
                },
                "OsmId": {}
              }
            }
          }
        }
      }
    },
    "logging": {
      "enabled": true,
      "level_file": "DEBUG_LOGGING.json",
      "location": "/var/log/ors",
      "stdout": true
    },
    "system_message": [
        {
            "active": false,
            "text": "This message would be sent with every routing bike fastest request",
            "condition": {
                "request_service": "routing",
                "request_profile": "cycling-regular,cycling-mountain,cycling-road,cycling-electric",
                "request_preference": "fastest"
            }
        },
        {
            "active": false,
            "text": "This message would be sent with every request for geojson response",
            "condition": {
                "api_format": "geojson"
            }
        },
        {
            "active": false,
            "text": "This message would be sent with every request on API v1 from January 2020 until June 2050",
            "condition": {
                "api_version": 1,
                "time_after": "2020-01-01T00:00:00Z",
                "time_before": "2050-06-01T00:00:00Z"
            }
        },
        {
            "active": false,
            "text": "This message would be sent with every request"
        }
    ]
  }
}

Any suggestions would be greatly appreciated.

Kind Regards
Gareth

It’s osm, every single second you pull data, it’ll be different