ページ

2009年6月8日月曜日

ベクターデータの取扱い

このまえから延々と続いていることだけど、ベクターデータってのはかなり扱い
にくい...

そもそもデータがいくつかに分かれていることがよく分からん!
それがファイルサイズを少なくすることに貢献しているのだろうけど...

そんななかでGRASSでベクターデータを扱うときのコツが分かってきた!

今取り組んでいることは、国土数値情報の統一フォーマットからベクターデータ
を作るというもの!

やりかたは、統一フォーマットのデータファイルからデータを抜き出して、既成
のシェープファイルのdbfファイルと結合するという方法
をとっていた

でもこの方法はデータ量が多するし、処理も少し煩雑な気がしていた

そこで新たに思いついた方法が、統一フォーマットのデータから直接ベクター
データを作成する方法!!

やってみると、これまでの方法よりもいいみたい!!
ただしメッシュコードや座標データなど位置情報があるデータでしかできないけ
れど!

方法は

1.国土数値情報の統一フォーマットからdbfファイルの元となる部分のデータ
(メッシュコードを含む)だけを抽出してテキストファイルで保存する
2.テキストファイルに記載されているメッシュコードから、awkを利用してGRASS
にインポート可能なアスキー・スタンダードフォーマットのポリゴンを作成する
3.作成したベクターデータをGRASSにインポートする
4.インポートしたベクターデータをすぐにESRIシェープファイル形式でエクス
ポートする
5.ちょっと前の手順に戻って、統一フォーマットから作成したデータテキスト
(CSV)をMySqlにインポートする
6.その後、すぐにmysql2dbfでdbf形式でエクスポートする!
7.GRASSでエクスポートしたdbfファイル(データなし)を削除し、MySqlでエク
スポートしたdbfファイル(データ含む)と置き換える。
8.最後にすべてのベクターデータ(shp)をGRASSに再インポートすると完成!

という流れ

ここには他の方法も書いてあるけど、おそらくこっちの方が楽
試しにここの方法(dblnの修正)とかもしてみたけれどうまくいかなかった...

この方法ももう少し改良できるかもしれないので、いろいろ試してみよう

上手くいったらまたまとめて報告しま〜す!

0 件のコメント: