eyecatch

属性テーブルの見方と使い方:基本操作とよくあるトラブルの解決方法

投稿日: 最終更新日:
この記事はQGIS 3.34を使用しています。

この記事でわかること


  • QGISの属性テーブルの基本的な見方と使い方
  • 属性テーブルのデータをExcelにエクスポートする手順
  • 属性テーブルで発生する文字化けの原因とその解決方法

こんな人におすすめ


  • 属性テーブルの基本操作を学びたい人
  • 属性テーブルでの文字化けに悩んでいる方

はじめに

QGISにおける属性テーブルは、位置情報データが持つ情報をテーブル形式で表示するもので、各レイヤに関連する属性データ(例えば、名前、面積、人口などの情報)が含まれています。この記事では、QGISにおける属性テーブルの基本的な使い方について説明します。

属性テーブルの表示

属性テーブルを表示するには、QGISのレイヤパネルから対象のレイヤを右クリックし、[属性テーブルを開く]を選択します。

[属性テーブルを開く]を選択する(©︎OpenStreetMap contributors)
[属性テーブルを開く]を選択する(©︎OpenStreetMap contributors)

これにより、新しいウィンドウで属性テーブルが開き、選択したレイヤに関連する属性データがテーブル形式で表示されます。

属性テーブルが表示される(地球地図日本(国土地理院)を加工して作成)
属性テーブルが表示される(地球地図日本(国土地理院)を加工して作成)

属性テーブルには、列を表す「フィールド」と、行を表す「レコード」の2つの情報からなります。

  • フィールド(列): 各列は、特定の属性を表します。例えば、名称、コード、面積、長さ、分類などさまざまな情報が含まれます。
  • レコード(行): 各行は、レイヤ内の地物(一つの図形)に対応するデータを示します。これにより、地理データと属性データが1対1で結び付けられます。
属性テーブルはフィールドとレコードにより構成される(地球地図日本(国土地理院)を加工して作成)
属性テーブルはフィールドとレコードにより構成される(地球地図日本(国土地理院)を加工して作成)

属性データのデータ型

属性データでは、フィールドごとにデータの種類が決まっているため、そのフィールドにはその種類のデータしか入れられないようになっています。

上記の空港レイヤの図でいうと、値が左寄りになっている「f-code」や「iko」などの列は文字列のデータ型を示しており、値が右寄りになっている「use」や「zv3」は数値型を示しています。

フィールドごとのデータ型について確認したい場合は、レイヤプロパティの「フィールド」タブから確認することができます。

「フィールド」タブから属性のデータ型を確認できる(地球地図日本(国土地理院)を加工して作成)
「フィールド」タブから属性のデータ型を確認できる(地球地図日本(国土地理院)を加工して作成)

属性テーブルの基本操作

属性テーブルの上部には、多くのボタンが表示されています。ここから様々な機能にアクセスが可能ですが、ここでは基本操作としていくつか紹介します。

選択と地物へのズーム

属性テーブル内で選択したいレコード番号をクリックすると、レコードが選択状態となります。複数のレコードを選択するには、[Ctrl]キーを押しながらクリックするか、[Shift]キーを押しながらクリックして範囲選択を行います。

レコード番号をクリックすると、レコードが選択状態となる(地球地図日本(国土地理院)を加工して作成)
レコード番号をクリックすると、レコードが選択状態となる(地球地図日本(国土地理院)を加工して作成)

次に、レコードを選択した状態で[選択した行の地物にズーム]ボタンをクリックしてみましょう。属性テーブルで選択したレコードの地物にズームして表示されます。

マップキャンバス上で選択地物にズームされる(地球地図日本(国土地理院)を加工して、OpenStreetMapを背景に作成(©︎OpenStreetMap contributors))
マップキャンバス上で選択地物にズームされる(地球地図日本(国土地理院)を加工して、OpenStreetMapを背景に作成(©︎OpenStreetMap contributors))

