y-matsui::weblog

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

私家版:geocodingの精度比較

複数のgeocodingサイトで結果を比べてみる。テスト方法は、簡単。自宅住所をピンポイントで正確に落とせるかどうか。住所の書き方は、[漢数字]丁目+数字ではなく、*-**-**みたいな数字表記にした。市区町村なども省略しないで正確に。住所正規化によるブレがあまり無い書き方だ。地図表現上のずれをなくすため、geocodingで得られた緯度経度(wgs84)を、googlemapで表示して結果を比較した。
全国津々浦々で同じ精度であるはずも無いし(街区レベルの精度が異なるのは分かっている)、番地が飛びになっている部分の中心座標の取り方、住所正規化の方法などで違いが出てくるだろう。さぁ、レッツトライ!

GoogleMap
まずは、googleさん。完璧に自宅の中心にピンポイント攻撃。凄い!凄すぎる。プライバシーも何もあったもんじゃないね。
geocoding.jp
googlemapと全く同じ結果を返す。apiをそのまま使っているのかな?
位置参照技術を用いたツールとユーティリティ
longitude(横方向)で-0.00006、距離にして50mくらいずれる。latitudeはほぼ合ってる(+0.000003)。
街区レベル位置参照情報が元データだから、このあとの国交省で提供しているアドレスマッチングツールの結果と同じなのかな。
街区レベル位置参照情報アドレスマッチングツール(JNS住所認識システム)
longitude(横方向)で-0.0006、距離にして50mくらいずれる。latitudeはほぼ合ってる。
住所正規化コンバータ オンラインデモ
latで+0.0001,lonで-0.0009。横方向の距離にして70mずれる。
yahoo地図
yahoo地図(日本測地)とgooglemap(世界測地)の測地系が異なるので、URLとして得られるlat,lonをそのままでは、とんでもないところに連れて行かれる。
yahoo地図上で位置を確認すると、lat(上下)方向に10メートル上に表示される。
WebKANZKIさんの”位置に関するメタデータとその応用”で日本測地→世界測地の変換を行って、googlemapで表示する。
今度は上下方向、15メートル上が指示された。5メートル誤差があるっていっても、地図上の20mスケールとの目視比較だから、怪しいもんだ。まぁ、変換式の誤差はほとんど無視できるってことで。
緯度経度の数値で言えば、latが+0.0001、lonが+00002

サンプルひとつで乱暴な結論を導いちゃうと
(世界測地座標で比較した)正確さは
google > yahoo > 街区レベル位置参照情報 > 住所正規化コンバータ
・・の順になった。googleとyahooで15メートルの違い、googleと街区レベル位置参照情報は50メートル程度の違い。
Googlemapの精度ならパーソナルナビがOK、街区レベル位置参照情報はカーナビで「目的地周辺です。案内を終了します」位のものか。50メートル前後なら、まぁ目的地を探せなくは無いわな・・ってな感じ。

上記結果でgeociding自前実装の限界精度が(なんとなくだが)見えた(気がする)。
住所正規化という難題をクリアした場合でも100メートル程度は覚悟しなければならない。街区レベル位置参照情報とぴったりマッチした場合で、50メートル精度が限界ということ。

※しかし50メートル違ったらピンポイントの位置特定ではないわな。(ポイントではなくて、バッファ円で表現した方が親切)

そう考えると、家屋形状を正確にデータ化して、表札名と一致させたデータベースを持っている、”ゼンリ
ン”って凄いなって改めて思う。しかも、ビルなんかの階情報まで持ってるんだもんね。
GIS的には、最終的に求められる精度ってゼンリン住宅地図・・ってなっちゃうんだろうなぁ。

++++++++++++++++++++++++++++++++++++++++++
※注意!この精度比較結果は、ごく限られたサンプルを元に、自身の興味で行ったものです。
他への転載や、製品評価などの目的に使わないでください。
信頼に足る情報であるかどうかは、正直全く自信がありません。
ご自分の目で確認するようにしてください。
++++++++++++++++++++++++++++++++++++++++++