source: subversion/applications/utils/change_tags/massgis.py @ 13106

Revision 13106, 3.7 KB checked in by cmarqu, 5 years ago (diff)

More name fixes.

Line 
1__version__ = "0.1"
2
3def conservation_organization(tags, type):
4    """Fix for a MassGIS OpenSpace todo: typo in 'conservation_organization'
5       in bulk import.
6    """
7   
8    if type == "node":
9        return False 
10   
11    changed = False
12   
13    if 'ownership' in tags and tags['ownership'] == 'conservation_rganization':
14        tags['ownership'] = 'conservation_organization'
15        changed = True
16   
17    tags['created_by'] = 'change_tags.py - massgis %s' % __version__
18
19    return changed   
20
21def playgrounds(tags, type):
22    changed = False
23   
24    if type == "way" and 'name' in tags:
25        name = tags['name']
26   
27        if name.endswith("Playground"):
28            if not 'leisure' in tags or tags['leisure'] != "playground":
29                changed = True
30                tags['leisure'] = 'playground'
31    tags['created_by'] = 'change_tags.py - massgis area_names %s' % __version__
32
33    return changed   
34
35def more_shrt_nms(tags, type):
36    import re
37    map = {
38      " Rec Area$": ' Recreation Area', 
39      " Nwr$": ' National Wildlife Refuge', 
40      " Wma$": ' Wildlife Management Area', 
41      " Nha$": ' National Historic Area', 
42      " Mdws$": ' Meadows', 
43      " Reserv\.$": ' Reservation', 
44      " St Forest$": ' State Forest', 
45      " Conservation La$": ' Conservation Land', 
46      " Cons Lnd$": ' Conservation Land', 
47      " Cons Land$": ' Conservation Land', 
48      " Cons Area$": ' Conservation Area', 
49      " Consv Land$": ' Conservation Land', 
50      " Sanc$": ' Sanctuary', 
51      " Consv Prjt$": ' Conservation Project',
52      " Pk$": ' Park',
53      " Conserv\. Land$": " Conservation Land"
54    }
55    remap = {}
56    for key, value in map.items():
57        pat = re.compile(key)
58        remap[pat] = value
59       
60    changed = False
61   
62    if type == "way" and 'name' in tags:
63        name = tags['name']
64        for key, value in remap.items():
65            new_name = key.sub(value, name)
66            if new_name != name:
67                tags['name'] = new_name
68                changed = True
69                break
70         
71    tags['created_by'] = 'change_tags.py - massgis short_names %s' % __version__
72
73    return changed   
74
75
76def area_names(tags, type):
77    """Fix for MassGIS OpenSpace areas: do better keying based on name, fix some common typos."""
78   
79    changed = False
80   
81    if type == "way" and 'name' in tags:
82        name = tags['name']
83       
84        # Common playground typos
85        if name.endswith("Plgd"):
86            name = name.replace("Plgd", "Playground")
87            tags['name'] = name
88            changed = True
89        elif name.endswith("Plygrd"):
90            name = name.replace("Plygrd", "Playground")
91            tags['name'] = name
92            changed = True
93        elif name.endswith("Playgroung"):
94            name = name.replace("Playgroung", "Playground")
95            tags['name'] = name
96            changed = True
97       
98        if name.endswith("Golf Course"):
99            if not 'leisure' in tags or tags['leisure'] != "golf_course":
100                changed = True
101                tags['leisure'] = "golf_course"
102                if 'landuse' in tags:
103                    del tags['landuse']
104        elif name.endswith("State Park"):
105            if not 'leisure' in tags or tags['leisure'] != "nature_reserve":
106                changed = True
107                tags['leisure'] = 'nature_reserve'
108               
109        elif (name.endswith("Park") and tags['massgis:FEE_OWNER'] != "National Park Service") \
110                or name.endswith("Playground") or name.endswith("Field"):
111            if not 'leisure' in tags or tags['leisure'] != "park":
112                changed = True         
113                tags['leisure'] = "park"
114
115    tags['created_by'] = 'change_tags.py - massgis area_names %s' % __version__
116
117    return changed   
Note: See TracBrowser for help on using the repository browser.