Re: [OSGeoJapan-discuss] QGIS 属性データの結合について

Yoichi Kayama yoichi.kayama @ gmail.com
2010年 10月 15日 (金) 13:33:19 EDT


山本様

はじめまして。
嘉山と申します。

シェープファイルで重い処理をやるのはちょっと苦しいと思います。

http://help.arcgis.com/ja/arcgisdesktop/10.0/help/index.html#//002t0000000m000000.htm

上記にあるようにシェープファイルの属性データベースであるdbase自体が結構古い技術の
ものです。このファイル形式は公開されているため、いろいろなGIS間でデータ交換のために
よく利用はされています。しかし90000件の結合処理に実用的に利用できるものではない
と思います。

手じかなところではPostGIS/PostgreSQLのデータベースを構築すれば、そこに
シェープファイルの内容を1個の表として格納することができます。

CSVファイルも1個の表として格納できます。

PostgreSQLのSQLで表の結合を行うことはできます。
ですからシェープファイルから作成した表とCSVファイルから作成した表をSQLで結合
することができればPostgreSQLのSQLでご希望の処理ができるかもしれません。
ただし、この時インデックスをちゃんとつくるかどうかで速度がえらく違うと思います。

PostGIS/PostgreSQLに格納された空間情報付のテーブルはQGISのレイヤとして
利用することが可能です。
またPostGIS/PostgreSQLの空間情報付テーブルの内容をシェープファイルに変換
することも可能です。最終的に必要なものが属性が結合されたシェープファイルである
ならそういった方法があります。ただ90000レコードのシェープファイルよりは
90000レコードのPostGIS/PostgreSQLのテーブルのほうがアプリケーションプログラム
の側からすると使いやすいと思います。


2010年10月15日16:17 山本 健太 <k-yamamoto @ matsumoto-forest.jp>:
> はじめまして
>
> 最近QGISを使い始めたのですがデータの結合がうまく出来ず困っております。使
> 用マシンはWinXPでQGISのバージョンは1.05です。シェープファイルにcsvの属性
> データを結合したいのですが、csvのデータが約90,000件あって結合処理で1週間
> かけて結局フリーズで失敗。次にcsvを30に分割して順番に結合してみようと思
> いました。最初の一つ目は無事結合できた(仮にA.shp)のですが、その次A.shpに
> 二つ目のcsvを結合しようとすると途中まではうまくいくのですが最後に「以下
> の出力shapefileが出力されました〜これを新しいレイヤとしてTOCに追加します
> か  はい・いいえ」とメッセージが表示され「はい」を選択するとロードエ
> ラーがでて失敗してしまいます。操作手順が良くないのか、もしくは他に方法が
> あるかどうか、拙い説明で申し訳ございませんがご教授のほどよろしくお願いい
> たします。
>
> 山本
>
> _______________________________________________
> OSGeoJapan-discuss mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>
>


OSGeoJapan-discuss メーリングリストの案内