Valhalla (Installation/Import)
Vorarbeiten
Wenn etwas von den Standardwerten abweichen soll, dann müssen die Umgebungsvariable in der ~/.bashrc
hinzugefügt/angepasst werden.
export OSM_DATA_DATE=240415
export OSM_DATA_DIR=/zfs_pool/data/osm
export VALHALLA_NAME=valhalla # optional
export VALHALLA_DATA_PATH=/zfs_pool/data/valhalla # optional
export VALHALLA_VERSION=3.4.0
und mit dem folgenden Kommando aktualisieren
source ~/.bashrc
Container Service installieren
cd ~/projects/PhpOsmRoutingWrapper && ./scripts/install_valhalla_service.sh
Neue Daten importieren https://github.com/gis-ops/docker-valhalla
-
ggf. Valhalla Container deinstallieren
cd ~/projects/PhpOsmRoutingWrapper && ./scripts/uninstall_valhalla_service.sh
-
alte Valhalla Daten löschen
rm -rf ${OSM_DATA_DIR}/valhalla_tiles ${OSM_DATA_DIR}/valhalla_tiles*.tar ${OSM_DATA_DIR}/file_hashes.txt
-
alle alten .osm.pbf Dateien löschen, da ansonsten alle Dateien importiert werden!
rm -rf ${OSM_DATA_DIR}/*.osm.pbf
-
neue planet-<yymmdd>.osm.pbf Datei von https://planet.openstreetmap.org/pbf/ ins Datenverzeichnis herunterladen
cd ${OSM_DATA_DIR} && wget https://planet.openstreetmap.org/pbf/planet-${OSM_DATA_DATE}.osm.pbf
-
Falls erforderlich, Integrität prüfen
wget https://planet.openstreetmap.org/pbf/planet-${OSM_DATA_DATE}.osm.pbf.md5 && cat planet-${OSM_DATA_DATE}.osm.pbf.md5 | md5sum -c -
-
Der folgende Befehl importiert die Daten im Hintergrund
podman run --rm -dt --name valhalla_gis-ops -p 8002:8002 -v ${OSM_DATA_DIR}:/custom_files ghcr.io/gis-ops/docker-valhalla/valhalla:${VALHALLA_VERSION}
-
Warten bis der Import abgeschlossen ist (htop, iotop, podman container logs valhalla_gis-ops, existiert valhalla_tiles.tar Datei?)
-
Container killen!
podman kill valhalla_gis-ops
-
Valhalla Daten (ca. 90GB) ins entsprechende Verzeichnis verschieben oder auf Server kopieren
cd ${OSM_DATA_DIR} mv valhalla_tiles.tar valhalla_tiles-${OSM_DATA_DATE}.tar mv valhalla_tiles-${OSM_DATA_DATE}.tar ${VALHALLA_DATA_PATH} mv valhalla.json ${VALHALLA_DATA_PATH} mv file_hashes.txt ${VALHALLA_DATA_PATH} mv duplicateways.txt ${VALHALLA_DATA_PATH} rm -rf valhalla_tiles # Beim kopieren auf einen Server, diesen Schritt auf dem Server ausführen! cd ${VALHALLA_DATA_PATH} && ln -s valhalla_tiles-${OSM_DATA_DATE}.tar valhalla_tiles.tar
-
ggf. Valhalla Container wieder installieren
cd ~/projects/PhpOsmRoutingWrapper && ./scripts/install_valhalla_service.sh