3

對於我嘗試進行地理編碼的某些地址,Google會返回不正確的結果。谷歌地理編碼API返回不確定結果

以下是一個例子,但它不是一個孤立的事件。第一個返回的結果是精確匹配,但是谷歌的標誌它作爲「partial_match」:

 
Street address: 16160 Frederick Rd 
City:   Gaithersburg 
State:   MD 
Zip code:  20877 

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

我在這裏的問題是確定哪些是正確的匹配。在這種情況下,「部分匹配」標誌沒有用,因爲它在所有匹配結果上都設置爲「true」。在這種情況下,我可以在街道地址,城市,州和/或郵編上測試平等,但是,如果在我發送的谷歌和我作爲響應之間的拼寫有所不同,不工作。 (例如:「Road」與「Rd」)。

我在這裏做錯了什麼?有沒有一種確定的方式來區分我不熟悉的完全匹配?

謝謝!

回答

3

Google在地址近似方面做得非常出色。你正在尋找的是地址驗證。 SmartyStreets提供了一個地址驗證API,它的結果是確鑿的。下面是該地址的SmartyStreets API返回:

輸入:

https://api.qualifiedaddress.com/street-address/?street=16160%20Frederick%20Rd&street2=&city=gaithersburg&state=md&zipcode=20877&candidates=10&auth-token=YOUR_AUTHENTICATION_TOKEN_HERE

輸出:

[ 
    { 
     "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", 
      "state_abbreviation": "MD", 
      "zipcode": "20877", 
      "plus4_code": "4011", 
      "delivery_point": "60", 
      "delivery_point_check_digit": "4" 
     }, 
     "metadata": { 
      "record_type": "S", 
      "county_fips": "24031", 
      "county_name": "Montgomery", 
      "carrier_route": "C004", 
      "congressional_district": "08", 
      "latitude": 39.12162, 
      "longitude": -77.17619, 
      "precision": "Zip9" 
     }, 
     "analysis": { 
      "dpv_match_code": "Y", 
      "dpv_footnotes": "AABB", 
      "dpv_cmra": "N", 
      "dpv_vacant": "N", 
      "ews_match": false 
     } 
    } 
] 

注意, 「dpv_match_code」 是 「Y」。這就是美國郵政發言人所說的驗證交貨點 - 你知道這是一個真正的地址。 SmartyStreets使用官方當前的USPS數據,並且是CASS認證的軟件提供商。

該API對非營利,教育機構和低使用率用戶免費。一旦您收到SmartyStreets的結果,您就可以使用Google進行地理編碼。充分披露:我是SmartyStreets的開發人員。

編輯:添加緯度/經度字段(新發布)

+1

心中已經已經集成Smarty的,街道變成了我的地址驗證算法。我甚至可以在電話中與你談論這種可能性 - 非常棒的電話支持!我測試了一些其他的服務,你的解析器是我遇到的最好的。我與Smarty-Streets有關的問題是它不能返回經度和緯度,所以如果我從smarty-streets中得到某些東西,我必須回去嘗試從其他地方獲取經度和緯度。 – 2012-02-22 16:54:05

+0

瞭解。對不起,我不認識你! :)在某個時刻,敬請關注經緯度是希望不會太遙遠的未來。 – mdwhatcott 2012-02-22 18:09:53

+1

更新!稍微延遲一下,但正如你所看到的:SmartyStreets現在執行地理編碼(並且有一段時間)。 – Matt 2012-10-01 03:57:36

相關問題