2009-05-18 21 views
6

this questionと多少関連していますが、特にQuickBooksについての回答がない場合は、誰でもJava用のアドレスパーサーを知っていますか?構造化されていない住所情報を取り、アドレス線1,2、市の州の郵便番号と国を解析することができるものは何ですか?Javaの郵便住所パーサー

答えて

8

私は、GoogleマップのWebサービスがであり、これを行うにあたり偉大なであることを知っています。だから、もしそれを使いたいのであれば、多くの労力を節約することができます。

実際の問題は、UNSTRUCTUREDアドレスを効果的に解析するために、都市/国/都道府県名の世界的なデータベースが必要なことです。

string url = "http://maps.google.com/maps/geo?key=" + HttpUtility.UrlEncode(this.apiKey) + "&sensor=false&output=xml&oe=utf8&q=" + HttpUtility.UrlEncode(location); 
+9

これには注意してください。 Google TOSは自動クエリを禁止しています。 –

4

は、このスタックオーバーフローの問題を参照することもできます:私はC#でGoogle MapsのAPIで使用するためのURLを構築する方法をここで

がある "Parse usable Street Address, City, State, Zip from a string"。実際のJavaコードでは仕事をすることはできませんが(VBのほんの一部)、問題の議論があり、John Gietzenが言及した、Webサービスを使ってそれを解釈する方法についての詳細があります。

1

www.address-parser.comを参照してください。これらは、国際的なアドレスを解析するためのWebサービスを提供します。

+0

偉大な発見、ありがとう!私は彼らがJava APIを提供したいと思っています(現実的な理由から、このシナリオではWebサービスはうまく機能しません)。 – Yishai

+1

商品については、http://www.melissadata.comをご覧ください。彼らは私がテストしていないJava APIを提供しています。 JNIはCベースの製品のラッパーです。 – Dave

2

ムーラルプロジェクトには、アドレスパーサー:https://mural.dev.java.net/があります。私はより大きな壁のエンジンからそれを引き出す方法を考え出していませんが、いくつかの非常に限られたテストに基づいて動作します。

5

SourceForge JGeocoderには便利な便利なアドレスパーサーがあります。 http://jgeocoder.sourceforge.net/parser.htmlを参照してください。

+0

私が探していたもの。スーパーロバストではないことに注意してください - 私はコードをアドレス文字列(都市なし)だけ渡し、ヌルポインタ例外を持っています。それでも、無料で自由にライセンスされています。 – mooreds

関連する問題