プラグイン・ツール PR

ラスターデータをエリアごとに集計して合計値を出したい。

記事内に商品プロモーションを含む場合があります

ラスタの合計値や平均、個数などを指定したエリアで集計する方法を書いていきたいと思います。

ラスターデータって何?

ラスタデータとはセルが縦横と格子状に並び構成されたデータをラスタデータといいます。イメージとしては、一般的に画像と言われる、写真などのことをです。拡張子がよく見る「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で分けて説明していきたいと思います。

 

 

QGIS2.18では以下の方法で集計を行います。

1.QGISのマップ上に集計をとりたいラスターデータと集計に使うポリゴンシェープファイルを用意。

2.「プロセッシングツールボックス」→「QGISアルゴリズム」→「ラスタツール」→「地域統計」の順に選択

3.項目は「ラスタレイヤ」「ラスタバンド」「地域ベクタレイヤ」「出力カラムの接頭辞」「計算する統計」があり、各項目には以下を入れます。
・「ラスタレイヤ」→「集計をとりたいラスターデータを入力」
・「ラスタバンド」→「ラスタ内にいくつかのバンドがある場合に集計をとりたいバンドを選択」
・「地域ベクタレイヤ」→「ポリゴンシェープファイルを選択」
・「出力カラムの接頭辞」→「属性テーブルに出力される際各集計テーブル名の頭に付け加えるワード(そのままでOKです)」
・「地域統計」→「ここに新たに出力されるファイル名を入力」

4.新しいポリゴンシェープファイルができ、その中の属性テーブルに各集計したフィールドが追加される。

QGIS3.4では以下の方法で集計を行います。

1.QGISのマップ上に集計をとりたいラスターデータと集計に使うポリゴンシェープファイルを用意。

2.「プロセッシングツールボックス」→「ラスタ分析」→「地域統計」の順に選択

3.項目は「ラスタレイヤ」「ラスタバンド」「地域ベクタレイヤ」「出力カラムの接頭辞」「計算する統計」があり、各項目には以下を入れます。
・「ラスタレイヤ」→「集計をとりたいラスターデータを入力」
・「ラスタバンド」→「ラスタ内にいくつかのバンドがある場合に集計をとりたいバンドを選択」
・「地域ベクタレイヤ」→「ポリゴンシェープファイルを選択」
・「出力カラムの接頭辞」→「属性テーブルに出力される際各集計テーブル名の頭に付け加えるワード(そのままでOKです)」
・「計算する統計」→「右の…のボタンを選択し、集計をとりたいもののチェックボックスを選択」

4.元々あるポリゴンシェープファイルの属性テーブルに各集計したフィールドが追加される。

 

QGISで簡単に横断図などに使用するラスターの値を取得する方法今回はQGISを使用して基盤地図情報ダウンロードサービスから取得できる標高データを使用し、シェープファイルなどのラインによる横断や縦断の...

 

QGISでラインに等間隔でポイントを落とす方法QGISでラスターデータ(DEM等)からポリラインに重なる値を抽出はできますが、100m単位など一定間隔ごとに値を取得したいときに便利な...