diff options
| -rw-r--r-- | alias | 22 | ||||
| -rwxr-xr-x | scripts/changeset | 8 |
2 files changed, 22 insertions, 8 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | SETTING_DIR="$HOME/git/settings" | 1 | SETTING_DIR="$HOME/git/settings" |
| 2 | OSM_USER_PASSWD=$(cat $HOME/git/settings/token/osm) | 2 | OSM_USER_PASSWD=$(cat $HOME/git/settings/tokens/osm) |
| 3 | 3 | ||
| 4 | # settings | 4 | # settings |
| 5 | alias al='vim ~/.bash_aliases && source ~/.bash_aliases' | 5 | alias al='vim ~/.bash_aliases && source ~/.bash_aliases' |
| @@ -212,20 +212,25 @@ typebrook='git@github.com:typebrook' | |||
| 212 | 212 | ||
| 213 | 213 | ||
| 214 | # osm | 214 | # osm |
| 215 | osm='https://api.openstreetmap.org/api/0.6/' | 215 | osm='https://api.openstreetmap.org/api/0.6' |
| 216 | osm.get() { | 216 | osm.get() { |
| 217 | curl -X GET $osm/$1/$2 | 217 | curl -X GET $osm/$1/$2 |
| 218 | } | 218 | } |
| 219 | osm.query() { | 219 | osm.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 | } |
| 222 | osm.extract() { | ||
| 223 | echo "<osm version=\"0.6\">" | ||
| 224 | sed -nr "/^ *<$1 id=\"$2\".*/,/^ *<\/$1>/p" - | ||
| 225 | echo "</osm>" | ||
| 226 | } | ||
| 222 | osm.update() { | 227 | osm.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 | } |
| 228 | osm.changeset.update() { | 233 | osm.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 | } | ||
| 243 | osm.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 | } |
| 238 | osm.changeset.close() { | 247 | osm.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 | } |
| 241 | osm.pbf.update() { | 250 | osm.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 | ||
| 3 | OSM_USER_PASSWD=$(cat ~/git/settings/token/osm) | 3 | OSM_USER_PASSWD=$(cat ~/git/settings/tokens/osm) |
| 4 | |||
| 4 | #server=https://master.apis.dev.openstreetmap.org | 5 | #server=https://master.apis.dev.openstreetmap.org |
| 5 | server=https://api.openstreetmap.org | 6 | server=https://api.openstreetmap.org |
| 6 | comment="change is_in format" | 7 | comment="change is_in format" |
| @@ -26,5 +27,8 @@ info="<osm> | |||
| 26 | " | 27 | " |
| 27 | 28 | ||
| 28 | echo $info |\ | 29 | echo $info |\ |
| 29 | curl -u $OSM_USER_PASSWD -i --upload-file - $server/api/0.6/changeset/create | 30 | curl -u $OSM_USER_PASSWD -i --upload-file - $server/api/0.6/changeset/create |\ |
| 31 | tee /dev/tty |\ | ||
| 32 | tail -1 |\ | ||
| 33 | xsel -ib | ||
| 30 | 34 | ||