1

Google geocoding API を使用して住所照合アプリケーションを開発しています。問題は、検証しようとしているデータベース内のアドレスの一部が次のようなものであることです。

ATTN: Mr. THOMAS WONG 2457 Yonge St., Toronto, ON, N2S 2V5, Canada

それよりも

2457 Yonge St.、トロント、オン、N2S 2V5、カナダ

最初の文字列は null の結果を返します (個人の名前で始まるため)。2 番目の文字列は検証され、完全に正しい住所が返されます。

私の質問は次のとおりです。この問題に対する正しいアプローチは何でしょうか? アドレス文字列から関連部分だけを抽出する方法を考えていますが (関数を使用して)、もっと良いアイデアがあるのではないでしょうか?

ありがとう、MR

4

2 に答える 2

1

私は SmartyStreets で働いており、現在LiveAddress API で提供しているアドレス エクストラクタを書きました。それは難しい。「住所が数字で始まる場合」など、無理に決めないようにしなければならない仮定がたくさんあります。(申し訳ありませんが、DwB -- 考慮すべきことがたくさんあります。)

米国の住所をお持ちの場合でも、当社のツールが役立つ場合があります (サインアップと使用は、ある程度までは無料です)。抽出ユーティリティに関する別のスタック オーバーフローの投稿は次のとおりです: https://stackoverflow.com/a/16448034/1048862

これを行う最善の方法は、住所検証サービスを使用することです。これは、住所の範囲だけでなく、配送ポイントを検証できるものです (これは最も一般的です。特定の範囲内で推測するだけの場合は、「住所の検証」という主張には注意してください)。境界)。

また、Google は住所を検証しないことに注意してください。それはそれらを標準化するかもしれません、そしてそれが本当ならアドレス存在するであろう結果を返します、そしてそれが実際に有効であるならば、それはあなたの幸運な日です.

于 2013-06-13T18:49:14.130 に答える