y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

ジオコーディングWebサービスの動作を確認するためのプログラム

これまでに、郵便番号→住所、郵便番号→会社住所、郵便番号→緯度経度、住所→緯度経度、緯度経度→住所のWebサービスを作り続けてきたが、動作を確認するためのインタフェースが欲しくなり、ASP.NETで作った
ASP.NETらしく、ajaxコントロールとupdateパネルを使って、部分的な描画を取り入れてみた。
郵便番号を入力して、住所が入力得られ、住所から緯度経度を得る・・というチェック用機能と
テキストエリアに住所を流し込んで、緯度経度情報付きで出力するジオコーディング機能を付けた。
住所録を使い、160件程度試してみたところ、3000msの処理時間だった。(1レコードの処理で20ms)
データベースレコードの正規化(暫定)が一通り終わった段階で、マッチ度は70%程度。まずまずなのか、まだまだなのか、その辺の判断基準も無いのだが、30%を別の手段で変換すると考えると、結構しんどい結果だ。緯度経度の確かさ(クリーニングした住所でマッチした件数を、緯度経度の確かさとした)は、1/1〜1/78まで開きがある。この確かさがどのように分布しているかや、傾向を示しているのかを調査して、さらにプログラムやデータの加工が必要だ。

■いくつかの試験結果とアドレス照合処理の修正
・とあるWebサイトの住所録371件でジオコーディングした結果
  →ジオコーディングできた件数:295
  →ジオコーディング出来なかった件数:76
  →失敗率:20.4%
  →精度:1/1-1/123

市区町村役場住所一覧の市区町村役場2031件をジオコーディング
  →所要時間:24234ms(1件あたり10ms)
  →ジオコーディングできた件数:1359
  →ジオコーディング出来なかった件数:672
  →失敗率:33.1%
  →精度:1/1-1/87

・アドレス照合処理の修正内容
与えられた住所をそのまま使って検索→丁目+番地で検索→丁目で検索

・GoogleMap上にポイントを落とした結果
ぴったりの場所に落ちる場合と、だいたいの位置が落ちる場合がまちまちだが、敷地が大きい施設(病院とか空港とか)なら問題なく使えそう。
市区町村役場は、素晴らしい一致が見られる。