diff options
author | typebrook <typebrook@gmail.com> | 2019-11-14 23:07:48 +0800 |
---|---|---|
committer | typebrook <typebrook@gmail.com> | 2019-11-14 23:07:48 +0800 |
commit | 3f848adb850aa8be6ab231f8818f81fd8f213160 (patch) | |
tree | efa1a560d764ee6eb17985a7b159104f387021e6 | |
parent | 4d6eb0d2cbfaf766dc70703f24efb73e15c003f9 (diff) |
update
-rw-r--r-- | utils/osm | 30 |
1 files changed, 26 insertions, 4 deletions
@@ -174,7 +174,9 @@ osm.osm.update() { | |||
174 | awk -F"\"" ' | 174 | awk -F"\"" ' |
175 | BEGIN{OFS="\""} | 175 | BEGIN{OFS="\""} |
176 | {if(NR==1) print $1,$2,$3,$4+1,">"; else print $0} | 176 | {if(NR==1) print $1,$2,$3,$4+1,">"; else print $0} |
177 | ' >> $1.updated | 177 | ' |\ |
178 | sed -r '1 i <osm version="0.6" generator="bash script"> | ||
179 | $ a </osm>' >> $1.updated | ||
178 | done | 180 | done |
179 | } | 181 | } |
180 | # create a new changeset | 182 | # create a new changeset |
@@ -213,9 +215,21 @@ osm.api.changeset.add() { | |||
213 | } | 215 | } |
214 | osm.api.changeset.upload() { | 216 | osm.api.changeset.upload() { |
215 | cat $2 |\ | 217 | cat $2 |\ |
216 | sed -r "/<(node|way|relation)/ s/>/ changeset=\"$1\">/ | 218 | sed -nr "1 i <modify> |
217 | /<(node|way|relation)/,/<\/(node|way|relation)/ | 219 | /<(node|way|relation)/ s/>/ changeset=\"$1\">/ |
218 | " | 220 | /<(node|way|relation).*version=\"1\"/,/<\/(node|way|relation)/ {!p;H} |
221 | $ a <\/modify> | ||
222 | $ a <create> | ||
223 | $ {g;p} #|\ | ||
224 | $ a <\/create>" |\ | ||
225 | sed -r "1 { | ||
226 | N; /<\/modify>/ b delete_empty_body | ||
227 | } | ||
228 | /<create>/ { | ||
229 | N; /<\/create>/ b delete_empty_body | ||
230 | } | ||
231 | :delete_empty_body { d } | ||
232 | " | ||
219 | #curl -X POST -u $OSM_USER_PASSWD -T - $OSM_API/changeset/$id/upload | 233 | #curl -X POST -u $OSM_USER_PASSWD -T - $OSM_API/changeset/$id/upload |
220 | } | 234 | } |
221 | # update changeset with a new comment | 235 | # update changeset with a new comment |
@@ -262,3 +276,11 @@ osm.pbf.update() { | |||
262 | ((NEW_SEQ++)) | 276 | ((NEW_SEQ++)) |
263 | done | 277 | done |
264 | } | 278 | } |
279 | osm.osm.remove() { | ||
280 | while read -r line | ||
281 | do | ||
282 | array=( $(echo $line) ) | ||
283 | cat $1 |\ | ||
284 | sed -i "/<$array[1] id=\"$array[2]\"/,/<\/$array[1]>/ d" | ||
285 | done | ||
286 | } | ||