summaryrefslogtreecommitdiffhomepage
path: root/scripts/osm/osm.pbf.update
blob: 102d158119c6b77ccc7148f121e672d12544cd8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh

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

    mv $1 $((NEW_SEQ-1)).osm.pbf
    mv $NEW_SEQ.osm.pbf $1
    ((NEW_SEQ++))
done