From 93c22ce0aa1bb1ed16123d6517c536c44368f0e8 Mon Sep 17 00:00:00 2001 From: typebrook Date: Wed, 6 Nov 2019 08:21:02 +0800 Subject: update osm features --- alias | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) (limited to 'alias') diff --git a/alias b/alias index 00c8077..c0ff84f 100644 --- a/alias +++ b/alias @@ -1,4 +1,5 @@ SETTING_DIR="$HOME/git/settings" +OSM_USER_PASSWD=$(cat $HOME/git/settings/token/osm) # settings alias al='vim ~/.bash_aliases && source ~/.bash_aliases' @@ -161,6 +162,7 @@ alias data-osm-diff="curl https://planet.openstreetmap.org/replication/minute/st alias xi='xsel -ib' alias xo='xsel -ob' alias xl='history | tail -1 | grep -oP "^\s*[0-9]+\s\s\K.*" | xsel -ib && xsel -ob ' +alias xll='xo >> ~/vimwiki/working.md' alias xc='xsel -ob | gcc -xc -' # image @@ -193,9 +195,6 @@ mvt_decode() { big52utf8() { iconv -f BIG-5 -t UTF-8 $1 > $1.utf8 } -replace() { - rm $1 && mv $2 $1 -} # tmp alias cdo='cd ~/git/openmaptiles' @@ -210,3 +209,45 @@ alias cdand='cd ~/git/sample' repo='git@github.com' hub='https://github.com' typebrook='git@github.com:typebrook' + + +# osm +osm='https://api.openstreetmap.org/api/0.6/' +osm.get() { + curl -X GET $osm/$1/$2 +} +osm.query() { + osmium tags-filter $1 $2 --output-format=osm --omit-referenced +} +osm.update() { + # remove original tag&value + sed "/" +} +osm.changeset.update() { + element=$(cat -) + header=$(echo $element | grep -E "<(node|way|relation)\s") + ele_type=$(echo $header | sed -r 's/.*<(node|way|relation).*$/\1/') + id=$(echo $header | sed -r 's/.* id=\"([^"]+)\".*$/\1/') + + echo $element | \ + sed -r "s/^( *<(node|way|relation).*version[^ ]+ )(.*)$/\1changeset=\"$1\">/" | \ + curl -X PUT -u $OSM_USER_PASSWD -i -T - https://api.openstreetmap.org/api/0.6/$ele_type/$id +} +osm.changeset.close() { + curl -X PUT -u $OSM_USER_PASSWD -i https://api.openstreetmap.org/api/0.6/changeset/$1/close +} +osm.pbf.update() { + osmium fileinfo $1 | \ + grep osmosis_replication_sequence_number | \ + cut -d'=' -f2 | \ + sed 's/$/+1/' | bc | \ + sed -r 's/(.{1})(.{3})/00\1\/\2/' | \ + xargs -I {} curl -O http://download.geofabrik.de/asia/taiwan-updates/000/'{}'.osc.gz +} + +# misc +length() { + ogr2ogr -sql "SELECT geom.length() FROM $1" $1.geojson +} -- cgit v1.2.3-70-g09d2