タグ別アーカイブ: spatial analyst

ArcGISで教師付き分類をおこなう

教師付き分類とは、見本に合わせて分類する方法で、見本さえしっかりしていれば、ほぼ全自動で画像処理を行い見本に準じて分類してくれます。例えば、衛星写真から植生の分布図を作ったり、オルソフォトから家屋などを自動抽出する場合などに使えます。

ArcGIS単体では教師付き分類を行えないようなので、教師付き分類を行うためにはSpatialAnalystというエクステンションが必要となります。お金のある人は、ImageAnalysisでも良いです。

  1. 分類したい画像を配置します。
    ここでは「航空写真.img」とします。
  2. ArcCatalogを使って、空っぽのシェープファイルを作成します。フィーチャタイプはポリゴンにしてください。
    ここでは、shapeファイルの名前は、とりあえず「教師分類pol」とします。
  3. 「教師分類pol」をArcMapに追加します。
  4. 「教師分類pol」の属性テーブルを開き、フィールドを追加してください。
    ここでは「bunrui」という名前の整数フィールドにします。
  5. 「教師分類pol」を編集し、現地調査の結果や植生図、航空写真、衛星画像などを使って、状態を確実に判読できる場所を囲みます。その判別した種別毎に、「bunrui」の値を変えてください。例えば、道路だったら1、河川だったら2、森林は3、農地は4、家屋は5など。
    先生がダメだと生徒が上手く分類してくれませんので、分類が上手くいかないときは、この囲み方をトライ&エラーで修正してください。たとえば、家屋と一括りに言っても屋根は色々な色がありますし、均一な植生の森でも日陰と日向では色合いが異なります。そのため、各属性の分類には適度な数のポリゴン(というかシグネチャ)が必要となります。
  6. 後の工程で必要な、シグネチャ(拡張子がgsgのファイル)を作ります。
    ArcToolbox > Spatial Analystツール>多変量解析 >シグネチャの作成
    『入力ラスタバンド』>「航空写真.img」
    『入力ラスタ、またはフィーチャサンプルデータ』>「教師分類pol」
    『サンプルフィールド』>「bunrui」
    『出力シグネチャファイル』>「out.gsg」
  7. 最尤法(さいゆうほう)による教師付き分類を行います。
    ArcToolbox > Spatial Analystツール>多変量解析 >最尤法分類
    『入力ラスタバンド』>「航空写真.img」
    『入力シグネチャファイル』>「out.gsg」
    『出力分類ラスタ』>「分類済み航空写真.img」
  8. 完成
    「教師分類pol」で指定した分類に色分けされた「分類済み航空写真.img」が出来上がりました。
    できあがりが予想と違っている場合には、トレーニングエリアの設定がいまいちな可能性がありますので、手順3に戻ってやり直してください。

ただし、一発で上手くいくことは無いと思いますので、教師なし分類を参考にしたり、リモートセンシング画像の場合はNDVIなどを組み合わせたりすると良いかと思います。

大量のポイントデータを元にメッシュデータを作成する

ArcGISでは、大量のデータを含むシェイプファイルを扱うと、動きが緩慢になったり、下手すると勝手にソフトが終了してしまったりします。

そこで、大量のデータを扱う場合は、ラスタに変換すると良いでしょう。

まず準備として、『Spatial Analyst』でpointファイルをラスタに変換します。
また、適当なサイズのメッシュを『タイルポリゴン作成ツール』により作成します。さらに、各メッシュに適当なゾーンフィールド(ID番号のコピーで良い)を作ります。

ArcToolBoxより、
Spatial Analystツール > ゾーン > ゾーン統計
を起動

入力ラスタ、またはフィーチャーデータ欄
>メッシュファイル

ゾーンフィールド
>最初に作ったフィールド

入力値ラスタ
>最初に作ったラスタ

統計情報の種類(オプション)
>自分が必要とする情報を選ぶ。
 MEAN = 平均値
 MAJORITY = 最頻値
 MAXIMUM = 最大値
 MEDIAN = 中央値
 MINIMUM = 最小値
 MINORITY = 最も頻度が低い値
 RANGE = 最大値と最小値の幅
 STD = 標準偏差
 SUM = 合計
 VERIETY = ユニークな値の数

として、OKボタンを押す。

そうすると、メッシュの大きさが1つのセルになったラスタが作成されます。

ArcToolBoxより、
Spatial Analystツール > ゾーン > ゾーン統計をテーブルに出力
を起動

入力ラスタ、またはフィーチャーデータ欄
>メッシュファイル

ゾーンフィールド
>最初に作ったフィールド

入力値ラスタ
>ゾーン統計で作ったラスタ

として、OKボタンを押す。

そうすると、ラスタのセル毎に平均値などが算出されたテーブルが作成されますので、そのファイルをマップに追加してください。

ここまで来たら、あとは『最初に作ったメッシュ』に『ゾーン統計で作ったテーブル』をテーブル結合すると、膨大な数のデータをメッシュ毎に集計した結果を知ることができます。

ティーセン分割図を作る

ArcGISの有料エクステンションであるSpatial Analystの機能を使うと、簡単にティーセン分割図を作成できます。

  1. 分割の元となるポイントデータ(観測所なり調査地点なり)を作成します。
  2. Spatial Analyst > 距離 > アロケーション で、ティーセン分割したラスタが作成されます。
  3. ラスタだと使いにくい場合は、 Spatial Analyst > 変換 > ラスタをフィーチャに変換 で、ベクタに変換できます。

※河川分野ではティーセン分割と言うのですが、一般的にはボロノイ分割と言うらしいです。