QGIS – 属性データの項目名について

項目名の制限と対策

QGISは属性名の長さが半角10文字以内と短いため使い難い。より長い文字列を項目名として使う対策として2通りある。

  1. 項目名を編集する方法
  2. 項目の別名を定義する方法

項目名自体を編集するには、プロセッシングツールを使う必要があり、新しいShapeファイルへ書き出すことになるので手間がかかる。

項目の別名は通常メニューから操作でき、新しいShapeファイルも作成されない。

項目名を編集する方法

各レイヤの属性データの項目名を変更方法として、Table Managerというプラグインの利用が紹介されているが、これを実行してみたところ「最新バージョンではQGIS内でテーブル操作が可能となっており、プラグインの仕様はデータの破壊の可能性が・・・」といった趣旨の警告ダイアログが立ち上がる。

プロセッシングツールの「フィールドのリファクタリング」を用いるとよいらしいので、メニューからたどってみると、属性テーブルの項目情報が表示され、それらが変更可能になっていた。

メモとして手順だけを示しておく。

  1. 「プロセッシング」→「ツールボックス」でプロセッシングツールボックスが開く
  2. 「QGISジオアルゴリズム」→「ベクターテーブルツール」と階層をたどると「フィールドのリファクタリング」が見つかる
  3. それをダブルクリックするとダイアログが立ち上がり、属性テーブルの項目情報が表示される。
  4. 入力レイヤを選択
    • “Do you want to reset the field mapping?”のダイアログに「はい」
  5. フィールドマッピングエリアで、項目名(Name)の書き換え
  6.  Refactordで新しいファイルの保存場所とファイル名を指定
    • System(UTF-8にしたらエラーになって文字化けした)
  7. Run
    • Pythonでエラーが出るが気にしない

注意点

新しいShapeファイルの書き出しは、フォルダが空の場合は早いが、既に同名のshpファイルがある場合は極端に処理が重くなる

項目名の別名を定義する方法

レイヤのプロパティから、各項目の別名を入力・設定することができる。この方法は新しいShapeファイルを生成しないので時間がかからない。

  1. 「レイヤ」→「プロパティ」で属性テーブルが表示される
  2. 「別名」欄に別名を入力

これによって、属性テーブルを表示させたときは項目名に別名が表示されるようになる。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です