-
Notifications
You must be signed in to change notification settings - Fork 2
/
osm2change-reorder.patch
38 lines (34 loc) · 1.44 KB
/
osm2change-reorder.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
--- osm2change.py 2009-09-18 00:14:45.000000000 +0200
+++ osm2change-modified.py 2009-09-18 00:27:30.000000000 +0200
@@ -73,7 +73,18 @@ try:
operation = {}
for opname in [ "create", "modify", "delete" ]:
- operation[opname] = ElementTree.SubElement(output_root,
+ operation[opname] = {}
+ for opname, elname in [
+ ("create", "node"),
+ ("modify", "node"),
+ ("create", "way"),
+ ("modify", "way"),
+ ("create", "relation"),
+ ("modify", "relation"),
+ ("delete", "relation"),
+ ("delete", "way"),
+ ("delete", "node") ]:
+ operation[opname][elname] = ElementTree.SubElement(output_root,
opname, output_attr)
for element in root:
@@ -83,12 +94,12 @@ try:
opname = element.attrib.pop("action")
else:
continue
- operation[opname].append(element)
+ operation[opname][element.tag].append(element)
# Does this account for all cases? Also, is it needed?
# (cases like relations containing relations... is that allowed?)
- osmsort(operation["create"], [ "node", "way", "relation" ])
- osmsort(operation["delete"], [ "relation", "way", "node" ])
+ #osmsort(operation["create"], [ "node", "way", "relation" ])
+ #osmsort(operation["delete"], [ "relation", "way", "node" ])
output_tree.write(filename_base + ".osc", "utf-8")
except Exception,err: