Do not generate intermediate .osrm file in osrm-extract.

This commit is contained in:
Siarhei Fedartsou 2022-09-30 12:49:26 +02:00
parent bbfff7d3df
commit fd8ccdec21
3 changed files with 5 additions and 7 deletions

View File

@ -125,17 +125,15 @@ jobs:
# see https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details
MEMORY_ARGS="--memory=1g --memory-swap=1g"
docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-extract --dump-nbg-graph -p /opt/car.lua /data/berlin-latest.osm.pbf
docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-components /data/berlin-latest.osrm /data/berlin-latest.geojson
docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-components /data/berlin-latest.osrm.nbg /data/berlin-latest.geojson
if [ ! -s "${PWD}/berlin-latest.geojson" ]
then
>&2 echo "No berlin-latest.geojson found"
exit 1
fi
# here we check that `osrm-partition` accepts base file path with `.osrm` extension even if `.osrm` file doesn't exist
# this way we check backward compatibility with existing pipelines which may rely on it
rm -rf "${PWD}/berlin-latest.osrm"
docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-partition /data/berlin-latest.osrm
# removing `.osrm.nbg` to check that whole pipeline works without it
rm -rf "${PWD}/berlin-latest.osrm.nbg"
docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-partition /data/berlin-latest.osrm
docker run $MEMORY_ARGS -t -v "${PWD}:/data" "${TAG}" osrm-customize /data/berlin-latest.osrm

View File

@ -48,7 +48,7 @@ struct ExtractorConfig final : storage::IOConfig
"",
},
{},
{".osrm",
{".osrm.nbg",
".osrm.restrictions",
".osrm.names",
".osrm.tls",

View File

@ -639,7 +639,7 @@ Extractor::ParsedOSMData Extractor::ParseOSMData(ScriptingEnvironment &scripting
if (config.dump_nbg_graph)
{
storage::tar::FileWriter writer(config.GetPath(".osrm").string(),
storage::tar::FileWriter writer(config.GetPath(".osrm.nbg").string(),
storage::tar::FileWriter::GenerateFingerprint);
storage::serialization::write(writer, "/extractor/nodes", extraction_containers.used_nodes);
storage::serialization::write(writer, "/extractor/edges", extraction_containers.used_edges);