ラスタの合計値や平均、個数などを指定したエリアで集計する方法を書いていきたいと思います。
ラスターデータって何?
ラスタデータとはセルが縦横と格子状に並び構成されたデータをラスタデータといいます。イメージとしては、一般的に画像と言われる、写真などのことをです。拡張子がよく見る「jpg」「png」「tiff」「gif」「bmp」というものは全てラスターデータです。
今回は関係ないのですが、ラスターデータ以外に何があるのという疑問はあると思います。もう1種類だけで、ベクターデータというものがあります。ベクターデータはいくつかの点のを線でつなぎ、数値データとして記憶し再現するのがベクターデータです。数値で管理されており、データ量が小さく、ラスターデータと違い拡大してもセルのように荒くなったりはしません。拡張子は「pdf」「svg」「eps」「wmf」「emf」等があります。
項目 | ラスター | ベクター |
複雑な画像表現 | 〇 | × |
画像の拡大 | × | 〇 |
データサイズ | × | 〇 |
こんなところでしょうか?複雑な画像の場合はラスターで拡大などを行う場合はベクターがよいでしょう。
ラスターデータの集計方法
GISではラスターデータの集計にポリゴンシェープファイルを使用します。(実はシェープファイルもベクターデータです)
方法をArcGISとQGISに分けて説明していきたいと思います。
集計項目
集計項目は主に共通しているものでは、「個数」「合計」「最大」「最小」「平均」「標準偏差」「レンジ」などです。GISの種類によって他にも「最頻値」など追加できるものもあります。
個数
集計エリア内のセル数の個数です。
合計
集計エリア内のセルの値の合計値です。
最大
集計エリア内のセルの値の最大値です。
最小
集計エリア内のセルの値の最小値です。
平均
集計エリア内のセルの値の平均値です。
標準偏差
集計エリア内のセルの値の標準偏差です。
レンジ
集計エリア内のセルの値の最大値と最小値の差です。
ArcGISのよるラスターデータの集計方法
※(ArcGISでは別途有料のエクステンション「Spatial Analyst(スペシャル アナリスト)」がなければツールが使用できなく集計をとることができません。)
ArcGISでは以下の手順で集計を行います。
1.ArcMap上に集計をとりたいラスターデータと集計に使うポリゴンシェープファイルを用意。
2.ポリゴンシェープファイル内にいくつかのデータがある場合は、属性テーブルに区分できるよう個別の値を入れる(例:「KEY」というフィールドをつくりそこに1からかぶらないように連番をつける。)」これにより、各ポリゴンデータごとに集計結果を分けることができます。
3.「ツールボックス」→「Spatial Analystツール」→「ゾーン統計をテーブルに出力」の順に選択
4.ツール使用画面に「入力ラスター、またはフューチャゾーンデータ」「ゾーンフィールド」「入力値ラスター」「出力テーブル」「統計情報の種類」がある。
・「入力ラスター、またはフューチャゾーンデータ」→「ポリゴンシェープファイルを選択」
・「ゾーンフィールド」→「出力の際に残しておく属性フィールド名(ここに「KEY」などというフィールドをつくりそこに1からかぶらないように連番をつけておいたものを選択する)」
・「入力値ラスター」→「集計をとりたいラスターデータを入力」
・「出力テーブル」→「集計結果を保存するデータテーブル名を新たに入力」
・「統計情報の種類」→「出力したい集計結果にチェック」
5.すると集計結果のテーブルデータ上記「4」で指定した名前でデータテーブルが出力される。
6.フィールド名で区分されているのでそのデータをそのまま集計に使用することもできる。また、そのデータをポリゴンシェープファイルと連結させたい場合は、「2」で作成した。フィールドを使用し、テーブル結合を行う。
QGISによるラスターデータの集計方法
QGISでは2と3で少し違いがあるので2と3で分けて説明していきたいと思います。
QGIS3の比較的新しいバージョンでは、「ゾーン統計量(ベクタ)」というツールになっていますのでこちらをどうぞ。
QGIS2.18では以下の方法で集計を行います。
1.QGISのマップ上に集計をとりたいラスターデータと集計に使うポリゴンシェープファイルを用意。
2.「プロセッシングツールボックス」→「QGISアルゴリズム」→「ラスタツール」→「地域統計」の順に選択
3.項目は「ラスタレイヤ」「ラスタバンド」「地域ベクタレイヤ」「出力カラムの接頭辞」「計算する統計」があり、各項目には以下を入れます。
・「ラスタレイヤ」→「集計をとりたいラスターデータを入力」
・「ラスタバンド」→「ラスタ内にいくつかのバンドがある場合に集計をとりたいバンドを選択」
・「地域ベクタレイヤ」→「ポリゴンシェープファイルを選択」
・「出力カラムの接頭辞」→「属性テーブルに出力される際各集計テーブル名の頭に付け加えるワード(そのままでOKです)」
・「地域統計」→「ここに新たに出力されるファイル名を入力」
4.新しいポリゴンシェープファイルができ、その中の属性テーブルに各集計したフィールドが追加される。
QGIS3.4では以下の方法で集計を行います。
1.QGISのマップ上に集計をとりたいラスターデータと集計に使うポリゴンシェープファイルを用意。
2.「プロセッシングツールボックス」→「ラスタ分析」→「地域統計」の順に選択
3.項目は「ラスタレイヤ」「ラスタバンド」「地域ベクタレイヤ」「出力カラムの接頭辞」「計算する統計」があり、各項目には以下を入れます。
・「ラスタレイヤ」→「集計をとりたいラスターデータを入力」
・「ラスタバンド」→「ラスタ内にいくつかのバンドがある場合に集計をとりたいバンドを選択」
・「地域ベクタレイヤ」→「ポリゴンシェープファイルを選択」
・「出力カラムの接頭辞」→「属性テーブルに出力される際各集計テーブル名の頭に付け加えるワード(そのままでOKです)」
・「計算する統計」→「右の…のボタンを選択し、集計をとりたいもののチェックボックスを選択」
4.元々あるポリゴンシェープファイルの属性テーブルに各集計したフィールドが追加される。