Google地理编码API返回不确定的结果

问题描述 投票:3回答:1

对于我尝试进行地址解析的某些地址,谷歌返回了不恰当的不确定结果。

以下是示例,但这不是孤立的事件。返回的第一个结果是完全匹配,但是google将其标记为“ partial_match”:

街道地址:16160 Frederick Rd城市:盖瑟斯堡州:MD邮政编码:20877

链接:http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=16160%20Frederick%20Rd,+Gaithersburg,+MD,+20877

我在这里的问题是确定哪个是正确的匹配。在这种情况下,“部分匹配”标志没有用,因为在所有匹配结果上它都设置为“ true”。在这种情况下,我可以测试街道地址,城市,州和/或邮递区号是否相等,但是,如果我向Google发送的邮件与作为响应得到的邮件之间在拼写上存在细微差别,那也不行。 (例如:“道路”与“公路”)。

我在这里做错什么了吗?是否有一种确定性的方法可以区分我不熟悉的确切匹配?

谢谢!

geocoding google-geocoder street-address google-geocoding-api
1个回答
4
投票

Google在逼近地址方面做得很棒。您正在寻找的是地址验证。 SmartyStreets提供了一个包含在结果中的地址验证API。这是该地址的SmartyStreets API返回的内容:

输入:

https://us-street.api.smartystreets.com/street-address?auth-id=YOUR-AUTH-ID&candidates=10&street=16160%20Frederick%20Rd&city=Gaithersburg&state=MD&zipcode=20877

输出:

    [
  {
    "input_index": 0,
    "candidate_index": 0,
    "delivery_line_1": "16160 Frederick Rd",
    "last_line": "Gaithersburg MD 20877-4011",
    "delivery_point_barcode": "208774011604",
    "components": {
      "primary_number": "16160",
      "street_name": "Frederick",
      "street_suffix": "Rd",
      "city_name": "Gaithersburg",
      "default_city_name": "Gaithersburg",
      "state_abbreviation": "MD",
      "zipcode": "20877",
      "plus4_code": "4011",
      "delivery_point": "60",
      "delivery_point_check_digit": "4"
    },
    "metadata": {
      "record_type": "S",
      "zip_type": "Standard",
      "county_fips": "24031",
      "county_name": "Montgomery",
      "carrier_route": "C004",
      "congressional_district": "06",
      "rdi": "Commercial",
      "elot_sequence": "0057",
      "elot_sort": "A",
      "latitude": 39.12113,
      "longitude": -77.17568,
      "precision": "Zip9",
      "time_zone": "Eastern",
      "utc_offset": -5,
      "dst": true
    },
    "analysis": {
      "dpv_match_code": "Y",
      "dpv_footnotes": "AABB",
      "dpv_cmra": "N",
      "dpv_vacant": "N",
      "active": "N"
    }
  }
]

注意“ dpv_match_code”为“ Y”。那是USPS所说的经过验证的交付点-您知道它是那时的真实地址。 SmartyStreets使用官方的最新USPS数据,并且是经过CASS认证的软件提供商。

API对非营利组织,教育机构和低使用率用户免费。收到SmartyStreets的结果后,您就可以使用Google对其进行地理编码。完全披露:我是SmartyStreets的开发人员。

编辑:添加的纬度/经度字段(新发布)

© www.soinside.com 2019 - 2024. All rights reserved.