I have seen several posts with a similar error but I was not able to fix the error from the other posts.
I trying to install openrouteService locally on the docker with the map of england, openrouteService is unable to read the .pbf file. I tried the Great Britain maps but it didn’t work, do I tried Englang, but it didn’t work either. What are you doing wrong?
I tried the docker image and create my own image with dockerFile.
The error always say:
2021-05-22 20:00:41,565 ERROR [routing.RoutingProfileManager] - java.util.concurrent.ExecutionException: java.lang.RuntimeException: Couldn’t process file data/osm_file.pbf, error: Can’t decode 50n000e_20101117_gmted_mea075.tif
2021-05-22 20:00:41,566 ERROR [routing.RoutingProfileManager] - Failed to initialize RoutingProfileManager instance.
java.util.concurrent.ExecutionException: java.lang.RuntimeException: Couldn’t process file data/osm_file.pbf, error: Can’t decode 50n000e_20101117_gmted_mea075.tif
Link of OSM tested:
https://download.geofabrik.de/europe/great-britain-latest.osm.pbf
https://download.geofabrik.de/europe/great-britain/england-latest.osm.pbf
My docker-compose:
version: ‘2.4’
services:
ors-app:
container_name: ors-app
ports:
- 8080:8080
- 9001:9001
image: openrouteservice/openrouteservice:latest
# build:
# context: …/
# args:
# APP_CONFIG: ./docker/conf/app.config
# 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/england-latest.osm.pbf:/ors-core/data/osm_file.pbf
environment:
- BUILD_GRAPHS=False # Forces the container to rebuild the graphs, e.g. when PBF is changed
- “JAVA_OPTS=-Djava.awt.headless=true -server -XX:TargetSurvivorRatio=75 -XX:SurvivorRatio=64 -XX:MaxTenuringThreshold=3 -XX:+UseG1GC -XX:+ScavengeBeforeFullGC -XX:ParallelGCThreads=4 -Xms1g -Xmx2g”
- “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”
My DockerFile:
FROM openjdk:11-jdk
ENV MAVEN_OPTS="-Dmaven.repo.local=.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
ENV MAVEN_CLI_OPTS="--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
ARG APP_CONFIG=./openrouteservice/src/main/resources/app.config.sample
ARG OSM_FILE=./docker/data/england-latest.osm.pbf
WORKDIR /ors-core
COPY openrouteservice /ors-core/openrouteservice
COPY $OSM_FILE /ors-core/data/osm_file.pbf
COPY $APP_CONFIG /ors-core/openrouteservice/src/main/resources/app.config.sample
# Install tomcat
RUN wget -q https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.39/bin/apache-tomcat-8.5.39.tar.gz -O /tmp/tomcat.tar.gz && \
cd /tmp && \
tar xvfz tomcat.tar.gz && \
mkdir /usr/local/tomcat /ors-conf && \
cp -R /tmp/apache-tomcat-8.5.39/* /usr/local/tomcat/ && \
# Install dependencies and locales
apt-get update -qq && apt-get install -qq -y locales nano maven moreutils jq && \
locale-gen en_US.UTF-8 && \
# Rename to app.config
cp /ors-core/openrouteservice/src/main/resources/app.config.sample /ors-core/openrouteservice/src/main/resources/app.config && \
# Replace paths in app.config to match docker setup
jq '.ors.services.routing.sources[0] = "data/osm_file.pbf"' /ors-core/openrouteservice/src/main/resources/app.config |sponge /ors-core/openrouteservice/src/main/resources/app.config && \
jq '.ors.services.routing.profiles.default_params.elevation_cache_path = "data/elevation_cache"' /ors-core/openrouteservice/src/main/resources/app.config |sponge /ors-core/openrouteservice/src/main/resources/app.config && \
jq '.ors.services.routing.profiles.default_params.graphs_root_path = "data/graphs"' /ors-core/openrouteservice/src/main/resources/app.config |sponge /ors-core/openrouteservice/src/main/resources/app.config && \
# init_threads = 1, > 1 been reported some issues
jq '.ors.services.routing.init_threads = 1' /ors-core/openrouteservice/src/main/resources/app.config |sponge /ors-core/openrouteservice/src/main/resources/app.config && \
# Delete all profiles but car
jq 'del(.ors.services.routing.profiles.active[1,2,3,4,5,6,7,8])' /ors-core/openrouteservice/src/main/resources/app.config |sponge /ors-core/openrouteservice/src/main/resources/app.config
COPY ./docker-entrypoint.sh /docker-entrypoint.sh
# Start the container
EXPOSE 8080
ENTRYPOINT ["/bin/bash", "/docker-entrypoint.sh"]
And My LOG:
2021-05-22 19:59:29,888 INFO [routing.RoutingProfile] - [1] Profiles: ‘driving-car’, location: ‘data/graphs/car’.
2021-05-22 20:00:41,565 ERROR [routing.RoutingProfileManager] - java.util.concurrent.ExecutionException: java.lang.RuntimeException: Couldn’t process file data/osm_file.pbf, error: Can’t decode 50n000e_20101117_gmted_mea075.tif
2021-05-22 20:00:41,566 ERROR [routing.RoutingProfileManager] - Failed to initialize RoutingProfileManager instance.
java.util.concurrent.ExecutionException: java.lang.RuntimeException: Couldn’t process file data/osm_file.pbf, error: Can’t decode 50n000e_20101117_gmted_mea075.tif
at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:?]
at java.util.concurrent.FutureTask.get(FutureTask.java:191) ~[?:?]
at org.heigit.ors.routing.RoutingProfileManager.initialize(RoutingProfileManager.java:167) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfileManager.getInstance(RoutingProfileManager.java:62) ~[classes/:6.5.0]
at org.heigit.ors.servlet.listeners.ORSInitContextListener.lambda$contextInitialized$0(ORSInitContextListener.java:40) ~[classes/:6.5.0]
at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.RuntimeException: Couldn’t process file data/osm_file.pbf, error: Can’t decode 50n000e_20101117_gmted_mea075.tif
at com.graphhopper.reader.osm.OSMReader.writeOsm2Graph(OSMReader.java:326) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at com.graphhopper.reader.osm.OSMReader.readGraph(OSMReader.java:178) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.importData(GraphHopper.java:735) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.readData(GraphHopper.java:714) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.process(GraphHopper.java:701) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.importOrLoad(GraphHopper.java:680) ~[graphhopper-core-v0.13.13.jar:?]
at org.heigit.ors.routing.graphhopper.extensions.ORSGraphHopper.importOrLoad(ORSGraphHopper.java:155) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfile.initGraphHopper(RoutingProfile.java:191) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfile.(RoutingProfile.java:135) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfileLoader.call(RoutingProfileLoader.java:35) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfileLoader.call(RoutingProfileLoader.java:21) ~[classes/:6.5.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
… 1 more
Caused by: java.lang.RuntimeException: Can’t decode 50n000e_20101117_gmted_mea075.tif
at com.graphhopper.reader.dem.GMTEDProvider.generateRasterFromFile(GMTEDProvider.java:151) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.reader.dem.AbstractTiffElevationProvider.getEle(AbstractTiffElevationProvider.java:133) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.reader.osm.OSMReader.getElevation(OSMReader.java:715) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at org.heigit.ors.routing.graphhopper.extensions.ORSOSMReader.getElevation(ORSOSMReader.java:433) ~[classes/:6.5.0]
at com.graphhopper.reader.osm.OSMReader.addNode(OSMReader.java:676) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at com.graphhopper.reader.osm.OSMReader.processNode(OSMReader.java:641) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at com.graphhopper.reader.osm.OSMReader.writeOsm2Graph(OSMReader.java:293) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at com.graphhopper.reader.osm.OSMReader.readGraph(OSMReader.java:178) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.importData(GraphHopper.java:735) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.readData(GraphHopper.java:714) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.process(GraphHopper.java:701) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.importOrLoad(GraphHopper.java:680) ~[graphhopper-core-v0.13.13.jar:?]
at org.heigit.ors.routing.graphhopper.extensions.ORSGraphHopper.importOrLoad(ORSGraphHopper.java:155) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfile.initGraphHopper(RoutingProfile.java:191) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfile.(RoutingProfile.java:135) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfileLoader.call(RoutingProfileLoader.java:35) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfileLoader.call(RoutingProfileLoader.java:21) ~[classes/:6.5.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
… 1 more
Caused by: java.io.EOFException
at org.apache.xmlgraphics.image.codec.util.SeekableStream.readUnsignedShortLE(SeekableStream.java:513) ~[xmlgraphics-commons-2.3.jar:2.3]
at org.apache.xmlgraphics.image.codec.tiff.TIFFDirectory.readUnsignedShort(TIFFDirectory.java:565) ~[xmlgraphics-commons-2.3.jar:2.3]
at org.apache.xmlgraphics.image.codec.tiff.TIFFDirectory.getNumDirectories(TIFFDirectory.java:608) ~[xmlgraphics-commons-2.3.jar:2.3]
at org.apache.xmlgraphics.image.codec.tiff.TIFFImageDecoder.getNumPages(TIFFImageDecoder.java:81) ~[xmlgraphics-commons-2.3.jar:2.3]
at org.apache.xmlgraphics.image.codec.tiff.TIFFImageDecoder.decodeAsRenderedImage(TIFFImageDecoder.java:85) ~[xmlgraphics-commons-2.3.jar:2.3]
at org.apache.xmlgraphics.image.codec.util.ImageDecoderImpl.decodeAsRaster(ImageDecoderImpl.java:136) ~[xmlgraphics-commons-2.3.jar:2.3]
at org.apache.xmlgraphics.image.codec.util.ImageDecoderImpl.decodeAsRaster(ImageDecoderImpl.java:122) ~[xmlgraphics-commons-2.3.jar:2.3]
at com.graphhopper.reader.dem.GMTEDProvider.generateRasterFromFile(GMTEDProvider.java:149) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.reader.dem.AbstractTiffElevationProvider.getEle(AbstractTiffElevationProvider.java:133) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.reader.osm.OSMReader.getElevation(OSMReader.java:715) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at org.heigit.ors.routing.graphhopper.extensions.ORSOSMReader.getElevation(ORSOSMReader.java:433) ~[classes/:6.5.0]
at com.graphhopper.reader.osm.OSMReader.addNode(OSMReader.java:676) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at com.graphhopper.reader.osm.OSMReader.processNode(OSMReader.java:641) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at com.graphhopper.reader.osm.OSMReader.writeOsm2Graph(OSMReader.java:293) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at com.graphhopper.reader.osm.OSMReader.readGraph(OSMReader.java:178) ~[graphhopper-reader-osm-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.importData(GraphHopper.java:735) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.readData(GraphHopper.java:714) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.process(GraphHopper.java:701) ~[graphhopper-core-v0.13.13.jar:?]
at com.graphhopper.GraphHopper.importOrLoad(GraphHopper.java:680) ~[graphhopper-core-v0.13.13.jar:?]
at org.heigit.ors.routing.graphhopper.extensions.ORSGraphHopper.importOrLoad(ORSGraphHopper.java:155) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfile.initGraphHopper(RoutingProfile.java:191) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfile.(RoutingProfile.java:135) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfileLoader.call(RoutingProfileLoader.java:35) ~[classes/:6.5.0]
at org.heigit.ors.routing.RoutingProfileLoader.call(RoutingProfileLoader.java:21) ~[classes/:6.5.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
… 1 more
2021-05-22 20:00:41,574 INFO [routing.RoutingProfileManager] - ====> Recycling garbage…
2021-05-22 20:00:41,574 INFO [routing.RoutingProfileManager] - Before: Total - 1.88 GB, Free - 957.44 MB, Max: 2 GB, Used - 966.56 MB
2021-05-22 20:00:41,645 INFO [routing.RoutingProfileManager] - After: Total - 1024 MB, Free - 998.11 MB, Max: 2 GB, Used - 25.89 MB
2021-05-22 20:00:41,646 INFO [routing.RoutingProfileManager] - ========================================================================
2021-05-22 20:00:41,646 INFO [routing.RoutingProfileManager] - ====> Memory usage by profiles:
2021-05-22 20:00:41,650 INFO [routing.RoutingProfileManager] - Total: 0 B (0.0%)
2021-05-22 20:00:41,651 INFO [routing.RoutingProfileManager] - ========================================================================