ラベル | 説明 | データ タイプ |
入力ラスターまたはフィーチャ ゾーン | ゾーンを定義するデータセット。 ゾーンは、整数ラスターまたはフィーチャ レイヤーによって定義できます。 | Raster Layer; Feature Layer |
入力値ラスター | それぞれの値が統計によって集計されるラスターの集合。 このパラメーターには次のプロパティがあります。
統計は、同じゾーンに属する入力値ラスター内のすべてのセルについて、出力セルとして算出されます。 使用可能な統計情報のタイプは以下のとおりです。
出力統計テーブルのフィールド名は、デフォルトで、値ラスター名と統計タイプから生成されます。 | Value Table |
出力統計テーブル | すべての値ラスターについて、各ゾーンの値のサマリーを含む出力テーブル。 テーブルの形式は、出力先とパスによって決定されます。 デフォルトでは、出力は、ジオデータベース ワークスペースではジオデータベース テーブル、ファイル ワークスペースでは dBASE テーブルになります。 | Table |
出力統計フィーチャクラス (オプション) | 出力テーブルを入力ゾーン データに結合することで作成される出力フィーチャクラス。 | Feature Class |
ゾーン フィールド (オプション) | 各ゾーンを定義する値を格納するフィールド。 ゾーン データセットの整数フィールドまたは文字列フィールドを使用できます。 | Field |
計算時に NoData を除外 (オプション) | 入力値内の NoData 値が、属するゾーンの結果で無視されるかどうかを指定します。
| Boolean |
パーセンタイル値 (オプション) | 計算されるパーセンタイル。 デフォルトは 90 で、90 番目のパーセンタイルを示します。 値の範囲は 0 ~ 100 です。 0 番目のパーセンタイルは、基本的に最小値の統計情報と同じであり、100 番目のパーセンタイルは最大値と同じです。 値が 50 の場合、基本的に中央値の統計情報と同じ結果になります。 このパラメーターは、[統計情報の種類] パラメーターが [パーセンタイル] か [すべて] に設定されている場合にのみ利用できます。 | Double |
パーセンタイル内挿タイプ (オプション) | パーセンタイル値が入力値ラスターの 2 つのセル値の間にある場合に使用される内挿の方法を指定します。
| String |
円周統計の計算 (オプション) | 円形データの入力ラスターの処理方法を指定します。
| Boolean |
円形折り返し値 (オプション) | 特定の円形統計の範囲にリニア値を四捨五入するために使用される値。 値は整数または浮動小数点で指定する必要があります。 デフォルト値は 360 度です。 このパラメーターは、[円周統計の計算] パラメーターがオンになっている場合にのみサポートされます。 | Double |
多次元として処理 (オプション) | 多次元の場合の入力ラスターの計算方法を指定します。
| Boolean |
ゾーン属性を出力フィーチャにアペンド (オプション) | 入力ゾーンの追加ゾーン属性のいずれかを、出力フィーチャクラスにアペンドするかどうかを指定します。
| Boolean |
Spatial Analyst のライセンスで利用可能。
使用法
ツールの応用例を次に示します。
- 持続的な農業活動を推定するために、さまざまなエコシステム ゾーン内の平均降水量、最高気温、合計人口を計算します。
- 日陰をつくる樹木の植栽に適した場所を特定するため、各プロットの平均標高、平均傾斜角、NDVI 値の合計を推定します。
ゾーンは、入力データ内において、同じ値を持つすべてのエリアとして定義されます。 エリアは連続していなくてもかまいません。 ラスターとフィーチャのいずれも入力ゾーンとして使用できます。
[入力ラスターまたはフィーチャ ゾーン] (Python では in_zone_raster_or_features) パラメーター値がラスターである場合、整数ラスターである必要があります。
[入力ラスターまたはフィーチャ ゾーン] パラメーター値がフィーチャである場合、解析環境で別途指定されている場合を除き、そのフィーチャは最小セル サイズを持つ [入力値ラスター] (Python では in_value_rasters_statistics) パラメーター値のセル サイズ、セル配置、空間参照を使用して内部でラスターに変換されます。 これにより、ゾーン演算を実行する前に内部でリサンプリングが開始されます。
[入力ラスターまたはフィーチャ ゾーン] パラメーター値がフィーチャである場合、値ラスターのセルの中心に重なっていないゾーン フィーチャのゾーンは内部ゾーン ラスターに変換されません。 その結果、これらのゾーンは出力に表示されません。 これを管理するには、フィーチャ ゾーンの目的の詳細レベルを保持するセル サイズ環境の適切な値を決定し、解析環境で指定します。
[入力ラスターまたはフィーチャ ゾーン] の値がポイント フィーチャである場合、入力値ラスターの特定のセルが複数のポイントを含むことが可能です。 そのようなセルの場合、ゾーンの値は最小の ObjectID フィールドを持つポイントによって決まります (たとえば OID や FID)。
[入力ラスターまたはフィーチャ ゾーン] 値に重なり合うフィーチャがある場合は、フィーチャごとにゾーン解析が実行されます。
[入力ラスターまたはフィーチャ ゾーン] パラメーター値と [入力値ラスター] パラメーター値のセル サイズが異なる場合、解析環境で別途指定されている場合を除き、最小セル サイズを持つ [入力値ラスター] パラメーター値のセル サイズ、セル配置、空間参照が使用されます。 これにより、ゾーン演算を実行する前に内部でリサンプリングが開始されます。
ゾーンと値の入力がすべて同じセル サイズのラスターで、セル同士が位置揃えされている場合、それらの入力はツールで直接使用され、ツールの処理時に内部でリサンプリングされません。
[入力ラスターまたはフィーチャ ゾーン] 値を指定する場合、デフォルトの [ゾーン フィールド] (Python では zone_field) パラメーター値は、フィーチャの場合は 1 つ目の有効な整数フィールド (OID、FID など)、ラスターの場合は VALUE フィールドになります。 ゾーン フィールドには整数または文字列フィールド タイプを指定できます。
[入力値ラスター] パラメーター値のデータ型、および [円周統計の計算] パラメーター値で指定した統計計算タイプによって、サポートされる統計タイプが異なります。
データ タイプが整数の場合、算術統計計算では、[平均]、[最頻値]、[最頻値の数]、[最頻値の割合]、[最大]、[中央値]、[最小]、[最少頻値]、[最少頻値の数]、[最少頻値の割合]、[パーセンタイル]、[範囲]、[標準偏差]、[合計]、[種類] の各オプションがサポートされます。 円周統計の計算では、[平均]、[最頻値]、[最少頻値]、[標準偏差]、[種類] の各オプションがサポートされます。
データ タイプが浮動小数点の場合、算術統計計算では、[平均]、[最大]、[中央値]、[最小]、[パーセンタイル]、[範囲]、[標準偏差]、[合計] の各オプションがサポートされます。 円周統計の計算では、[平均] と [標準偏差] オプションがサポートされます。
最頻値と最少頻値の計算では、同一頻度の値が複数ある場合、同一頻度の値の中で最も小さい値が出力されます。
値ラスターごとに複数の統計タイプを計算するには、同じ値ラスターを複数回指定する必要があります。 同じラスターと統計タイプの組み合わせが重複している場合、ツールはエラーを生成します。
円周統計を計算するには、[円周統計の計算] パラメーター (Python では circular_calculation = "CIRCULAR") をオンにし、[円形折り返し値] (Python では circular_wrap_value) パラメーターの値を指定します。
[円周統計の計算] パラメーターがオンの場合、指定した円形折り返し値が適用されたすべての値ラスターに対して円周統計が計算されます。
サポートされている多次元ラスター データセット タイプには、多次元ラスター レイヤー、モザイク、イメージ サービスおよび Esri CRF が含まれます。
[出力統計テーブル] (Python では out_statistics_table) パラメーター値には、次の特性があります。
- 出力テーブルの行数は、分析範囲内のゾーン数です。
- 出力テーブルに、ゾーンを表す一連のフィールドが作成され、[入力値ラスター] の各値に対して個数と統計値が示されます。
- フィールド名は、[フィールド名] パラメーターで指定されている場合を除き、デフォルトで値ラスター名と統計タイプから生成されます。 円周統計の場合、指定の統計の前においてフィールド名に C_ が付加されます。 たとえば、このフィールドの名前は、中央値の算術統計では ValueRasterName_MEAN になり、中央値の円周統計では ValueRasterName_C_MEAN になります。
- 出力テーブルのフィールド名の最大長は、ワークスペースによって異なります。
- 出力テーブルに含まれるアイテムの各値のデータ タイプは、実行されるゾーン計算によって変わります。 統計の固有の動作については、「ゾーン統計ツールの詳細」をご参照ください。
[出力統計フィーチャクラス] (Python では out_statistics_features) パラメーター値では、ゾーン入力がラスターの場合、出力フィーチャクラスは頂点の間引きを行わず、解析環境を適用することで、フィーチャに変換されます。
このツールでは、次の環境設定を使用します。
- 最小セル サイズを持つ値ラスターが、分析のセル サイズ、出力座標系、スナップ対象ラスターとしてデフォルトで使用されます。
- デフォルト範囲は、ゾーンと、すべての値ラスターのユニオンの交点です。
デフォルトでは、このツールはマルチコア プロセッサを使用します (使用可能な場合)。 使用できるコアの最大数は 4 です。
ツールが使用するコア数を減らすには、並列処理ファクター環境設定を使用します。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
パラメーター
ZonalCharacterization(in_zone_raster_or_features, in_value_rasters_statistics, out_statistics_table, {out_statistics_features}, {zone_field}, {ignore_nodata}, {percentile_values}, {percentile_interpolation_type}, {circular_calculation}, {circular_wrap_value}, {process_as_multidimensional}, {add_zone_attributes})
名前 | 説明 | データ タイプ |
in_zone_raster_or_features | ゾーンを定義するデータセット。 ゾーンは、整数ラスターまたはフィーチャ レイヤーによって定義できます。 | Raster Layer; Feature Layer |
in_value_rasters_statistics [in_value_rasters_statistics,...] | それぞれの値が統計によって集計されるラスターの集合。 このパラメーターには次のプロパティがあります。
統計は、同じゾーンに属する入力値ラスター内のすべてのセルについて、出力セルとして算出されます。 使用可能な統計情報のタイプは以下のとおりです。
出力統計テーブルのフィールド名は、デフォルトで、値ラスター名と統計タイプから生成されます。 | Value Table |
out_statistics_table | すべての値ラスターについて、各ゾーンの値のサマリーを含む出力テーブル。 テーブルの形式は、出力先とパスによって決定されます。 デフォルトでは、出力は、ジオデータベース ワークスペースではジオデータベース テーブル、ファイル ワークスペースでは dBASE テーブルになります。 | Table |
out_statistics_features (オプション) | 出力テーブルを入力ゾーン データに結合することで作成される出力フィーチャクラス。 | Feature Class |
zone_field (オプション) | 各ゾーンを定義する値を格納するフィールド。 ゾーン データセットの整数フィールドまたは文字列フィールドを使用できます。 | Field |
ignore_nodata (オプション) | 入力値内の NoData 値が、属するゾーンの結果で無視されるかどうかを指定します。
| Boolean |
percentile_values [percentile_values,...] (オプション) | 計算されるパーセンタイル。 デフォルトは 90 で、90 番目のパーセンタイルを示します。 値の範囲は 0 ~ 100 です。 0 番目のパーセンタイルは、基本的に最小値の統計情報と同じであり、100 番目のパーセンタイルは最大値と同じです。 値が 50 の場合、基本的に中央値の統計情報と同じ結果になります。 このパラメーターは、statistics_type パラメーターが PERCENTILE または ALL に設定されている場合のみサポートされます。 | Double |
percentile_interpolation_type (オプション) | パーセンタイル値が入力値ラスターの 2 つのセル値の間にある場合に使用される内挿の方法を指定します。
| String |
circular_calculation (オプション) | 円形データの入力ラスターの処理方法を指定します。
| Boolean |
circular_wrap_value (オプション) | 特定の円形統計の範囲にリニア値を四捨五入するために使用される値。 値は整数または浮動小数点で指定する必要があります。 デフォルト値は 360 度です。 このパラメーターは、circular_calculation パラメーターが CIRCULAR に設定されている場合のみサポートされます。 | Double |
process_as_multidimensional (オプション) | 多次元の場合の入力ラスターの計算方法を指定します。
| Boolean |
add_zone_attributes (オプション) | 入力ゾーンの追加ゾーン属性のいずれかを、出力フィーチャクラスにアペンドするかどうかを指定します。
| Boolean |
コードのサンプル
次の例では、ポリゴン シェープファイルに定義されたゾーン内の複数のラスターの値を集計し、結果をテーブルとフィーチャクラスに記録しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outTable = ZonalCharacterization("zones.shp",
"ValueRas1.tif MEAN ValueRas1_MEAN;ValueRas2.tif MAXIMUM ValueRas2_MAX;ValueRas3.tif STD ValueRas3_STD",
"zonalcharacterout.dbf","featurestatout.shp","Id","DATA","",
"AUTO_DETECT","ARITHMETIC","","CURRENT_SLICE","ZONE_FIELD_ONLY")
次の例では、ゾーン ラスターに定義されたゾーン内の複数のラスターの値を集計し、結果をテーブルとフィーチャクラスに記録しています。
# Name: ZonalCharacterization_Ex_standalone.py
# Description: Summarizes the values of multiple rasters within the zones
# of another dataset and reports the results as a table.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set the analysis environments
arcpy.env.workspace = "C:/sapyexamples/data"
# Set the local variables
inZoneData = "zones.tif"
zoneField = "Value"
inValueRas1 = "ValueRas1.tif"
inValueRas2 = "ValueRas2.tif"
inValueRas3 = "ValueRas3.tif"
outTable = "zonalcharactereizationout.dbf"
outFeatureClass = "featurestatout.shp"
# Execute ZonalCharacterization
outzonalchar = ZonalCharacterization(inZoneData, [[inValueRas1, "MEAN",
"ValueRas1_MEAN"], [inValueRas2, "STD", "ValueRas2_STD"],
[inValueRas3, "SUM", "ValueRas3_SUM"]], outTable, outFeatureClass,
zoneField, "NODATA", "", "", "ARITHMETIC", "", "CURRENT_SLICE", "ALL")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst