ブログトップ 記事一覧 ログイン 無料ブログ開設

spiritlooseのはてなダイアリー このページをアンテナに追加 RSSフィード

2006-11-20

[][] オープンソースの GeoCoder 「geocoder.ja」がすごい


http://www.postlbs.org/postlbs-cms/ja/geocoder

オープンソースの GeoCoder。「ジオコーダーじゃ」と読むらしい。

これはすごいな。


早速使ってみた。

まずデータを揃えるのが結構大変。


ゆうびんホームページの郵便番号データと国土交通省から街区レベル位置参照情報のデータを取ってきて、Windows専用のデータ変換ツールでデータを構築する必要がある。


国土交通省のデータのダウンロードがすさまじくだるい・・・

普通にクリックしていくと多分全部集めるのに200回ぐらいクリックしなきゃいけない。

FireBugで多少楽はしたけど大変だった。

このありえないインターフェースはなんとかならんのかなぁ。


で使ってみた感じは、検索は非常に速い。

精度はGoogleMapsのGeoCoderとかにはかなわないけど、それなりにいい感じ。

一番詳細なレベルではてなの住所(東京都渋谷区鉢山町9-31 NTTコミュニケーションズ鉢山ビル1F)をgeocodeしたところ、

  • 東京都渋谷区鉢山町9番
  • 緯度:35.651300
  • 経度:139.698000

まで取れた。最大のlevel8まで取れないのはなんでかわからないけど。これでも結構すごい。


というわけで、Perlから使えるようにXSでモジュール書いた。

Jiro Nishiguchi / Geo-Coder-Ja - search.cpan.org


他のサービスに頼らずに完全に自前でGeoCoding出来るので、そこそこ使いどころはあるんじゃないかと思う。

複数の候補が取れないのがちょっとつらいかな。


デモは一応こちら。

http://spiritloose.net/misc/geocoder/


デフォルトの load_level だとメモリを300MB近くごっそり持ってかれるので、デモでは一番低いload_levelにしてる。

これだと行政区域までしか検索できない・・・


load_level でメモリ使用量がかなり変わる(デモのDB_GYOSEIだとすごく少ない)。

メモリ使用量がきついので、インスタンスを使いまわすようにしないと結構厳しい。

裏でデーモン化してつかうのがいいかなぁ。

POEでさくっとつくって使うのもいいかも。


あと、同じくオークニー社の経路探索エンジン pgRouting も気になる。

こっちも時間があるときに試してみよう。


それはそうと、GoogleMapsのGeoCoderが早く復活しないかなぁ。

APIだと今のところ Geo::Coder::YahooJapan がかなり使える。


追記

本家からリンク貼ってもらったみたいですね。どうもです。

nilabnilab 2006/11/21 08:47 >国土交通省のデータのダウンロードがすさまじくだるい・・・

マジメにDLしていると泣けてくるので、私はこんな風にDLしました、ということで。
っ http://www.nilab.info/zurazure2/archives/000335.html

GeoGeo 2006/11/21 15:53 >>GoogleMapsのGeoCoderが早く復活しないかなぁ。

これって復活の見込みあるんですか?
確かゼンリンとの契約上の制約と聞きましたが。

spiritloosespiritloose 2006/11/21 16:06 いや、知らねっす。ただの願望です。
方法を変えて提供してくれる可能性はあるんじゃないでしょうか。
っていうのも願望に過ぎないですが。

kokogikokokogiko 2006/12/11 12:55 すみません、私もGeocoder.ja試そうとしているのですが、
http://www.postlbs.org/postlbs-cms/ja/node/59

5.1.3住所データベースの作成
3)町大字レコードファイル
の手順を実行していると、CityCodeが00で範囲内にありません、みたいな英語のエラーメッセージが延々と流れた後、できたファイルの中身を見てみるとヘッダだけの数バイトのファイルだったりするんですけど、これって正常でしょうか?

spiritloosespiritloose 2006/12/11 13:58 >kokogikoさん
覚えてませんが、なんかエラーっぽいメッセージはでていたような気がします。
無視して進めていたら出来たような気がしますので、試してみてはいかがでしょうか。

nanashinanashi 2007/08/17 12:11 インストールしてsampleのlinematchを動かしてみたら
Now loading
Please input address string.
東京都渋谷区神南1-1-1
level=4 lat=35.660750 lon=139.701305 str=東京都渋谷区
東京都港区元赤坂1-1-1
level=6 lat=0.000000 lon=0.000000 str=東京都港区元赤坂一丁目
のような感じになるんですが、なにかおかしいのかな?

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/spiritloose/20061120/1163983849