Cannot Disable Elevation

Hello,

I’m currently running some tests with OpenRouteService v9.0.1 using Docker to build graphs and run the service.
I’m facing an issue: I’m trying to disable elevation, but it doesn’t seem to work. Elevation data is still being downloaded, even when I set:

  • ors.engine.profiles.<profile>.build.elevation=false and
  • ors.engine.profile_default.build.elevation=false

Here is my config:

logging:
  level:
    root: TRACE
ors:
  engine:
    elevation: false
    init_threads: 10
    preparation_mode: true
    profile_default:
      build:
        elevation: false
    profiles:
      foot-walking-no-elevation:
        enabled: true
        encoder_name: foot-walking
        build:
          source_file: files/ile-de-france-latest.osm.pbf
          elevation: false
          instructions: false
          interpolate_bridges_and_tunnels: false

The command I use to start the build:

docker run -ti --rm --name ors-app \
-p 8082:8082 \
-v $PWD/ors-docker/config:/home/ors/config \
-v $PWD/ors-docker/elevation_cache:/home/ors/elevation_cache \
-v $PWD/ors-docker/graphs:/home/ors/graphs \
-v $PWD/ors-docker/files:/home/ors/files \
-v $PWD/ors-docker/logs:/home/ors/logs \
-e "XMS=2g" \
-e "XMX=8g" \
openrouteservice/openrouteservice:v9.1.0

What I see in the logs:

