3

私がジオコーディングしようとしている一部の住所について、googleは不適切に決定的な結果を返しません。

以下は一例ですが、単独のインシデントではありません。最初に返される結果は完全一致ですが、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に送信するものと応答として取得するもののスペルにわずかな違いがある場合は、どちらも動作しません。(例:「Road」と「Rd」)。

私はここで何か間違ったことをしていますか?私がよく知らない完全一致を区別する決定的な方法はありますか?

ありがとう!

4

1 に答える 1

3

グーグルはアドレス近似で素晴らしい仕事をします。あなたが探しているのはアドレス検証です。 SmartyStreetsは、その結果で決定的なアドレス検証APIを提供します。SmartyStreetsAPIがそのアドレスに対して返すものは次のとおりです。

入力:

https://api.qualifiedaddress.com/street-address/?street=16160%20Frederick%20Rd&street23%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」であることに注意してください。それはUSPSです-確認済みの配達ポイントについて話します-あなたはそれがその時点での実際の住所であることを知っています。SmartyStreetsは、公式の現在のUSPSデータを使用し、CASS認定のソフトウェアプロバイダーです。

APIは、非営利団体、教育機関、および使用率の低いユーザーは無料で利用できます。SmartyStreetsから結果を受け取ったら、Googleでジオコーディングできます。完全開示:私はSmartyStreetsの開発者です。

編集:緯度/経度フィールドを追加(新しくリリース)

于 2012-02-22T15:32:33.597 に答える