地図データに統計データを結合する前段階で必ず行わないといけない作業として、今回は融合(ディゾルブ)について説明します。(QGIS 2.14.9を使用)
(1) ディゾルブを行う理由
突然ですが、大阪府と兵庫県の市区町村数を合計するといくつになるでしょうか? ・・・答えは、大阪市の24区+堺市の7区+大阪府下41市町村(大阪市・堺市以外)+神戸市の9区+兵庫県下40市町(神戸市以外)の121市区町村です。
では、[NA-GIS90]で作成した大阪府・兵庫県区域データ(Osaka-Hyogo_150101)は、121個のフィーチャ(オブジェクト)の集合体になっているのでしょうか? それを確認するために、属性テーブルを開いてみましょう。レイヤの上で右クリック→<属性テーブルを開く>を選択すると・・・。
フィーチャ数はなんと2405個! 飛び地があるから・・・というレベルではなく、上図において大阪市此花区がいくつもみられることからもわかるように、各市区町村の区域が細かく分割されていることがわかります。
1つの市区町村が複数のフィーチャに分かれていると、いろいろ困ったことが起きます。たとえば、このような状態で統計データを結合すると、複数のフィーチャが同じデータを重複してもつことになり、データの演算・集計等を行ったときにおかしな結果になってしまいます。
ということで、飛び地などにより区域が複数に分かれていたとしても、1つの市区町村は1つのフィーチャになっていなければなりません。同じ属性値をもつ、今回の事例でいえば同じ市区町村名や市区町村コードであるフィーチャどうしをくっつける(融合する)ために、ディゾルブという手法が用いられます。
(2) ディゾルブを実行
ディゾルブを実行するためには、どの属性値をキーにするかを決める必要があります。今回は市区町村コードをキーにします。属性テーブル(上図参照)で見たように、市区町村コードは<N03_007>という列名(フィールド名)になっていることを覚えておきます。
上部メニューの<ベクタ>から、<空間演算ツール>→<融合>を選択。
<入力ベクタレイヤ>として、大阪府・兵庫県区域データ(Osaka-Hyogo_150101)を選択。
<融合フィールド>として、市区町村コード(N03_007)を選択。
<出力シェープファイル>の<ブラウズ>をクリックし、シェープファイルを保存するフォルダを指定した上で、適当なファイル名を入力し(ここでは「Osaka-Hyogo_dissolved」とする)、<保存>をクリック。
<OK>をクリックすると、処理が開始される。処理完了後、新たにつくられたシェープファイルが地図に追加される。
(3) 融合後のデータを確認
属性テーブルを開くと、フィーチャ数が121個になっていることがわかる。
1つの例として、大阪府茨木市のフィーチャを選択してみると、飛び地があるものの1つのフィーチャになっていることを確認できる。
プロジェクトを上書き保存して、今回の作業は終了。