2025-02-12 11:01:47 DEBUG [o.a.c.w.Cache                           ] - Increased cache size by [531] for item [org.apache.catalina.webresources.CachedResource@56fda064] at [/elevation_cache] making total cache size [1063]
[...]
2025-02-12 11:02:00 INFO [c.g.r.d.CGIARProvider                   ] - cgiar Elevation Provider, from: https://srtm.csi.cgiar.org/wp-content/uploads/files/srtm_5x5/TIFF/, to: /home/ors/elevation_cache, as: MMAP_STORE using interpolate: false
[...]
2025-02-12 11:02:02 DEBUG [s.n.w.p.h.HttpURLConnection             ] - sun.net.www.MessageHeader@5a88a0257 pairs: {GET /wp-content/uploads/files/srtm_5x5/TIFF//srtm_37_03.zip HTTP/1.1: null}{Referrer: http://graphhopper.com}{User-Agent: GraphHopper CGIARReader}{Accept-Encoding: gzip, deflate}{Host: srtm.csi.cgiar.org}{Accept: */*}{Connection: keep-alive}
2025-02-12 11:02:02 DEBUG [s.n.w.p.h.HttpURLConnection             ] - sun.net.www.MessageHeader@4a6ee5a510 pairs: {null: HTTP/1.1 200 OK}{Date: Wed, 12 Feb 2025 11:03:36 GMT}{Server: Apache}{Last-Modified: Sat, 20 Sep 2008 01:28:28 GMT}{ETag: "1ba97f7-45749bc3789dd"}{Accept-Ranges: bytes}{Content-Length: 29005815}{Keep-Alive: timeout=15, max=100}{Connection: Keep-Alive}{Content-Type: application/zip}

Am I missing something?

Hey,

no, I’d also think that this would disable elevation.
However, it seems that you actually have to remove elevation from the config file completely to not download any elevation:

logging:
  level:
    root: DEBUG
ors:
  engine:
    init_threads: 10
    preparation_mode: true
    profiles:
      foot-walking-no-elevation:
        enabled: true
        encoder_name: foot-walking
        build:
          source_file: files/ile-de-france-latest.osm.pbf
          instructions: false
          interpolate_bridges_and_tunnels: false

is the config file that didn’t download any elevation tiles for me :slight_smile:

I’ll open an issue about this, thanks a lot!

Best regards

Thank you for your help and for creating the issue (https://github.com/GIScience/openrouteservice/issues/1967).

I tried the config file you provided, but it doesn’t seem to fix the issue.

When I run the command with the elevation_cache volume, it creates the folder and downloads the files:

docker run -ti --rm --name ors-app \
-p 8082:8082 \
-v $PWD/ors-docker/config:/home/ors/config \
-v $PWD/ors-docker/elevation_cache:/home/ors/elevation_cache \
-v $PWD/ors-docker/graphs:/home/ors/graphs \
-v $PWD/ors-docker/files:/home/ors/files \
-v $PWD/ors-docker/logs:/home/ors/logs \
-e "XMS=2g" \
-e "XMX=8g" \
openrouteservice/openrouteservice:v9.1.0

When I run the command without the elevation_cache volume, the folder isn’t persisted, but I can still see in the logs that elevation data is being downloaded:

docker run -ti --rm --name ors-app \
-p 8082:8082 \
-v $PWD/ors-docker/config:/home/ors/config \
-v $PWD/ors-docker/graphs:/home/ors/graphs \
-v $PWD/ors-docker/files:/home/ors/files \
-v $PWD/ors-docker/logs:/home/ors/logs \
-e "XMS=2g" \
-e "XMX=8g" \
openrouteservice/openrouteservice:v9.1.0
2025-02-12 14:34:04 INFO [c.g.r.d.CGIARProvider                   ] - cgiar Elevation Provider, from: https://srtm.csi.cgiar.org/wp-content/uploads/files/srtm_5x5/TIFF/, to: /home/ors/elevation_cache, as: MMAP_STORE using interpolate: false

2025-02-12 14:34:05 DEBUG [s.n.w.p.h.HttpURLConnection             ] - sun.net.www.MessageHeader@5b89116b7 pairs: {GET /wp-content/uploads/files/srtm_5x5/TIFF//srtm_37_03.zip HTTP/1.1: null}{Referrer: http://graphhopper.com}{User-Agent: GraphHopper CGIARReader}{Accept-Encoding: gzip, deflate}{Host: srtm.csi.cgiar.org}{Accept: */*}{Connection: keep-alive}
2025-02-12 14:34:06 DEBUG [s.n.w.p.h.HttpURLConnection             ] - sun.net.www.MessageHeader@7ff5736d10 pairs: {null: HTTP/1.1 200 OK}{Date: Wed, 12 Feb 2025 14:35:40 GMT}{Server: Apache}{Last-Modified: Sat, 20 Sep 2008 01:28:28 GMT}{ETag: "1ba97f7-45749bc3789dd"}{Accept-Ranges: bytes}{Content-Length: 29005815}{Keep-Alive: timeout=15, max=100}{Connection: Keep-Alive}{Content-Type: application/zip}

Huh, for me, the elevation_cache folder stays empty if I run with the provided config…

Could you confirm that all folders are empty, except for the config one, which should only contain ors-config.yml before running the docker command you provided?

Best regards

So, I only have the following folders and files when I run the command:

  • ors-docker/config
    – ors-config.yml
  • ors-docker/files
    – ile-de-france-latest.osm.pbf
docker run -ti --rm --name ors-app \
-p 8082:8082 \
-v $PWD/ors-docker/config:/home/ors/config \
-v $PWD/ors-docker/elevation_cache:/home/ors/elevation_cache \
-v $PWD/ors-docker/graphs:/home/ors/graphs \
-v $PWD/ors-docker/files:/home/ors/files \
-v $PWD/ors-docker/logs:/home/ors/logs \
-e "XMS=2g" \
-e "XMX=8g" \
openrouteservice/openrouteservice:v9.1.0

After running the command, I have the following files:

  • ors-docker/config
    – example-ors-config.env
    – example-ors-config.yml
    – ors-config.yml
  • ors-docker/elevation_cache
    – srtm_37_03.gh
    – srtm_37_03.zip
  • ors-docker/files
    – example-heidelberg.test.pbf
    – ile-de-france-latest.osm.pbf
  • ors-docker/graphs
    – foot-walking-no-elevation/*
  • logs
    – ors.log

I’m running openrouteservice/openrouteservice:v9.1.0 on Docker 4.14.1 on OSX 15.3.

I’m not sure if this information helps, but please let me know if I can share any other relevant logs or data.

Hey,

then I am out of ideas, and I cannot replicate having something in the elevation_cache-folder if I do not have any elevation present in the config file and start from empty files…

Does it matter to you?
Routing will not behave differently whether elevation is present or not, and file sizes shouldn’t matter much…

Best regards

I just ran this on my mac and it is also downloading the elevation data, so maybe it is a mac thing?

Hello @jschnell,
Thank you for taking the time to look into this. I will try to replicate it on a brand-new engine and provide a procedure.

1 Like