エアロトヨタコラムColumn

QGIS

QGISのフィールド名と属性の表示を(見た目のみ)置き替える(例えば国土数値情報)

この記事でわかること

・国土数値情報のデータのように、フィールド名や属性データがコード番号で登録されている場合、QGISで「見た目のみ」わかりやすい名称、データに置き替えることができます。

この記事は、執筆時の安定版(LTR)であるQGIS Ver3.44で作成しています。


フィールド名、属性データがコードや記号でよくわからない

国土数値情報などからダウンロードできるデータには、属性のフィールド名が記号になっているもの、属性データがコードになっているものなどがあります。
データ公開ページには、フィールド名やコードの意味が記載してありますが、QGISでデータを使うときに、そのままではデータの意味がよくわかりません。
 

[図:国土数値情報の道路データの属性データ]

テーブル結合やフィールド計算機でデータ自体を入れ替えることは可能ですが、そうするとデータ更新があるたびに、その処理を行う必要があります。
そこで下図のように、データはそのままで、表示のみを置き替えることで、QGISでデータの意味をわかりやすくすることができます。

しかもその設定は、スタイルファイル(QMLファイル)に保存できるので、データ更新があってもスタイルファイルを読み込むだけで、適用することができます。

[図:フィールド名と属性データを置き換えた属性テーブル]

今回は、国土数値情報の道路データを例として説明を行います。


フィールド名に別名を設定する

QGISでは、フィールド名に「別名」を設定することで、元データはそのままで、QGISでの表示のみを別名で表示することが可能です。
別名の設定は、レイヤプロパティの「属性フォーム」で行います。

変更したいレイヤを右クリックして「プロパティ」を選択します。(レイヤをダブルクリックでもOK)

属性フォーム」を選択し、別名を設定したいフィールドを選択します。
別名(Alias)」に別名を入力します。

すべてのフィールドに対して、別名を設定します。
設定後にレイヤプロパティの「OK」ボタンをクリックすると別名が適用されます。

再度レイヤプロパティを表示して、「フィールド」を確認するとすべてのフィールドの別名を確認できます。

コードの属性データを置き換える

属性データがコード番号の場合、CSVで置き換えリストを作成することで、簡単にコード番号を値に置き換えることができます。

まずは、CSVを作成します。
※直接「バリューマップ」(後述)のリストに手入力することも可能です。その場合、CSVは作成しません。
国土数値情報の場合、「コードリスト」がダウンロードページにあるので、コードリストをコピーしてExcelに貼付け、CSVファイルで保存します。

レイヤプロパティを表示し、「属性フォーム」を選択します。
コードから値に変更したいフィールドを選択して、「ウィジェット型」を「バリューマップ」に変更します。
CSVファイルからデータをロード」ボタンをクリックして、先程保存したCSVファイルを指定します。
※リストに直接手入力することも可能です。

一番上の見出し行も読み込まれているので、不要な行を選択して「選択されたものを削除する」ボタンをクリックして削除します。
設定したら、レイヤプロパティの「OK」ボタンをクリックして、変更を適用します。

属性テーブルを確認すると、コード番号が適応する値に置き換わっています。

他のコードリストがあるフィールドもすべてレイヤプロパティの「属性フォーム」で「バリューマップ」に設定してコードリストを適用します。
適用後に属性テーブルを確認すると、すべて適用する値に置き換わっています。

ただし、データ自体が置き換わっているわけではなく、表示のみを置き換えているだけですので、データを使った分析などを行う際には、元のコード番号を利用して行うことになりますので注意してください。


スタイルファイル(QML)に設定を保存する

属性フォームの設定は、レイヤスタイルファイル(QMLファイル)に保存することができます。
レイヤスタイルファイルに保存しておけば、同じ構造の別のレイヤファイルに同じ設定を適用することができるので、データ更新などがあったときにも便利です。
レイヤスタイルファイルには、レイヤのスタイル(塗りつぶし色や線色など)も保存されるので、あらかじめ必要なスタイル設定をしておくと良いです。
 

レイヤを右クリックして、「エクスポート」>「QGISレイヤスタイルファイルとして保存」を選択します。

「・・・」ボタンをクリックして、ファイルの保存先とファイル名を指定します。
OK」ボタンでファイルを保存できます。
※保存する設定を選択できるので、「属性フォーム」だけにチェックを付けて保存することも可能です。

スタイルファイル(QML)を読み込む

レイヤスタイルファイルを読み込むことで、設定したスタイルや属性フォームの設定をレイヤに適用できます。

レイヤプロパティを開き、画面下の「スタイル」ボタンをクリックして、「スタイルを読み込む」を選択します。
 

「・・・」ボタンで保存してあるレイヤスタイルファイル(QMLファイル)を選択します。
スタイルを読み込む」ボタンでスタイルを適用することができます。
※属性フォームの設定のみを適用したい場合は、「属性フォーム」だけにチェックを付けて読み込みます。

レイヤプロパティの「属性フォーム」を確認すると、「別名」とコードリストが適用されているのが確認できます。
 

まとめ

国土数値情報のデータのように、フィールド名が記号番号等、属性データがコードになっている場合に、表示を置き換えることができました。
設定をスタイルファイルに保存しておくことができるので、データ更新があった際にも簡単に再設定を行うことが可能です。
国土数値情報を使う際には、ぜひお試しください。

記事編集:喜多耕一

==================

【QGIS講習会を実施しています】

エアロトヨタでは、自治体向けのQGIS講習会を実施しています。

初級者向け、中級者向けのほか、防災、都市計画、林業などの専門的な内容もお受けします。
職場でQGISを使いたい」「QGISの操作方法を知りたい」「QGISでデータ分析したい」などがありましたら、ぜひエアロトヨタにご相談ください。
豊富な講習経験のある講師が、親切丁寧な講習を行います。
民間企業の方もお気軽にお問い合わせください!

エアロトヨタ QGIS & A
自治体業務で使うQGIS活用講座 研修紹介 ダイジェスト版(Youtube)

Other Columnその他のコラム

コラム一覧を見る

TOP