国土数値情報 行政区域データ 政令市を1ポリゴンにマージする

国土数値情報の「行政区域ポリゴン」を使いたい…けど、政令市が区ごとに分かれている!!

円で囲ったあたりが横浜市。国土数値情報の行政区域ポリゴンは政令指定都市の場合、行政区ごとにポリゴンが分かれています。

今回は政令市を1つのポリゴンとして扱いたいときのために、結合する方法をまとめました。

行政界ポリゴン 政令指定都市を抽出

まずは国土数値情報の行政区域ポリゴンから、今回の処理対象である政令指定都市のポリゴンのみをフィルタリングします。
QGISに行政区域ポリゴンを取り込んだのち、フィルターで次の式を入力します。

"N03_003" like '%市' and "N03_004" like '%区'

「OK」を押すと次のように政令指定都市のポリゴンのみが表示されます。
2020年時点、政令指定都市は全国に20都市。こう見ると、いわゆる「太平洋ベルト」沿いに政令指定都市が並んでいることがよくわかりますね。

政令指定都市の結合

政令指定都市を1つのポリゴンにします。
例えば、相模原市は、緑区・南区・中央区の3つのポリゴンで出来ています。これを「相模原市」で1つのポリゴンにします。

ベクタ>空間演算ツール>ディゾルブ(融合)を選択。

入力レイヤは元データのレイヤを選択し、ディゾルブフィールドは市区町村名(N03_003)を選択。

政令指定都市のポリゴンが出来ました。

属性テーブルを見てみます。

政令指定都市(20都市)が見事にできています。
ただ、N003_007の属性値(市区町村コード)をみると、01101などのコードが入っています。
ここでは詳しくは述べませんが、政令指定都市のコードの下一桁は0にする必要があります(札幌市の場合01100など。01101は札幌市中央区を表すコードです。)

属性値の変更

属性一覧の左上の鉛筆マーク(編集モード)を選択。該当レイヤの編集を行えるようになります。
その状態で、鉛筆の真下にある編集バーにと入力します。
N03_007 = LEFT("N03_007",4) || '0'

「全部更新」を押すと、市区町村コードが更新されます。

同様にN03_004に記載されている行政区名を削除します。
N03_004 = null

元の行政区域ポリゴンデータの更新

元データ(国土数値情報 行政区域ポリゴン)のレイヤに戻ります。
先ほどのフィルタ(政令指定都市ポリゴンだけを表示するようにしたフィルタ)を解除します。

フィルタの式を全て消して「OK」を選択

その後、元データのレイヤを「編集モード」に変更します。
先ほど作成したレイヤ(下図の場合”融合”レイヤ)の全ポリゴンを、元データのレイヤにコピペします。
静止画で伝わりにくいかと思い、gifでまとめました。

融合レイヤで日本全土を選択したのちにコピー(Ctr+C)、その後元データのレイヤを選択してペースト(Ctr+V)しています

以上で政令指定都市の結合版データが完成しました。
試しに川崎市川崎区周辺でポリゴンを選択します。
すると下図のように政令指定都市のポリゴンと行政区のポリゴンが選択されます。

余談

このままで使うこともできますし、行政区のポリゴンが邪魔な場合、最初に行政区のポリゴンだけを表示したように、フィルターを使って行政区のポリゴンをフィルタリングしてご使用ください(最初のフィルターの逆を取るのでフィルタリング式は下記の通りになります)。

"N03_003" not like '%市' or "N03_004" not like '%区'

国土数値情報 行政区域データ 政令市を1ポリゴンにマージする” に対して1件のコメントがあります。

コメントは受け付けていません。