概要
国土数値情報の行政界データは、政令市の区が他の市町村と同じレベルで「行政区域」として扱われている。たとえば神奈川県を例にとると、横浜・川崎・相模原の3政令市については各区のポリゴンが他の市町村と同じように表示される。
属性テーブルのフィールドでも、最も細かい名称フィールド”N03_004″で政令市は区単位で、政令市名は郡名と同じフィールド”N03_003″に記録されている。
政令市区の融合
政令市も一般市と並びで扱うケースのために、政令市と他の市町村が同じフィールドになるように再構成する。
神奈川県を例にとると、行政界データは以下のように政令市~一般市~郡部町村という構成になっている(注目しているカラムのみ示している)。
N03_001 | N03_003 | N03_004 | N03_007 |
神奈川県 | 横浜市 | 鶴見区 | 14101 |
: | : | : | : |
神奈川県 | 横浜市 | 都筑区 | 14118 |
神奈川県 | 川崎市 | 川崎区 | 14131 |
: | : | : | : |
神奈川県 | 川崎市 | 麻生区 | 14137 |
神奈川県 | 相模原市 | 緑区 | 14151 |
: | : | : | : |
神奈川県 | 相模原市 | 南区 | 14153 |
神奈川県 | 横須賀市 | 14201 | |
: | : | : | |
神奈川県 | 綾瀬市 | 14218 | |
神奈川県 | 三浦郡 | 葉山町 | 14301 |
: | : | : | : |
神奈川県 | 愛甲郡 | 清川村 | 14402 |
このうち同じ政令市の区を地物までまとめて一つの政令市として扱うようにする。
N03_001 | N03_007 | N03_901 |
神奈川県 | 14100 | 横浜市 |
神奈川県 | 14130 | 川崎市 |
神奈川県 | 14150 | 相模原市 |
神奈川県 | 14201 | 横須賀市 |
: | : | : |
神奈川県 | 14218 | 綾瀬市 |
神奈川県 | 14301 | 葉山町 |
: | : | : |
神奈川県 | 14402 | 清川村 |
大まかな手順は以下の通り
- 政令市を含んだ市町村名を、新たにフィールドを作ってそこに設定
- 政令市のコードは、従来のコード欄の値を手打ちで修正
市町村欄の生成
- 神奈川県のレイヤの属性テーブルを表示
- フィールド計算機を立ち上げる
- 「新しいフィールドを作る」にチェックし、出力フィールド名、フィールドタイプ、フィールド長を設定
- 条件式を入力
- OKボタンを押してダイアログを閉じる
- レイヤの編集モードを解除
条件式は以下の通り。
1 |
if( "N03_003" LIKE '%市', "N03_003" , "N03_004" ) |
フィールドN03_003は以下のいずれか
- N03_004が政令市区の場合は政令市名
- N03_004が一般市の場合は市名
- N03_004が町村の場合は郡名
そこで、N03_003が’市’で終わる場合(政令市の場合)はN03_003を、その他(一般市町村)の場合はN03_004を新たなフィールドN03_901にセットする。
実行結果は以下の通り。
次に、「ベクタ」→「空間演算」→「Dissolve」でN03_901フィールドの値で融合処理。融合後の地物は以下の通りで、政令市が一体化されている。
属性テーブルを開いてみると3政令市がそれぞれ一つにまとめられているが、各フィールドは各政令市のいずれか一つの区のデータのみが残っている。これらについては、手打ちで修正した。