属性データの結合について

1,488 views
Skip to first unread message

y nack

unread,
May 1, 2021, 8:26:29 PM5/1/21
to QGIS初心者質問グループ
お世話になります。
QGIS3.10.12A を使用しています。
長野県で山仕事をしているのですが、長野県の森林簿は次のようになっています。

施業キー     林班    小班    施業番号  枝番    整理番号
20960012G016-       12                    と                     16                                           1
20960012G016-        12                   と                     16                                            2
20960012G017-        12                   と                     17                                            1
20960012G018A       12                   と                     18                     イ                     1
20960012G018B       12                   と                     18                     ロ                     1
20960012G018B       12                   と                     18                     ロ                      2

林分の最小単位は枝番までなので施業キーもそのようになっています。
最後の整理番号は、複層林だったり混交林だったりで一つの林分の中に複数の樹種が
存在する場合に使われています。
施業キーで結合すると整理番号1のデータしか反映されないのですが、
2以下のデータを結合する方法はないのでしょうか。

どうかよろしくお願いします。

mooya

unread,
May 2, 2021, 1:59:33 AM5/2/21
to QGIS初心者質問グループ
こんにちは

1対多の結合になりますので、地物(行)を増やすか、フィールド(列)を増やすかだと思いますが、どちらでしょうか


2021年5月2日日曜日 9:26:29 UTC+9 y nack:

ありた

unread,
May 2, 2021, 6:54:40 AM5/2/21
to QGIS初心者質問グループ
こんにちは

属性の結合ですが、まず以下について整理してください。
A. 結合する元のデータ( GIS データ等)
B. 結合したいデータ(位置情報なしのデータ等)
森林簿のデータは後者の結合したいデータ B でしょうか?
もし、森林簿のデータを「施業キー」をキーにして結合したい場合は一対多もしくは
多対多の対応になります。


また、結合の方法は下記の方法があると思いますが、どちらを使用しましたか。
1. レイヤプロパティの「テーブル結合」
2. プロセシングツールの「属性テーブルで結合 (table join)」

1つ目の方法は、レイヤ間の関係を指定するもので、結合データ B 側の情報が書き換わると
追従するように(キャッシュが更新されれば)変化した属性テーブルとなります。
反面、データ A のデータ内容が実際に書き換わるわけではありませんので、
地物自体が増えるわけではなく、データ B 側にマッチする複数のデータがあっても、
ひとつのデータしか参照しません。(確認していませんが、上の方にある行が
優先的に結合されるかどうか、保証されていないと思います。)

2つ目の方法は、オプションで結合のタイプについて選択できます。
「マッチした地物ごとに地物を作成(1対多結合)」を指定すると、マッチした各データを
それぞれ結合した複数の地物が出力されます。
こちらは、結合した結果のデータを新たに作成しますので、あとからデータを修正しても
差し替わるように反映はされません。


なお、マッチする両方のデータの内容を、改行や点区切りなどで連結し、併記した状態に
なるような結合はできません。( SQL をつかえばできるかもしれませんが)
エクセル等で、今あるデータの構造を目的の結合ができるよう前処理の必要があります。

あるいは「整理番号1」ではなく「整理番号2」と結合したい場合は、「施業キー」が
一意ではないため、そもそも結合キーとして不適切です。
エクセル等で、一意となるキーを作成するなどの処理が必要となります。

ありた

unread,
May 4, 2021, 3:23:00 AM5/4/21
to QGIS初心者質問グループ
こんにちは

メールで返信いただきました。

> 属性の結合についてはその通りです。(AとBとの関係性)
今回の森林簿のデータは結合する B の方で、主体となる A のデータが別にあると
いうことですね。質問の際にはそれらの情報についても記載するようにしてください。

> 結合方法については1. しかやったことがありません。ほぼほぼ素人なので
> 難しいことはよくわからなくて「業務で使うQGIS」片手にやっています。
技術的なことや知識に関して置いといて、まず「どのようなデータがあり、
どのような結果が得たくて(目的)、どのような操作を行い、その結果、
(意図と反して)どのような結果が得られた」を整理してみてください。

今回、施業番号の下に枝番が、更にその下に整理番号が存在する森林簿データで
あるため、施業キーが一意でなく、複数データ存在しています。
その森林簿データを結合するにあたり、どのような結果がほしかったのでしょうか。

Reply all
Reply to author
Forward
0 new messages