diff options
author | typebrook <typebrook@gmail.com> | 2019-11-07 17:37:31 +0800 |
---|---|---|
committer | typebrook <typebrook@gmail.com> | 2019-11-07 17:37:31 +0800 |
commit | 24ebc07c6c3841713fd3f136985fa2d6e76e2d58 (patch) | |
tree | afa374e16095ae1f17f086e9d4d5d2524bbb8fdf /alias | |
parent | ea535952d5f838a48bdf091eafb1e1d5e3edee2a (diff) |
update
Diffstat (limited to 'alias')
-rw-r--r-- | alias | 68 |
1 files changed, 0 insertions, 68 deletions
@@ -1,5 +1,4 @@ | |||
1 | SETTING_DIR="$HOME/git/settings" | 1 | SETTING_DIR="$HOME/git/settings" |
2 | OSM_USER_PASSWD=$(cat $HOME/git/settings/tokens/osm) | ||
3 | 2 | ||
4 | # settings | 3 | # settings |
5 | alias al='vim ~/.bash_aliases && source ~/.bash_aliases' | 4 | alias al='vim ~/.bash_aliases && source ~/.bash_aliases' |
@@ -210,70 +209,3 @@ alias cdand='cd ~/git/sample' | |||
210 | repo='git@github.com' | 209 | repo='git@github.com' |
211 | hub='https://github.com' | 210 | hub='https://github.com' |
212 | typebrook='git@github.com:typebrook' | 211 | typebrook='git@github.com:typebrook' |
213 | |||
214 | |||
215 | # osm | ||
216 | osm='https://api.openstreetmap.org/api/0.6' | ||
217 | osm.get() { | ||
218 | curl -X GET $osm/$1/$2 | ||
219 | } | ||
220 | osm.query() { | ||
221 | osmium tags-filter $1 $2 --output-format=osm --omit-referenced | ||
222 | } | ||
223 | osm.extract() { | ||
224 | echo "<osm version=\"0.6\">" | ||
225 | sed -nr "/^ *<$1 id=\"$2\".*/,/^ *<\/$1>/p" - | ||
226 | echo "</osm>" | ||
227 | } | ||
228 | osm.update() { | ||
229 | # remove original tag&value | ||
230 | sed "/<tag k=\"$1\"/d" - | \ | ||
231 | # insert new tag&value | ||
232 | sed -r "/<(node|way|relation)/a \ \ \ \ <tag k=\"$1\" v=\"$2\"\/>" | ||
233 | } | ||
234 | osm.changeset.add() { | ||
235 | element=$(cat -) | ||
236 | header=$(echo $element | grep -E "<(node|way|relation)\s") | ||
237 | ele_type=$(echo $header | sed -r 's/.*<(node|way|relation).*$/\1/') | ||
238 | id=$(echo $header | sed -r 's/.* id=\"([^"]+)\".*$/\1/') | ||
239 | |||
240 | echo $element | \ | ||
241 | sed -r "s/^( *<(node|way|relation).*version[^ ]+ )(.*)$/\1changeset=\"$1\">/" | \ | ||
242 | curl -X PUT -u $OSM_USER_PASSWD -i -T - $osm/$ele_type/$id | ||
243 | } | ||
244 | osm.changeset.update() { | ||
245 | echo "<osm><changeset><tag k=\"comment\" v=\"$2\"/></changeset></osm>" | \ | ||
246 | curl -X PUT -u $OSM_USER_PASSWD -i -T - $osm/changeset/$1 | ||
247 | } | ||
248 | osm.changeset.close() { | ||
249 | curl -X PUT -u $OSM_USER_PASSWD -i $osm/changeset/$1/close | ||
250 | } | ||
251 | osm.pbf.update() { | ||
252 | PBF_FILE=$1 | ||
253 | SERVER=http://download.geofabrik.de/asia/taiwan-updates | ||
254 | |||
255 | osmium fileinfo $PBF_FILE | \ | ||
256 | grep osmosis_replication_sequence_number | \ | ||
257 | cut -d'=' -f2 | \ | ||
258 | sed 's/$/+1/' | bc | \ | ||
259 | read NEW_SEQ | ||
260 | |||
261 | SEQ_PATH=$(echo $NEW_SEQ | sed -r 's/(.{1})(.{3})/00\1\/\2/') | ||
262 | STATE_URL=$SERVER/000/$SEQ_PATH.state.txt | ||
263 | |||
264 | while [ $(curl.code $STATE_URL) != "404" ] | ||
265 | do | ||
266 | CHANGE_URL=$SERVER/000/$SEQ_PATH.osc.gz | ||
267 | echo $CHANGE_URL | ||
268 | curl -o $NEW_SEQ.osc.gz $CHANGE_URL && \ | ||
269 | osmium apply-changes $PBF_FILE $NEW_SEQ.osc.gz \ | ||
270 | --output-header=osmosis_replication_sequence_number=$NEW_SEQ \ | ||
271 | --overwrite \ | ||
272 | --output $NEW_SEQ.osm.pbf | ||
273 | |||
274 | PBF_FILE=$NEW_SEQ.osm.pbf | ||
275 | NEW_SEQ=$((NEW_SEQ+1)) | ||
276 | SEQ_PATH=$(echo $NEW_SEQ | sed -r 's/(.{1})(.{3})/00\1\/\2/') | ||
277 | STATE_URL=$SERVER/000/$SEQ_PATH.state.txt | ||
278 | done | ||
279 | } | ||