Как заявил Dyppl, адреса улиц грязные.Но если ваши адресные данные представляют адреса США и у вас есть полный адрес (включая город, штат и / или почтовый индекс), вы можете использовать службу проверки адресов для анализа (и проверки!) И стандартизации компонентов.Я работаю на SmartyStreets , провайдер проверки адресов.Вот небольшой пример C #, который я недавно написал, который вызывает наш API LiveAddress:
https://github.com/smartystreets/LiveAddressSamples/blob/master/c-sharp/street-address.cs
Вот результирующий вывод для этого примера (обратите внимание, что название улицы и основной номер анализируются враздел «компоненты»):
[
{
"input_index": 0,
"candidate_index": 0,
"delivery_line_1": "3214 N University Ave",
"last_line": "Provo UT 84604-4405",
"delivery_point_barcode": "846044405140",
"components": {
"primary_number": "3214",
"street_predirection": "N",
"street_name": "University",
"street_suffix": "Ave",
"city_name": "Provo",
"state_abbreviation": "UT",
"zipcode": "84604",
"plus4_code": "4405",
"delivery_point": "14",
"delivery_point_check_digit": "0"
},
"metadata": {
"record_type": "S",
"county_fips": "49049",
"county_name": "Utah",
"carrier_route": "C016",
"congressional_district": "03",
"latitude": 40.27586,
"longitude": -111.6576,
"precision": "Zip9"
},
"analysis": {
"dpv_match_code": "Y",
"dpv_footnotes": "AABBR1",
"dpv_cmra": "Y",
"dpv_vacant": "N",
"ews_match": false
}
}
]
Мы предоставляем абсолютно бесплатную подписку для пользователей с низким уровнем использования.Вот ссылка, которая объясняет все поля:
http://wiki.smartystreets.com/liveaddress_api_users_guide#json-responses
РЕДАКТИРОВАТЬ: включены поля широты / долготы (недавно выпущен).