aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authortypebrook <typebrook@gmail.com>2019-11-07 00:48:14 +0800
committertypebrook <typebrook@gmail.com>2019-11-07 00:48:14 +0800
commitefb9c0795a4d1630c7809795f445011ecd379c91 (patch)
tree51c0e6adc0047925f0316484efb63cb7b33eb598
parent93c22ce0aa1bb1ed16123d6517c536c44368f0e8 (diff)
update
-rw-r--r--alias22
-rwxr-xr-xscripts/changeset8
2 files changed, 22 insertions, 8 deletions
diff --git a/alias b/alias
index c0ff84f..9943884 100644
--- a/alias
+++ b/alias
@@ -1,5 +1,5 @@
1SETTING_DIR="$HOME/git/settings" 1SETTING_DIR="$HOME/git/settings"
2OSM_USER_PASSWD=$(cat $HOME/git/settings/token/osm) 2OSM_USER_PASSWD=$(cat $HOME/git/settings/tokens/osm)
3 3
4# settings 4# settings
5alias al='vim ~/.bash_aliases && source ~/.bash_aliases' 5alias al='vim ~/.bash_aliases && source ~/.bash_aliases'
@@ -212,20 +212,25 @@ typebrook='git@github.com:typebrook'
212 212
213 213
214# osm 214# osm
215osm='https://api.openstreetmap.org/api/0.6/' 215osm='https://api.openstreetmap.org/api/0.6'
216osm.get() { 216osm.get() {
217 curl -X GET $osm/$1/$2 217 curl -X GET $osm/$1/$2
218} 218}
219osm.query() { 219osm.query() {
220 osmium tags-filter $1 $2 --output-format=osm --omit-referenced 220 osmium tags-filter $1 $2 --output-format=osm --omit-referenced
221} 221}
222osm.extract() {
223 echo "<osm version=\"0.6\">"
224 sed -nr "/^ *<$1 id=\"$2\".*/,/^ *<\/$1>/p" -
225 echo "</osm>"
226}
222osm.update() { 227osm.update() {
223 # remove original tag&value 228 # remove original tag&value
224 sed "/<tag k=\"$1\"/d" - | \ 229 sed "/<tag k=\"$1\"/d" - | \
225 # insert new tag&value 230 # insert new tag&value
226 sed -r "/<(node|way|relation)/a \ \ \ \ <tag k=\"$1\" v=\"$2\"\/>" 231 sed -r "/<(node|way|relation)/a \ \ \ \ <tag k=\"$1\" v=\"$2\"\/>"
227} 232}
228osm.changeset.update() { 233osm.changeset.add() {
229 element=$(cat -) 234 element=$(cat -)
230 header=$(echo $element | grep -E "<(node|way|relation)\s") 235 header=$(echo $element | grep -E "<(node|way|relation)\s")
231 ele_type=$(echo $header | sed -r 's/.*<(node|way|relation).*$/\1/') 236 ele_type=$(echo $header | sed -r 's/.*<(node|way|relation).*$/\1/')
@@ -233,10 +238,14 @@ osm.changeset.update() {
233 238
234 echo $element | \ 239 echo $element | \
235 sed -r "s/^( *<(node|way|relation).*version[^ ]+ )(.*)$/\1changeset=\"$1\">/" | \ 240 sed -r "s/^( *<(node|way|relation).*version[^ ]+ )(.*)$/\1changeset=\"$1\">/" | \
236 curl -X PUT -u $OSM_USER_PASSWD -i -T - https://api.openstreetmap.org/api/0.6/$ele_type/$id 241 curl -X PUT -u $OSM_USER_PASSWD -i -T - $osm/$ele_type/$id
242}
243osm.changeset.update() {
244 echo "<osm><changeset><tag k=\"comment\" v=\"$2\"/></changeset></osm>" | \
245 curl -X PUT -u $OSM_USER_PASSWD -i -T - $osm/changeset/$1
237} 246}
238osm.changeset.close() { 247osm.changeset.close() {
239 curl -X PUT -u $OSM_USER_PASSWD -i https://api.openstreetmap.org/api/0.6/changeset/$1/close 248 curl -X PUT -u $OSM_USER_PASSWD -i $osm/changeset/$1/close
240} 249}
241osm.pbf.update() { 250osm.pbf.update() {
242 osmium fileinfo $1 | \ 251 osmium fileinfo $1 | \
@@ -244,7 +253,8 @@ osm.pbf.update() {
244 cut -d'=' -f2 | \ 253 cut -d'=' -f2 | \
245 sed 's/$/+1/' | bc | \ 254 sed 's/$/+1/' | bc | \
246 sed -r 's/(.{1})(.{3})/00\1\/\2/' | \ 255 sed -r 's/(.{1})(.{3})/00\1\/\2/' | \
247 xargs -I {} curl -O http://download.geofabrik.de/asia/taiwan-updates/000/'{}'.osc.gz 256 xargs -I {} curl -o diff.osc.gz http://download.geofabrik.de/asia/taiwan-updates/000/'{}'.osc.gz && \
257 osmium apply-changes $1 diff.osc.gz --output output.osm.pbf --output-header=osmosis_replication_sequence_number=2422 --overwrite
248} 258}
249 259
250# misc 260# misc
diff --git a/scripts/changeset b/scripts/changeset
index d3dee3d..6138d7e 100755
--- a/scripts/changeset
+++ b/scripts/changeset
@@ -1,6 +1,7 @@
1#! /bin/bash 1#! /bin/bash
2 2
3OSM_USER_PASSWD=$(cat ~/git/settings/token/osm) 3OSM_USER_PASSWD=$(cat ~/git/settings/tokens/osm)
4
4#server=https://master.apis.dev.openstreetmap.org 5#server=https://master.apis.dev.openstreetmap.org
5server=https://api.openstreetmap.org 6server=https://api.openstreetmap.org
6comment="change is_in format" 7comment="change is_in format"
@@ -26,5 +27,8 @@ info="<osm>
26 " 27 "
27 28
28echo $info |\ 29echo $info |\
29curl -u $OSM_USER_PASSWD -i --upload-file - $server/api/0.6/changeset/create 30curl -u $OSM_USER_PASSWD -i --upload-file - $server/api/0.6/changeset/create |\
31tee /dev/tty |\
32tail -1 |\
33xsel -ib
30 34