アドレスマッチング住所ジオコーダを作ったときのメモ簡易まとめ。

ジオコーダとは

住所文字列から緯度経度などの位置情報への変換を行う変換器。ジオコーダー。

住所っぽい文字列 → 住所を特定 → 緯度経度へ変換

っていう感じ。

データほすぃ

住所っぽいものから住所を特定するのは、検索アルゴリズムを書く人の腕しだい。
でも、住所文字列と緯度経度を紐つけるデータは別に必要。

そのデータは 街区レベル位置参照情報ダウンロードサービス からダウンロード可能。

ダウンロードできるデータのデータフォーマットは CSV (カンマ セパレーティッド バリュー)
CVS(コンカレント バージョンズ システム, とかコンビニ)ではない。間違えそうになったら、「かんませぱれーてぃっどばりゅー」だからCSVとつぶやくようにしてるので、最近は間違えにくくなった。

で、街区レベル位置参照情報DLなデータは、

00 : "都道府県名",
01 : "市区町村名",
02 : "大字・町丁目",
03 : "街区符号・地番",
04 : "座標系番号",
05 : "X座標",
06 : "Y座標",
07 : "緯度",
08 : "経度",
09 : "住居表示フラグ",
10 : "代表フラグ",
11 : "平成16年度履歴フラグ",
12 : "平成17年度履歴フラグ"

こんなフォーマット。

住所っぽいものから住所を特定するには

全文検索? namazu でも hyper estraier でも lucene でも mysql でも postgresql でも使えば良さげ。

追記: 2006-09-02

で、実際に全国分のダウンロードはけっこう大変。
全国分まとめてダウンロードということができない。
一度に5つの都道府県までしか選択できなくて、ダウンロードするのは1都道府県につき1ファイル。
データ量が多いから同時にダウンロードできない。
ファイルサイズが大きいから、まとめてDL禁止ってことかなぁ。
何度も同じような手作業でDLなんて……

北海道のデータファイルのURL
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/01000-04.0a.zip

青森のデータファイルのURL
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/02000-04.0a.zip

沖縄のデータファイルのURL
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/47000-04.0a.zip

お、URLに規則性が(^_^;
それぞれのファイルに変な認証がかかってなければ、ツールでらくらくDLできそうだなぁ……

ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/01000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/02000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/03000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/04000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/05000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/06000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/07000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/08000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/09000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/10000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/11000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/12000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/13000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/14000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/15000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/16000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/17000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/18000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/19000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/20000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/21000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/22000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/23000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/24000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/25000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/26000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/27000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/28000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/29000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/30000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/31000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/32000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/33000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/34000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/35000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/36000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/37000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/38000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/39000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/40000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/41000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/42000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/43000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/44000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/45000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/46000-04.0a.zip
ttp://nlftp.mlit.go.jp/isj/dls/data/04.0a/47000-04.0a.zip

あ、ラクラクっぽい。


コメント

大字・町丁目レベルの精度でも、住所は189737件あった。

00 : "都道府県名",
01 : "市区町村名",
02 : "大字・町丁目",
03 : "街区符号・地番",

MySQL で全文検索可能なように「街区符号・地番」の
精度で入れたときは、実際のデータベースファイルが3GB以上になってた。Full Text Index にすごい量のメモリを食いそう。

NI-Lab.さま
はじめまして、Bugna と申します。
geocoder.ja の記事を書いていて、位置参照情報のダウンロード方法をこちらに見つけて、記事の中からリンクをはらせていただきました。geocoder.ja のようなOpenSource Software のカジュアルに利活用できないかと、いろいろ試しています。よろしくお願いいたします。

tags: zlashdot GIS Geocoding

Posted by NI-Lab. (@nilab)