From b4509cc6ae75dfb7bca5e7865e565a35a4eb604e Mon Sep 17 00:00:00 2001 From: typebrook Date: Fri, 15 Nov 2019 22:51:52 +0800 Subject: osm utils v1 --- scripts/osm/sequence_number.sh | 22 ++++++++++++++++++++++ utils/osm | 15 ++++++++------- 2 files changed, 30 insertions(+), 7 deletions(-) create mode 100755 scripts/osm/sequence_number.sh diff --git a/scripts/osm/sequence_number.sh b/scripts/osm/sequence_number.sh new file mode 100755 index 0000000..eb365d0 --- /dev/null +++ b/scripts/osm/sequence_number.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# $1 as --hour or --minute, $2 as timestamp +# return the latest sequence number + +case $1 in + # hour difference with Tue Jun 4 03:00:00 UTC 2019 + # sequence number=58940 + --hour) + echo $[($2 - 1559617200)/3600 + 58940] + ;; + + # minute difference with latest planet state file + --minute) + benchmark=benchmark + curl https://planet.openstreetmap.org/replication/minute/state > $benchmark + timeString=$(tail -1 $benchmark | tr -d 'timestamp=\\') + timestamp=$(date -d "$timeString" +%s) + seq=$(sed -n 2p $benchmark | tr -d "sequenceNumber=") + rm $benchmark + echo $[$seq - ($timestamp - $2)/60 - 1 ] +esac diff --git a/utils/osm b/utils/osm index 7ef8cdf..cdc4eb7 100644 --- a/utils/osm +++ b/utils/osm @@ -44,9 +44,9 @@ osm.goto() { xdg-open https://www.openstreetmap.org/$1/$2 } -#SERVER=https://master.apis.dev.openstreetmap.org -SERVER=https://api.openstreetmap.org -OSM_API=$SERVER/api/0.6 +#OSM_SERVER=https://master.apis.dev.openstreetmap.org +OSM_SERVER=https://api.openstreetmap.org +OSM_API=$OSM_SERVER/api/0.6 OSM_USER_PASSWD=$(cat $SETTING_DIR/tokens/osm) # get .osm format data @@ -200,7 +200,7 @@ osm.api.changeset.create() { tail -1 | read changeset_id echo " copied into clipboard" - echo "changeset created, check $SERVER/changeset/$changeset_id" + echo "changeset created, check $OSM_SERVER/changeset/$changeset_id" echo $changeset_id | xsel -ib } # add a new element into changeset @@ -234,7 +234,7 @@ osm.api.changeset.close() { # update an .osm.pbf file osm.pbf.update() { PBF_FILE=$1 - SERVER=http://download.geofabrik.de/asia/taiwan-updates + GEOFABRICK_SERVER=http://download.geofabrik.de/asia/taiwan-updates # get next sequence number and store it into NEW_SEQ osmium fileinfo $PBF_FILE | \ @@ -247,11 +247,12 @@ osm.pbf.update() { # get it and do file update while SEQ_PATH=$(echo $NEW_SEQ | sed -r 's/(.{1})(.{3})/00\1\/\2/') - STATE_URL=$SERVER/000/$SEQ_PATH.state.txt + STATE_URL=$GEOFABRICK_SERVER/000/$SEQ_PATH.state.txt + echo $STATE_URL [ $(curl.code $STATE_URL) != "404" ] do mkdir -p changes - CHANGE_URL=$SERVER/000/$SEQ_PATH.osc.gz + 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 \ -- cgit v1.2.3-70-g09d2