【e-stat】小地域データを独自の地域別ベクタに対応させたい

659 views
Skip to first unread message

arase...@gmail.com

unread,
Oct 22, 2018, 5:43:09 AM10/22/18
to QGIS初心者質問グループ
初めまして,お世話になります。
e-statからダウンロードした統計・境界データの加工について質問があります。
どなたか力を貸していただければ幸いです。

とりあえず私の手元にはとある県の

・結合済み境界データ(小地域)
・独自の地域分けを行い,50地域ほどに分類した境界データ

これらを用いて,50地域に分類された統計データを作成したいと考えています。
知りたいこととしては

①別レイヤのベクタの形状で別のレイヤのベクタをディゾルブさせることは可能なのか
②結合の際,その地物の統計データを合計ないし平均させることはできないか

のそれぞれの方法が知りたいと思っています。

自分でいくらか調べたところ,②に関してはArcGISではできるようですが,
QGISでもプラグインなどで可能になったりするのでしょうか。

私が現在使用しているのはQGIS 3.2.2ですが,他バージョンでも可能という情報でも歓迎します。
何卒よろしくお願い致します。

adachi

unread,
Oct 22, 2018, 10:12:39 AM10/22/18
to QGIS初心者質問グループ
一発でやる方法が思いつきませんでしたので、手順と考え方を示してみます。

前提として
・2つの境界データは、一番外側の境界はぴったり重なって共通している(A県の形はどちらのデータでも共通、内部の分割の仕方が違う)
・境界データでやる以上、統計値は基本的に「面積按分」する(他の考え方はあるでしょうか?考えが至らなかったらすみません)
小地域データをA、独自のデータをBとし、どちらもIDを付与して面積を算出しているものとします。

①ベクタ→オーバーレイ→Intersection (バージョンによってツール名が違うかもしれません)でAとBをIntersectする
 →結果として、県をAとB両方の境界で分割したデータCができる。属性はどちらのデータのものも保持される。

②属性テーブル→フィールド計算機で、できたデータの面積を算出する

③Cの中のあるひとつの地物aに着目すると、aの属性としてA(もとの小地域)の面積データとC(細切れ後)の面積データがあるはずなので
 フィールド計算機で(Cの面積)/(Aの面積)を計算
 →ある地物aの面積が、それが属する小地域の面積の何割にあたるか、という割合が計算される

④もともと持っている小地域Aのデータ(たとえば人口)に、上で計算したC/Aを掛けることにより、Aが持つ人口データを面積按分した数値がCに入る

⑤必要なデータ分上記④を繰り返す

⑥Dissolve with StatsプラグインでBのIDをもとに結合(このプラグインはバージョン3.0以降にはないかもです...)


データ数によっては、③〜④はエクセルでやったほうが早いかもしれません。
また、小数点以下の扱いにより計算前後の合計値が変わってしまうかもしれませんのでご注意ください。
Message has been deleted
Message has been deleted

Hanabusa

unread,
Oct 23, 2018, 1:46:55 AM10/23/18
to QGIS初心者質問グループ
adachi様

お早い回答ありがとうございます。
izayoi様もありがとうございました。

私が独自に分割した区分データももとは小地域の境界データを用いて作成したものなので,
分割線はどれも完全に一致しております。
ですので,面積按分までいかなくとも求められるのかなと思っております。

Intersect(QGIS 3.0では交差点)の考えは応用できそうです。
Aデータを独自のBデータでIntersectしたのち
BデータのIDでDissolveすればとりあえず結合はできそうですね。
結局はDissolve時にテーブル内の統計データも合計されてくれると助かるんですけどね。

ということで,もう一度自分で試行錯誤してみます。
自己完結してしまい申し訳ありません。
少ない情報の中,考えてくださり誠にありがとうございました。

adachi

unread,
Oct 23, 2018, 2:00:21 AM10/23/18
to QGIS初心者質問グループ
Hanabusa様

言葉足らずでしたが、手順の⑥で、QGISネイティブのDissolveでなく
Dissolve with Statsというプラグインを使用することにより、文字通り統計値の計算(合計や平均)ができます、という意味でした。

が、やはり2.18まででバージョン3.0以降にはなさそうでした。。

Hanabusa

unread,
Oct 23, 2018, 3:38:56 AM10/23/18
to QGIS初心者質問グループ
adachi様

なるほど,了解いたしました。
バージョン2.18も検討の視野に入れたいですが,
作業をGeopackageで行ってしまっているので,難しいところですね。
ありがとうございます。

adachi

unread,
Oct 23, 2018, 3:53:00 AM10/23/18
to QGIS初心者質問グループ
Hanabusa様

GeoPackage、バージョン3.0からメジャーになった感がありますが、2.18でも扱えたかと思います。

データベースとしてのGeopackageはデータベースメニュー→DBマネージャ→Geopackageを右クリック→新規接続 から
ファイルとしてのGeopackageはそのままドラッグ&ドロップで読み込めるはずです。


福岡

unread,
Oct 23, 2018, 4:03:32 AM10/23/18
to QGIS初心者質問グループ
こんにちは

皆様の投稿を興味深く拝見させて頂いております。
自分なら「交差」を使って、あとはExcelでゴリゴリと作業しそうです。(^_^;)アセアセ

ところでご存じかもしれませんが、プロセッシングツールのベクタ解析に「カテゴリ別統計」というものがありました。
そこで、ちょっと試しに「カテゴリのあるフィールド」を「交差」で得たIDにし、「統計情報を計算するフィールド」を面積に指定して出力してみました。

table.png


おそらく統計値が必要なのは、面積、人口、世帯数などの限られた項目だと思います。
このツールを利用する価値はありそうに思いましたので、念のためお知らせいたします。

Hanabusa

unread,
Oct 23, 2018, 4:50:03 AM10/23/18
to QGIS初心者質問グループ
adachi様

QGIS 2 でも使えるのですね。
ありがとうございます。
やってみようと思います。


福岡様

早速少し使ってみました。
年齢階級別の人口データ等を扱うとなると
計算フィールドが1つしか指定できないのはちょっと厳しいですね。
バッチ処理を使えばあるいはといった感じですかね。
しかし単純にひとつの数値を分析する際に使えるので,
今回のとは別で使わさせていただきます。(^^)/
ありがとうございます。
Reply all
Reply to author
Forward
0 new messages