このように属性テーブルとマップキャンバス上の地物は連動しているため、対応する図形がハイライト(通常は黄色で表示)されて表示されます。逆に、マップキャンバス上から地物を選択しても、対応するレコードが属性テーブルで選択状態になります。

フィールドの並び替え

属性テーブルのフィールド名をクリックすることで、昇順・降順で並び替え(ソート)をすることができます。

フィールド名をクリックすることでソートされる(地球地図日本(国土地理院)を加工して作成)
フィールド名をクリックすることでソートされる(地球地図日本(国土地理院)を加工して作成)

これにより、例えば数値の大きい順・小さい順に並び替えたり、名前順に並べたりするといったことが可能です。

空港レイヤを「zv3(標高)」を降順で並び替えたところ(地球地図日本(国土地理院)を加工して作成)
空港レイヤを「zv3(標高)」を降順で並び替えたところ(地球地図日本(国土地理院)を加工して作成)

属性テーブルの表示切り替え

属性テーブルはデフォルトでは、全ての地物が表示されていますが、左下のボタンからさまざまな条件で表示を切り替えることが可能です。

さまざまな条件で属性テーブルの表示を切り替え
さまざまな条件で属性テーブルの表示を切り替え

たとえば、[地図上に表示されている地物を表示]を選択した場合は、マップキャンバス上で表示している地物のみが属性テーブルに表示されます。

マップキャンバス上で表示している地物のみが属性テーブルで表示される(地球地図日本(国土地理院)を加工して、OpenStreetMapを背景に作成(©︎OpenStreetMap contributors))
マップキャンバス上で表示している地物のみが属性テーブルで表示される(地球地図日本(国土地理院)を加工して、OpenStreetMapを背景に作成(©︎OpenStreetMap contributors))

また、右下にあるボタンからは属性テーブルを「テーブル形式」と「フォーム形式」の表示を切り替えることもできます。

「テーブル表示」と「フォーム表示」を切り替えることができる
「テーブル表示」と「フォーム表示」を切り替えることができる

フォーム形式では、左の列から対象の地物を選択し、選択した地物のフィールドの情報が右側にフォーム形式で表示されます。フォーム形式は、値を編集する際に便利です。

左の列から選択した地物の値が、右側のフォームに表示される(地球地図日本(国土地理院)を加工して作成)
左の列から選択した地物の値が、右側のフォームに表示される(地球地図日本(国土地理院)を加工して作成)

なお、左側に表示される値は、上部の[▼]ボタンから変更することが可能です。

[▼]ボタンから表示する値を変更することができる(地球地図日本(国土地理院)を加工して作成)
[▼]ボタンから表示する値を変更することができる(地球地図日本(国土地理院)を加工して作成)

属性テーブルのフィルタリング操作

フィルタリングを使うと、属性テーブル内の特定のレコードを表示したり非表示にしたりすることができます。特定の条件で地物を検索したい場合に有用です。

フィルタリングを行うには、属性テーブルの上部にある[フォームによる地物選択/フィルタ]ボタンをクリックします。

[フォームによる地物選択/フィルタ]ボタンをクリック(地球地図日本(国土地理院)を加工して作成)
[フォームによる地物選択/フィルタ]ボタンをクリック(地球地図日本(国土地理院)を加工して作成)

フォーム画面が開くため、標高の値を示す「zv3」のフィールドをもとにフィルタリングをしてみます。

入力欄に100と入力し、右側の[フィールドを除外]をクリックして一覧から[以上]を選択します。その後、下部の[地物をフィルタする]をクリックしてみましょう。

フィルタリングの条件を入力し、[地物をフィルタする]をクリック(地球地図日本(国土地理院)を加工して作成)
フィルタリングの条件を入力し、[地物をフィルタする]をクリック(地球地図日本(国土地理院)を加工して作成)

これでフィルタリングが実行されましたが、結果が分かりにくいので、右下にある[テーブル表示へ切り替え]ボタンをクリックして、フォーム表示からテーブル表示に切り替えます。

