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

Nobusuke Iwasaki wata909 @ gmail.com
2010年 10月 16日 (土) 11:23:31 EDT


山本さん,嘉山さん

岩崎ともうします。

嘉山さんのおっしゃるとおり,90000件のデータを扱うのであれば,PostGIS/PostgreSQLを利用するのが効率がよいと思います。
ただ,これまでデータベースやSQL文章等を扱ったことがない場合,実際にこの手段が実行可能かというと,なかなか難しいと思います。
ですので,とにかくQGISでやる場合について,いくつかコメントを。

○カラム名に日本語が入っていないか
shpファイルの場合,嘉山さんの指摘されているように属性テーブルは.dbfというファイルに格納されています。
これが特にカラム名に日本語などの2バイト文字が入っていた場合,結合が余り上手くいかなかった気がします(うろ覚えですが・・・)。
まず,カラム名に日本語が入っていたら,英語やローマ字に変えてみると,上手くいくかもしれません。

○QGISのバージョンを上げてみる
バージョン1.05を使われているとのことですが,最新のバージョンは1.5になります。
9万件のデータは行ったことがないのですが,三次メッシュ(地物にして12,000)で結合させたときは何とか動きました。

○ファイルの分割について
csvファイルを分割して行われたということですが,これはカラム毎にまとめたのでしょうか,ライン毎にまとめたのでしょうか。9万は無理でも地物が1万程度であればQGIS+Shpでも何とか結合してくれるので,csvではなくshpの方を複数に分割し,それに対応する様にcsvをライン毎に分割して作業を行い,その上でまた一つに戻すという方法もあると思います。

以上,参考になれば幸いです。



2010年10月15日19:33 Yoichi Kayama <yoichi.kayama @ gmail.com>:
> 山本様
>
> はじめまして。
> 嘉山と申します。
>
> シェープファイルで重い処理をやるのはちょっと苦しいと思います。
>
> 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 mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>
>


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