1

Я использую google place для получения адреса, и мы как-то хотим, чтобы улица (маршрут в терминологии google) была разделена на название улицы и тип улицы. Мы также хотим, чтобы тип улицы соответствовал существующему столбцу в базе данных.
Но все становится сложнее, когда Google место иногда используют XXXX Street и несколько раз XXXX st
Например, это типичный адрес Google
Список типов улиц Google Place API

{ 
    administrative_area_level_1: ['short_name', 'VIC'], 
    locality: ['long_name', 'Carlton'], 
    postal_code: ['long_name', '3053'], 
    route: ['long_name', 'Canada Ln'], 
    street_number: ['short_name', '12'], 
    subpremise: ['short_name', '13'] 
} 

Но он всегда показывает Канада Лейн в поле внушения.

А иногда даже хуже, когда аббревиатура не соответствует моей локальной модели данных. Например, мы используем la вместо ln для обозначения полосы.
Будет понятно, если кто-нибудь скажет мне, где найти список типа улицы (и аббревиатуры), используемый Google API. Или есть способ отключить вариант сокращения?

ответ

0

Похоже, вы после «уличных суффиксов». Это сложно.

Не только они меняются по странам и языкам, даже в пределах одной страны и языка они могут использоваться по-разному; аббревиатуры могут иметь несколько значений: «Св» может быть «Улицей» «Святого»; аббревиатуры используются или не зависят от тонких правил, которые также меняются с места на место.

То же самое касается кардинальных точек (север, юг, восток, запад), которые являются частями названий дорог/улиц: «Северная С-С» или «N 11-я улица»? Это сложно.

Если у вас уже есть достаточное количество адресов, и вы заботитесь только об адресах на английском языке, вы можете взять последнее слово с каждого названия улицы в качестве суффикса. При сопоставлении с вашими собственными данными допускайте сокращения при сопоставлении, а не пытаетесь их расширить.

Например, не пытайтесь расширить «Canada La» на «Канал Лейн» так, чтобы он соответствовал «Lane». Вместо этого разверните «Lane» в [«Lane», «La», «Ln»] и сопоставьте суффиксы со всеми значениями.

Тогда вам понадобится стратегия для «коллизий», аббревиатуры, которые могут означать суффиксы 2+. Они кажутся редкими, я не могу их запомнить («St» - нет, потому что «Saint» не является суффиксом), а у USPS http://pe.usps.gov/text/pub28/28apc_002.htm, похоже, нет.