« GPSPilot Tracker (5) POIを使う | Main | GPSPilot Tracker (7) POIを地図上に表示する »

GPSPilot Tracker (6) 検索用住所データを登録する

ここでは国土地理院の公開している街区レベル位置参照情報を利用して、Trackerで住所検索を行う方法を紹介する。このデータは番地まで含まれているが、PDAのメモリや処理速度の関係で適度に間引きしなければならない。そうして間引きしたデータを、Topographerを用い、Trackerの読めるPOI形式ファイルに変換するのだ。

poiken.jpgまず街区レベル位置参照情報からデータをダウンロードしてこよう。世界測地系と東京測地系の両方あるので、世界測地系の方を選ぶ。ここで広い範囲を一気にダウンロードすることも可能だが、いずれにしても最終的には市区町村毎に一ファイルの形でダウンロードされる。しかしTrackerで扱う場合、一都道府県毎に一ファイル作成するのがもっとも使い勝手が良いと思われる。そうすると、左図のように都道府県がカテゴリーとして認識され、検索スピードを向上させるだけでなく、ファイルサイズも大きく間引きできるのだ。

というわけで、まずは市区町村毎のcsvデータを都道府県毎に一つにまとめる。(私はpacktextというツールを使わせて頂いている。)次に、好みに応じてデータを間引きする。間引きには、私はCHGFLDというツールを使わせてもらっている。この種の作業には表計算ソフトより遥かに適していると思う。

chgfld.jpgchgfldで開くとこのような画面になる。一レコード毎に「静岡県」というフィールドを持っているのが分かるだろう。都道府県はカテゴリで持たせる予定なので、このフィールドは必要ない。また、座標系番号、XY座標、住居表示フラグ、代表フラグも不要。これらのフィールドを一気に削除する。必要なのは都道府県名を除いた住所表示と経度緯度だけだ。

必要なデータが揃った。だが、この状態ではファイル容量が30MBもある。ここからどんどん間引きしてデータを削いでいくのだが、具体的にどこまで削るかは各自の判断という事になる。私の場合は、例えば二桁の番地なら、10,30,50というように、20番ずつのデータだけ入力している。こうしておおまかな範囲にジャンプする事ができれば、他の番地は簡単に地図上から探せるので、実用上不便は無い。いっそのこと番地をすべてカットしてしまっても、使い勝手はあまり変わらないだろう。

実際の削り方のヒントに触れておく。ChgFldには数字の左側に0を付加して、すべてのフィールドの桁数をそろえる機能があるので、これを使うと良い。例えばすべての番地を10桁の数に揃えたとする。ここから一桁の番地を抽出するには、0が9個連続して存在するフィールドだけを抽出すれば良い。ニ桁なら8個だ。そうして桁数毎にデータを分ければ、より細かい抽出がやりやすくなる。

面倒なように思えるかもしれないが、一都道府県毎に作成できるし、一回作ればそうそう作り直すようなものではないので、地図作成よりは遥かに楽だ。

データの間引きが完成したら、Topographerの指定するデータの並び順に変更し、読み込ませればpdbファイルが出来上がる。

※5.6からTopographerを使わずにPOIをインポートできるようになった

|

« GPSPilot Tracker (5) POIを使う | Main | GPSPilot Tracker (7) POIを地図上に表示する »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference GPSPilot Tracker (6) 検索用住所データを登録する:

« GPSPilot Tracker (5) POIを使う | Main | GPSPilot Tracker (7) POIを地図上に表示する »