QGIS – 列の一括計算~フィールド計算機

概要

たとえば都道府県レイヤの属性データが次のようだとする。

都道府県名 市区町村コード
1 北海道 01101
2 青森県 02201
3 岩手県 03201
・・・ ・・・ ・・・

このデータは、実際に国土数値情報の行政界データを都道府県名で融合させた例で、元の市区町村名などのフィールドは削除している。

ここで都道府県コードを各都道府県に与えたいが、データとしては市区町村コードの形で残っているので、この先頭2文字に”000″を付けた5桁のコードを新たな都道府県コードのフィールドとして生成したい。

そこでこの操作を、フィールド操作のフィールド計算機で行う。

手順

  • 属性テーブルの操作の手順で、フィールド操作のペインを表示させる
  • 編集ボタンを押して編集モードに入る
  • フィールド計算機ボタンを押して計算機のダイアログを表示させる
  • 新しいフィールドを作るか、既存フィールドを更新するかを選択
    • 新しいフィールドを作る場合は、フィールド名やタイプ、フィールド長を入力
    • 今回は新しいフィールド”N03_000″に5桁固定の半角数字のテキストで定義
  • エディタを使ってフィールド計算の内容を記述
    • 今回は市区町村コードのフィールド”N03_007″の左から2文字を取り出し、それに”000″を付け足す
    • 文字列の左から取り出す関数はleft()
    • 文字列の結合は||ボタンで入力
    • 文字列はダブルクォート(“)で囲むとエラーになり、シングルクォートで通る(‘)
  • OKボタンを押す(この時点でまだフィールド計算はされない)
  • 編集ボタンを押して編集モードを解除
    • このときに「変更を保存するか」尋ねられるので、保存すれば計算が実行される

以下はフィールド計算機の入力の様子。

qgis-field-calculator-dialog

実行結果は以下のようになる。

都道府県名 市区町村コード N03_000
1 北海道 01101 01000
2 青森県 02201 02000
3 岩手県 03201 03000
・・・ ・・・ ・・・ ・・・