はじめに
国土数値情報からダウンロードできる行政区域データのポリゴンは,市町村・特別区・政令指定都市の区が同じ属性に格納されています.
しかし,統計によっては行政区単位での集計を行わないものもあります.このようなデータを用いて地図を作成する際には,行政区別になっている政令指定都市のポリゴンをディゾルブしてやらなければなりません.行政区域データでは,政令指定都市名と,町村が所属する郡名とが同じ階層の属性に格納されているため,横着すると町村が巻き添えをくらってしまいます.したがって,少しだけ面倒な手順を踏まねばなりません.
手順
例として神奈川県の行政区域データを使用します.
神奈川県には横浜市,川崎市,相模原市の3つの政令指定都市があるため,行政区単位での集計を行わない統計があった場合,少々面倒なことになります.
さて,行政区域データの属性に関してですが,N03_003には郡・政令都市名,N03_004には市町村名が格納されています.したがって,N03_003を基準にディゾルブした場合,政令指定都市はそれぞれひとつのポリゴンになりますが,同じ郡に属する町村(中郡大磯町と二宮町など)も郡ごとにまとめられてしまいます.
市町村名を格納するフィールドを作る
属性テーブルを開き,フィールド計算機を立ち上げます.フィールド名は適当にname
とでもしておきます.フィールド型は,文字列を扱うためstring
にします.
次の条件式を入力します.
if(N03_003 LIKE '%市',N03_003,N03_004)
LIKE
は条件と部分一致するデータを抽出する演算子です.%
はワイルドカードです.N03_003が'市'で終わる文字列のとき,N03_003(政令指定都市名)を,そうでないとき,N03_004(市区町村)を返します.
条件式によって,name
に市町村名が入力されました.
市町村単位でディゾルブする
属性テーブルを閉じ,ベクタ>空間演算ツール>融合(dissolve) を選択します.
name
を基準属性として実行します.
政令指定都市の行政区を含まない市町村地図ができました.
name
には市町村名が格納されているため,このままname
をターゲット属性にしてテーブル結合したりもできます.