クロス集計 (Spatial Analyst)

ライセンス レベル:BasicStandardAdvanced

サマリ

2 つのデータセット間のクロス集計をして、テーブルを出力します。

クロス集計(Tabulate Area)の図
TabulateArea(ZoneRas, "VALUE", ClassRas, "VALUE", Tabarea1.dbf, 1)

使用法

構文

TabulateArea (in_zone_data, zone_field, in_class_data, class_field, out_table, {processing_cell_size})
パラメータ説明データ タイプ
in_zone_data

ゾーンを定義するデータセット。

ゾーンは、整数ラスタまたはフィーチャ レイヤによって定義できます。

Raster Layer | Feature Layer
zone_field

各ゾーンを定義する値を保持するフィールド。

ゾーン データセットの整数フィールドまたは文字列フィールドを使用できます。

Field
in_class_data

各ゾーン内でまとめられるエリアを持つクラスを定義するデータセット。

クラス入力には、整数ラスタ レイヤまたはフィーチャ レイヤが使用できます。

Raster Layer | Feature Layer
class_field

クラス値を保持するフィールド。

整数または入力クラス データの文字列フィールドを使用できます。

Field
out_table

各ゾーン内にある各クラスのエリアのサマリを含む出力テーブル。

テーブルの形式は、出力先とパスによって決定されます。拡張子を指定しない場合、INFO テーブルになります。位置がジオデータベース内の場合、出力テーブルはその特定のタイプで作成されます(ファイルまたは ArcSDE ジオデータベースなど)。名前に *.dbf 拡張子を付けると、出力が dBASE 形式になります。

Table
processing_cell_size
(オプション)

ゾーン演算で処理するセル サイズ。

環境設定で特定の値が指定されている場合、その値を使用します。設定されていない場合、セル サイズのデフォルト値は以下のようにゾーン データのタイプによって決められます。

  • ゾーン データセットがラスタである場合、セル サイズはゾーン ラスタと同じです。
  • ゾーン データセットがフィーチャである場合、セル サイズは、出力空間参照において、ゾーン フィーチャ データセットの範囲の幅または高さ(どちらか短い方)を 250 で割った値になります。

Analysis Cell Size

コードのサンプル

TabulateArea(クロス集計)の例 1(Python ウィンドウ)

次の例では、各ゾーンに含まれる各クラス値のエリアを持つテーブルを返しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
TabulateArea("zonedata.shp", "IDStr", "valueraster", "VALUE",
             "C:/sapyexamples/output/areatable.dbf", 2)
TabluateArea(クロス集計)の例 2(スタンドアロン スクリプト)

次の例では、各ゾーンに含まれる各クラス値のエリアを持つテーブルを返しています。

# Name: TabulateArea_Ex_02.py
# Description: Calculates cross tabulated areas between two datasets.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"
env.extent = "classgrid"
env.snapRaster = "classgrid"

# Set local variables
inZoneData = "zonedata.shp"
zoneField = "IDStr"
inClassData = "valueraster"
classField = "VALUE"
outTable = "C:/sapyexamples/output/areatable02.dbf"
processingCellSize = 2

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute TabulateArea
TabulateArea(inZoneData, zoneField, inClassData, classField, outTable,
             processingCellSize)

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: 次のものが必要 Spatial Analyst
ArcGIS for Desktop Standard: 次のものが必要 Spatial Analyst
ArcGIS for Desktop Advanced: 次のものが必要 Spatial Analyst
7/28/2014