見出し画像

QGISを開かず属性データを扱う工夫

こんにちは、木が伐れないキコリのツヨシです。
朝は寒いのに日中は暑い日があったりなかったりで着ていく服装に悩む今日この頃です。〔いや、天気予報よく見ろよ〕

さて、皆さんはQGIS内で扱っているデータでテーブルデータだけ扱いたいという時ってありませんか?
林業関連でいうと、”地番”や”所有者”や”面積”そして”樹種”などの情報をテーブル(属性)データだけで取得して後はエクセルなどで加工したいという時があります。

正直、テーブルデータだけ扱いたいのにわざわざQGISを立ち上げるのはめんどくさい。
しかもQGISのテーブルの操作(フィールド計算機など)に慣れていないのでやりたいことがすぐにできなかったりします。

おそらくPythonやSQLを扱えるともっと良い方法があるのかもしれませんが、しかしIT旧人類のエクセルユーザーにはハードルが高いでございます。〔少しずつは勉強はしてるんですよ〕
〔でも仕事は待ってくれない〕

シェープファイルだとdbfファイルがテーブルデータに当たるけど、
扱い方がよく分からないし、エクセルで開くと文字化けするし・・・
GeoPackgeだと内包されていてますます分からないし ・・・・ゴニョゴニョ

そんなテーブルデータを扱う方法がエクセル一択のわたくしができる方法は一つ「テーブルデータをあらかじめCSVファイルで作っておく」そして「”テーブル結合”でベクタデータとくっつける」でした。

こうしておけば、QGISを立ち上げなくてもcsvファイルを開けばテーブルデータをエクセルで参照することができます。
QGISでも結合したテーブルとベクタデータをグループ化して「レイヤ定義ファイルとして保存」すれば常に結合した状態でインポートができます。

①ベクタデータを準備

画像1

②合わせてcsvデータも準備

画像2

③ベクタデータのレイヤプロパティからテーブル結合(キーはid)

画像3

④ベクタデータのテーブルにCSVデータが追加される

画像4

⑤テーブルとベクタデータをグループ化してそのグループをレイヤ定義ファイルとして保存

画像5

こうすればいつでも結合状態でインポートが可能。
CSVデータを編集すればその内容も反映される。


しかし、この準備が面倒くさい。しかも結合が壊れることもある・・・。
早くSQLとpythonを自在に扱えるようにならなければ。

いいなと思ったら応援しよう!