属性テーブルの見方と使い方:基本操作とよくあるトラブルの解決方法
この記事でわかること
- QGISの属性テーブルの基本的な見方と使い方
- 属性テーブルのデータをExcelにエクスポートする手順
- 属性テーブルで発生する文字化けの原因とその解決方法
こんな人におすすめ
- 属性テーブルの基本操作を学びたい人
- 属性テーブルでの文字化けに悩んでいる方
はじめに
QGISにおける属性テーブルは、位置情報データが持つ情報をテーブル形式で表示するもので、各レイヤに関連する属性データ(例えば、名前、面積、人口などの情報)が含まれています。この記事では、QGISにおける属性テーブルの基本的な使い方について説明します。
属性テーブルの表示
属性テーブルを表示するには、QGISのレイヤパネルから対象のレイヤを右クリックし、[属性テーブルを開く]を選択します。
これにより、新しいウィンドウで属性テーブルが開き、選択したレイヤに関連する属性データがテーブル形式で表示されます。
属性テーブルには、列を表す「フィールド」と、行を表す「レコード」の2つの情報からなります。
- フィールド(列): 各列は、特定の属性を表します。例えば、名称、コード、面積、長さ、分類などさまざまな情報が含まれます。
- レコード(行): 各行は、レイヤ内の地物(一つの図形)に対応するデータを示します。これにより、地理データと属性データが1対1で結び付けられます。
属性データのデータ型
属性データでは、フィールドごとにデータの種類が決まっているため、そのフィールドにはその種類のデータしか入れられないようになっています。
上記の空港レイヤの図でいうと、値が左寄りになっている「f-code」や「iko」などの列は文字列のデータ型を示しており、値が右寄りになっている「use」や「zv3」は数値型を示しています。
フィールドごとのデータ型について確認したい場合は、レイヤプロパティの「フィールド」タブから確認することができます。
属性テーブルの基本操作
属性テーブルの上部には、多くのボタンが表示されています。ここから様々な機能にアクセスが可能ですが、ここでは基本操作としていくつか紹介します。
選択と地物へのズーム
属性テーブル内で選択したいレコード番号をクリックすると、レコードが選択状態となります。複数のレコードを選択するには、[Ctrl]キーを押しながらクリックするか、[Shift]キーを押しながらクリックして範囲選択を行います。
次に、レコードを選択した状態で[選択した行の地物にズーム]ボタンをクリックしてみましょう。属性テーブルで選択したレコードの地物にズームして表示されます。
このように属性テーブルとマップキャンバス上の地物は連動しているため、対応する図形がハイライト(通常は黄色で表示)されて表示されます。逆に、マップキャンバス上から地物を選択しても、対応するレコードが属性テーブルで選択状態になります。
フィールドの並び替え
属性テーブルのフィールド名をクリックすることで、昇順・降順で並び替え(ソート)をすることができます。
これにより、例えば数値の大きい順・小さい順に並び替えたり、名前順に並べたりするといったことが可能です。
属性テーブルの表示切り替え
属性テーブルはデフォルトでは、全ての地物が表示されていますが、左下のボタンからさまざまな条件で表示を切り替えることが可能です。
たとえば、[地図上に表示されている地物を表示]を選択した場合は、マップキャンバス上で表示している地物のみが属性テーブルに表示されます。
また、右下にあるボタンからは属性テーブルを「テーブル形式」と「フォーム形式」の表示を切り替えることもできます。
フォーム形式では、左の列から対象の地物を選択し、選択した地物のフィールドの情報が右側にフォーム形式で表示されます。フォーム形式は、値を編集する際に便利です。
なお、左側に表示される値は、上部の[▼]ボタンから変更することが可能です。
属性テーブルのフィルタリング操作
フィルタリングを使うと、属性テーブル内の特定のレコードを表示したり非表示にしたりすることができます。特定の条件で地物を検索したい場合に有用です。
フィルタリングを行うには、属性テーブルの上部にある[フォームによる地物選択/フィルタ]ボタンをクリックします。
フォーム画面が開くため、標高の値を示す「zv3」のフィールドをもとにフィルタリングをしてみます。
入力欄に100
と入力し、右側の[フィールドを除外]をクリックして一覧から[以上]を選択します。その後、下部の[地物をフィルタする]をクリックしてみましょう。
これでフィルタリングが実行されましたが、結果が分かりにくいので、右下にある[テーブル表示へ切り替え]ボタンをクリックして、フォーム表示からテーブル表示に切り替えます。
属性テーブルを確認すると、「zv3(標高)」が100以上の地物のみにフィルタリングされました。
フィルタを解除したい場合は、下部の[×]ボタンをクリックしてから[適用]ボタンをクリックしましょう。
属性テーブルの値をExcelで開く
属性テーブルの値をExcelなどで加工したい場合、ベクタデータをCSVでエクスポートしてExcelに取り込むといった手順(レイヤを右クリックして「エクスポート」から可能)が一般的ですが、それ以外にも、属性テーブルの値をコピーして直接エクセルに貼り付けることも可能です。
属性テーブル上で[Ctrl + A]で全て選択したあと[Ctrl + C]でコピーします。続いて、Excelを開き、[Ctrl + V]でペーストしてみましょう。
このように簡単に、属性テーブルの値をExcelに追加することができました。
属性テーブルの値が文字化けした場合の対処法
属性テーブルを開いた時に、属性テーブルの値が下記のように文字化けしている場合があります。
QGISの属性テーブルで文字化けが発生する原因として、文字エンコーディングの不一致が考えられます。日本語などの多バイト文字を含むデータを取り扱う際、適切な文字エンコーディングを指定しないと、文字化けが発生してしまうことがあります。
文字化けが発生した場合は次の手順で対処しましょう。レイヤパネルから対象のレイヤを右クリックして、[プロパティ]を選択します。左側から[ソース]タブを選択し、[文字コード]のプルダウンから適切なエンコーディングを選択します。
なお、日本語が含まれている場合、「UTF-8」か「Shift-JIS」で作成されているデータがほとんどであるため、交互に入れ替えれば基本的には文字化けが解消されるでしょう。
文字コードを変更したら、属性テーブルを確認してみましょう。「UTF-8」から「Shift-JIS」に変更したことで、属性テーブルの文字化けを解消することができました。
まとめ
この記事では、属性テーブルの基本的な操作方法として、レコードの選択や地物へのズーム、ソート、文字化けした場合の解消方法について紹介しました。
属性テーブルには、フィールドの追加や削除といった機能や、値の編集、フィールド計算機など、ほかにもさまざまな機能があります。より高度な機能の操作方法については別の記事で紹介します。