[テーブル表示へ切り替え]ボタンをクリック(OpenStreetMapを背景に作成(©︎OpenStreetMap contributors))
[テーブル表示へ切り替え]ボタンをクリック(OpenStreetMapを背景に作成(©︎OpenStreetMap contributors))

属性テーブルを確認すると、「zv3(標高)」が100以上の地物のみにフィルタリングされました。

「zv3(標高)」が100以上の地物のみにフィルタリングされている(地球地図日本(国土地理院)を加工して作成)
「zv3(標高)」が100以上の地物のみにフィルタリングされている(地球地図日本(国土地理院)を加工して作成)

フィルタを解除したい場合は、下部の[×]ボタンをクリックしてから[適用]ボタンをクリックしましょう。

[×]ボタンをクリックしてから[適用]ボタンをクリック(地球地図日本(国土地理院)を加工して作成)
[×]ボタンをクリックしてから[適用]ボタンをクリック(地球地図日本(国土地理院)を加工して作成)

属性テーブルの値をExcelで開く

属性テーブルの値をExcelなどで加工したい場合、ベクタデータをCSVでエクスポートしてExcelに取り込むといった手順(レイヤを右クリックして「エクスポート」から可能)が一般的ですが、それ以外にも、属性テーブルの値をコピーして直接エクセルに貼り付けることも可能です。

属性テーブル上で[Ctrl + A]で全て選択したあと[Ctrl + C]でコピーします。続いて、Excelを開き、[Ctrl + V]でペーストしてみましょう。

属性テーブルの値をExcelで表示した結果(地球地図日本(国土地理院)を加工して作成)
属性テーブルの値をExcelで表示した結果(地球地図日本(国土地理院)を加工して作成)

このように簡単に、属性テーブルの値をExcelに追加することができました。

属性テーブルの値が文字化けした場合の対処法

属性テーブルを開いた時に、属性テーブルの値が下記のように文字化けしている場合があります。

属性テーブルが文字化けしている(地球地図日本(国土地理院)を加工して作成)
属性テーブルが文字化けしている(地球地図日本(国土地理院)を加工して作成)

QGISの属性テーブルで文字化けが発生する原因として、文字エンコーディングの不一致が考えられます。日本語などの多バイト文字を含むデータを取り扱う際、適切な文字エンコーディングを指定しないと、文字化けが発生してしまうことがあります。

文字化けが発生した場合は次の手順で対処しましょう。レイヤパネルから対象のレイヤを右クリックして、[プロパティ]を選択します。左側から[ソース]タブを選択し、[文字コード]のプルダウンから適切なエンコーディングを選択します。

なお、日本語が含まれている場合、「UTF-8」か「Shift-JIS」で作成されているデータがほとんどであるため、交互に入れ替えれば基本的には文字化けが解消されるでしょう。

「文字コード」で適切なエンコーディングを選択
「文字コード」で適切なエンコーディングを選択

文字コードを変更したら、属性テーブルを確認してみましょう。「UTF-8」から「Shift-JIS」に変更したことで、属性テーブルの文字化けを解消することができました。

属性テーブルの文字化けを解消することができた(地球地図日本(国土地理院)を加工して作成)
属性テーブルの文字化けを解消することができた(地球地図日本(国土地理院)を加工して作成)

まとめ

この記事では、属性テーブルの基本的な操作方法として、レコードの選択や地物へのズーム、ソート、文字化けした場合の解消方法について紹介しました。

属性テーブルには、フィールドの追加や削除といった機能や、値の編集、フィールド計算機など、ほかにもさまざまな機能があります。より高度な機能の操作方法については別の記事で紹介します。

この記事を書いた人
QGIS LAB編集部
QGIS LAB編集部

QGIS LABは、オープンソースのGISソフトウェア「QGIS」に関する総合情報メディアです。「位置と情報で世界を変える」をコンセプトに、位置情報で世界を拓くための知識と技術をお届けします。

関連する記事