From 1d3508f66fddf3f8c6416e59ab9fbde405dbcf25 Mon Sep 17 00:00:00 2001 From: typebrook Date: Sun, 17 Nov 2019 09:18:07 +0800 Subject: update --- scripts/osm/osm.pbf.update | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 scripts/osm/osm.pbf.update (limited to 'scripts/osm/osm.pbf.update') diff --git a/scripts/osm/osm.pbf.update b/scripts/osm/osm.pbf.update new file mode 100644 index 0000000..694ae4d --- /dev/null +++ b/scripts/osm/osm.pbf.update @@ -0,0 +1,30 @@ + PBF_FILE=$1 + GEOFABRICK_SERVER=http://download.geofabrik.de/asia/taiwan-updates + + # get next sequence number and store it into NEW_SEQ + osmium fileinfo $PBF_FILE | \ + grep osmosis_replication_sequence_number | \ + cut -d'=' -f2 | \ + sed 's/$/+1/' | bc | \ + read NEW_SEQ + + # while server has osc file with given sequence number, + # get it and do file update + while + SEQ_PATH=$(echo $NEW_SEQ | sed -r 's/(.{1})(.{3})/00\1\/\2/') + STATE_URL=$GEOFABRICK_SERVER/000/$SEQ_PATH.state.txt + echo $STATE_URL + [ $(curl.code $STATE_URL) != "404" ] + do + mkdir -p changes + CHANGE_URL=$GEOFABRICK_SERVER/000/$SEQ_PATH.osc.gz + echo $CHANGE_URL + curl -o changes/$NEW_SEQ.osc.gz $CHANGE_URL && \ + osmium apply-changes $PBF_FILE changes/$NEW_SEQ.osc.gz \ + --output-header=osmosis_replication_sequence_number=$NEW_SEQ \ + --overwrite \ + --output $NEW_SEQ.osm.pbf + + PBF_FILE=$NEW_SEQ.osm.pbf + ((NEW_SEQ++)) + done -- cgit v1.2.3-70-g09d2