diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/osm | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -161,23 +161,24 @@ osm.file.get.full() { | |||
161 | } | 161 | } |
162 | # $1 as osm file | 162 | # $1 as osm file |
163 | osm.osm.update() { | 163 | osm.osm.update() { |
164 | (tee; cat > $1.osc) |\ | ||
164 | while read -r line | 165 | while read -r line |
165 | do | 166 | do |
166 | array=( $(echo $line) ) | 167 | array=( $(echo $line) ) |
167 | 168 | ||
168 | cat $1 |\ | 169 | cat $1 |\ |
169 | sed -nr "/<$array[1] id=$array[2]/,/<\/$array[1]/ { | 170 | sed -nr " |
171 | /<$array[1] id=$array[2]/,/<\/$array[1]/ { | ||
170 | /<$array[1] id=$array[2]/ a \ \ \ \ <tag k=\"$array[3]\" v=$array[4]\/> | 172 | /<$array[1] id=$array[2]/ a \ \ \ \ <tag k=\"$array[3]\" v=$array[4]\/> |
171 | /<tag k=$array[3]/ !p | 173 | /<tag k=$array[3]/ !p |
172 | /<\/$array[1]/ q | 174 | /<\/$array[1]/ q |
173 | }" >> updated.$1 | 175 | }" >> $1.osc |
174 | done | 176 | done |
175 | |||
176 | sed -ir '1 i <osm version="0.6" generator="bash script"> | ||
177 | $ a </osm>' updated.$1 | ||
178 | 177 | ||
179 | osmium derive-changes $1 updated.$1 --output=$1.osc --overwrite &&\ | 178 | sed -ir '1 i <osmChange version="0.6" generator="bash script"> |
180 | rm updated.$1 | 179 | 1 i <modify> |
180 | $ a </modify> | ||
181 | $ a </osmChange>' $1.osc | ||
181 | } | 182 | } |
182 | # create a new changeset | 183 | # create a new changeset |
183 | osm.api.changeset.create() { | 184 | osm.api.changeset.create() { |