[intersections] Abbreviating street names that are not base names with random probabilities
This commit is contained in:
@@ -1138,10 +1138,10 @@ class OSMAddressFormatter(object):
|
||||
if address_language and address_language not in (UNKNOWN_LANGUAGE, AMBIGUOUS_LANGUAGE):
|
||||
default_language = address_language
|
||||
|
||||
names[lang].append(way[tag])
|
||||
names[lang].append((way[tag], False))
|
||||
|
||||
if base_name_tag in way and default_language:
|
||||
names[default_language].append(way[base_name_tag])
|
||||
names[default_language].append((way[base_name_tag], True))
|
||||
|
||||
if not names:
|
||||
continue
|
||||
@@ -1158,9 +1158,9 @@ class OSMAddressFormatter(object):
|
||||
language_components[namespaced_language] = address_components
|
||||
|
||||
for way1, way2 in itertools.combinations(way_names, 2):
|
||||
formatted_intersections = []
|
||||
intersection_phrases = []
|
||||
for language in set(way1.keys()) & set(way2.keys()):
|
||||
for w1, w2 in itertools.product(way1[language], way2[language]):
|
||||
for (w1, w1_is_base), (w2, w2_is_base) in itertools.product(way1[language], way2[language]):
|
||||
address_components = language_components[language]
|
||||
|
||||
intersection_phrase = Intersection.phrase(language, country=country)
|
||||
@@ -1170,7 +1170,14 @@ class OSMAddressFormatter(object):
|
||||
w1 = self.components.cleaned_name(w1)
|
||||
w2 = self.components.cleaned_name(w2)
|
||||
|
||||
if not w1_is_base:
|
||||
w1 = self.abbreviated_street(w1, language)
|
||||
|
||||
if not w2_is_base:
|
||||
w2 = self.abbreviated_street(w2, langguage)
|
||||
|
||||
intersection = IntersectionQuery(road1=w1, intersection_phrase=intersection_phrase, road2=w2)
|
||||
|
||||
formatted = self.formatter.format_intersection(intersection, address_components, country, language, tag_components=tag_components)
|
||||
|
||||
if not formatted or not formatted.strip():
|
||||
|
||||
Reference in New Issue
Block a user