#!/bin/sh 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