正如Dyppl所说,街道地址很凌乱。但是,如果您的地址数据代表美国地址,并且您有完整的地址(包括城市、州和/或邮政编码),您可以使用地址验证服务来解析(并验证!)和标准化这些组件。我在
SmartyStreets工作,这是一个地址验证提供商。以下是我之前写的一个快速的C#示例,调用我们的LiveAddress API:
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
编辑:包括纬度/经度字段(新发布)。