[neighborhoods] adding some of the pure Quattroshapes neighborhoods (not matched to OSM) to be classified as city_district, starting with districts of Prague
This commit is contained in:
@@ -223,8 +223,15 @@ class NeighborhoodReverseGeocoder(RTreePolygonIndex):
|
|||||||
regex_replacements = [
|
regex_replacements = [
|
||||||
# Paris arrondissements, listed like "PARIS-1ER-ARRONDISSEMENT" in Quqttroshapes
|
# Paris arrondissements, listed like "PARIS-1ER-ARRONDISSEMENT" in Quqttroshapes
|
||||||
(re.compile('^paris-(?=[\d])', re.I), ''),
|
(re.compile('^paris-(?=[\d])', re.I), ''),
|
||||||
|
(re.compile('^prague(?= [\d]+$)', re.I), 'Praha'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
quattroshapes_city_district_patterns = [
|
||||||
|
six.u('Praha [\d]+'),
|
||||||
|
]
|
||||||
|
|
||||||
|
quattroshapes_city_district_regex = re.compile('|'.join([six.u('^\s*{}\s*$').format(p) for p in quattroshapes_city_district_patterns]), re.I | re.U)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def count_words(cls, s):
|
def count_words(cls, s):
|
||||||
doc = defaultdict(int)
|
doc = defaultdict(int)
|
||||||
@@ -425,7 +432,20 @@ class NeighborhoodReverseGeocoder(RTreePolygonIndex):
|
|||||||
continue
|
continue
|
||||||
props['source'] = source
|
props['source'] = source
|
||||||
if idx is cth or props.get(QuattroshapesReverseGeocoder.LEVEL, None) == 'neighborhood':
|
if idx is cth or props.get(QuattroshapesReverseGeocoder.LEVEL, None) == 'neighborhood':
|
||||||
props['component'] = AddressFormatter.SUBURB
|
component = AddressFormatter.SUBURB
|
||||||
|
if source == 'quattroshapes':
|
||||||
|
name = props.get('name')
|
||||||
|
if not name:
|
||||||
|
continue
|
||||||
|
for pattern, repl in cls.regex_replacements:
|
||||||
|
name = pattern.sub(repl, name)
|
||||||
|
|
||||||
|
props['name'] = name
|
||||||
|
|
||||||
|
if cls.quattroshapes_city_district_regex.match(name):
|
||||||
|
component = AddressFormatter.CITY_DISTRICT
|
||||||
|
|
||||||
|
props['component'] = component
|
||||||
props['polygon_type'] = 'neighborhood'
|
props['polygon_type'] = 'neighborhood'
|
||||||
else:
|
else:
|
||||||
# We don't actually care about local admin polygons unless they match OSM
|
# We don't actually care about local admin polygons unless they match OSM
|
||||||
|
|||||||
Reference in New Issue
Block a user