[osm] adding amenity=post_office to the generic place types (shouldn't be added as venue unless there's a known phrase in the name)
This commit is contained in:
@@ -207,7 +207,7 @@ class OSMAddressFormatter(object):
|
|||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def valid_venue_name(self, name, address_components, languages=None, is_rail_station=False):
|
def valid_venue_name(self, name, address_components, languages=None, is_generic=False):
|
||||||
if not name:
|
if not name:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@@ -231,7 +231,7 @@ class OSMAddressFormatter(object):
|
|||||||
if street_phrases - venue_phrases and not venue_phrases - street_phrases and not (AddressFormatter.HOUSE_NUMBER in address_components and AddressFormatter.ROAD in address_components):
|
if street_phrases - venue_phrases and not venue_phrases - street_phrases and not (AddressFormatter.HOUSE_NUMBER in address_components and AddressFormatter.ROAD in address_components):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if is_rail_station and not venue_phrases:
|
if is_generic and not venue_phrases:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if not address_components and not venue_phrases:
|
if not address_components and not venue_phrases:
|
||||||
@@ -826,8 +826,8 @@ class OSMAddressFormatter(object):
|
|||||||
|
|
||||||
return revised_place_tags, country
|
return revised_place_tags, country
|
||||||
|
|
||||||
def is_rail_station(self, tags):
|
def is_generic_place(self, tags):
|
||||||
return tags.get('railway', '').lower() == 'station'
|
return tags.get('railway', '').lower() == 'station' or tags.get('amenity', '').lower() == 'post_office'
|
||||||
|
|
||||||
def category_queries(self, tags, address_components, language, country=None, tag_components=True):
|
def category_queries(self, tags, address_components, language, country=None, tag_components=True):
|
||||||
formatted_addresses = []
|
formatted_addresses = []
|
||||||
@@ -939,7 +939,7 @@ class OSMAddressFormatter(object):
|
|||||||
|
|
||||||
self.remove_japanese_suburb_tags(tags)
|
self.remove_japanese_suburb_tags(tags)
|
||||||
|
|
||||||
is_rail_station = self.is_rail_station(tags)
|
is_generic_place = self.is_generic_place(tags)
|
||||||
|
|
||||||
revised_tags = self.normalize_address_components(tags)
|
revised_tags = self.normalize_address_components(tags)
|
||||||
if japanese_suburb is not None:
|
if japanese_suburb is not None:
|
||||||
@@ -960,7 +960,7 @@ class OSMAddressFormatter(object):
|
|||||||
building_venue_names = []
|
building_venue_names = []
|
||||||
|
|
||||||
building_components = self.building_components(latitude, longitude)
|
building_components = self.building_components(latitude, longitude)
|
||||||
building_is_rail_station = False
|
building_is_generic_place = False
|
||||||
if building_components:
|
if building_components:
|
||||||
num_floors = self.num_floors(building_components)
|
num_floors = self.num_floors(building_components)
|
||||||
|
|
||||||
@@ -975,7 +975,7 @@ class OSMAddressFormatter(object):
|
|||||||
elif k == AddressFormatter.HOUSE:
|
elif k == AddressFormatter.HOUSE:
|
||||||
building_venue_names.append(v)
|
building_venue_names.append(v)
|
||||||
|
|
||||||
building_is_rail_station = building_is_rail_station or self.is_rail_station(building_tags)
|
building_is_generic_place = building_is_generic_place or self.is_generic_place(building_tags)
|
||||||
|
|
||||||
subdivision_components = self.subdivision_components(latitude, longitude)
|
subdivision_components = self.subdivision_components(latitude, longitude)
|
||||||
if subdivision_components:
|
if subdivision_components:
|
||||||
@@ -1013,8 +1013,8 @@ class OSMAddressFormatter(object):
|
|||||||
|
|
||||||
street_languages = set((language,) if language not in (UNKNOWN_LANGUAGE, AMBIGUOUS_LANGUAGE) else languages)
|
street_languages = set((language,) if language not in (UNKNOWN_LANGUAGE, AMBIGUOUS_LANGUAGE) else languages)
|
||||||
|
|
||||||
venue_names = [venue_name for venue_name in venue_names if self.valid_venue_name(venue_name, expanded_components, street_languages, is_rail_station=is_rail_station)]
|
venue_names = [venue_name for venue_name in venue_names if self.valid_venue_name(venue_name, expanded_components, street_languages, is_generic=is_generic_place)]
|
||||||
venue_names.extend([venue_name for venue_name in building_venue_names if self.valid_venue_name(venue_name, expanded_components, street_languages, is_rail_station=building_is_rail_station)])
|
venue_names.extend([venue_name for venue_name in building_venue_names if self.valid_venue_name(venue_name, expanded_components, street_languages, is_generic_place=building_is_generic_place)])
|
||||||
|
|
||||||
all_venue_names = set(venue_names)
|
all_venue_names = set(venue_names)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user