概要
別のデータセット上のゾーンごとにラスターの値を計算し、結果をテーブルに出力します。
図
使用法
ゾーンは、入力データ内において、同じ値を持つすべてのエリアとして定義されます。エリアは連続していなくてもかまいません。ラスターとフィーチャのいずれも入力ゾーンとして使用できます。
このラスター解析 ポータル ツールは、ArcGIS Enterprise の ポータルにサイン インすると使用できます。このポータルに、Raster Analysis 用に構成された ArcGIS Image Server があります。ツールを起動すると、ArcGIS Pro がクライアントとしてサービスを提供し、ArcGIS Enterprise とフェデレートされているサーバーで処理が発生します。ポータル ツールはポータルから入力としてレイヤーを受け取り、ポータルに出力を作成します。
入力ラスター レイヤーは、ポータルから入力されたレイヤー、イメージ サービスへの URI または URL、[Image Server レイヤーの作成 (Make Image Server Layer)] ツールの出力に対応しています。入力フィーチャ レイヤーには、ポータルからのレイヤーを使用できます。フィーチャ サービスへの URI または URL でもかまいません。このツールは、ローカルのラスター データまたはレイヤーをサポートしません。このポータル ツールへの入力としてはローカルのフィーチャ データとレイヤーを使用できますが、ポータルのレイヤーを入力することをお勧めします。
[入力ゾーン ラスターまたはフィーチャ](Python では inputZoneRasterOrFeatures) がラスターの場合、整数ラスターになるはずです。
ゾーンがフィーチャである場合、[入力値ラスター] (Python では inputValueRaster) からのセル サイズとセルの配置を使用して、内部でラスターに変換されます。
[入力ゾーン ラスターまたはフィーチャ] と [入力値ラスター] のセル サイズが異なる場合、出力セル サイズは [入力データの最大セル サイズ] の値となり、値ラスター イメージ サービスが内部でスナップ対象ラスターとして使用されます。セル サイズは同じだが、セルが位置揃えされていない場合、値ラスターは内部でスナップ対象ラスターとして使用されます。これらのいずれの場合も、ゾーン演算が実行される前に内部リサンプリングが開始されます。
ゾーンと値の両方の入力が同じセル サイズのラスターで、セル同士が位置揃えされている場合、それらの入力はツールで直接使用され、ツールの実行時に内部でリサンプリングされません。
[入力ゾーン ラスターまたはフィーチャ] がフィーチャである場合、値ラスターのセルの中心に重なっていないゾーン フィーチャのゾーンは内部ゾーン ラスターに変換されません。その結果、これらのゾーンは出力に表示されません。これを管理するには、フィーチャ ゾーンの目的の詳細レベルを保持する [セル サイズ] 環境の適切な値を決定し、解析環境で指定します。小さなセル サイズを指定すると、大規模な出力ラスターが生成されます。[入力値ラスター] には実際には詳細情報が存在しないため、解像度がより高い出力は必ずしも見かけほどは高品質な結果になりません。
[入力ゾーン ラスターまたはフィーチャ] に重なり合うフィーチャがある場合、個別のフィーチャに対してゾーン解析が実行されます。
[入力ゾーン ラスターまたはフィーチャ] がポイント フィーチャである場合、値入力ラスターの特定のセルが複数のポイントを含むことが可能です。そのようなセルの場合、ゾーンの値は最小の ObjectID フィールドを持つポイントによって決まります (たとえば OID や FID)。
[入力ゾーン ラスターまたはフィーチャ] を指定する場合、デフォルト ゾーン フィールドは 1 つ目の有効な整数またはテキスト フィールドになります。他に有効なフィールドが存在しないとき、ObjectID フィールド (たとえば、OID または FID) がデフォルトになります。
[入力値ラスター] は、整数または浮動小数です。ただし、浮動小数点タイプの場合、最頻値、中央値、最少頻値、パーセンタイル、種類の計算オプションは使用できません。最頻値と最少頻値の計算では、同一頻度の値が複数ある場合、ゾーンには同一頻度の値の中で最も小さい値が出力されます。
サポートされている多次元データセット タイプには、多次元イメージ サービスが含まれます。
[統計の種類] パラメーター設定 (Python では statisticType) に応じて、フィールドまたは一連のフィールドが出力テーブルに作成されます。出力テーブルの行数は、ゾーンの数を表します。
構文
ZonalStatisticsAsTable(inputZoneRasterOrFeatures, inputValueRaster, outputTableName, zoneField, {ignoreNodata}, {statisticType}, {percentileValues}, {processAsMultidimensional})
パラメーター | 説明 | データ タイプ |
inputZoneRasterOrFeatures | ゾーンを定義する入力。 ラスター データとフィーチャ データのどちらも入力ゾーンとして使用できます。 | Raster Layer; Feature Layer |
inputValueRaster | 統計情報を集計するための値を含むラスター。 | Raster Layer |
outputTableName | 出力テーブルの名前。 テーブルがすでに存在する場合は、別の名前を指定するよう求められます。 | String |
zoneField | 各ゾーンを定義するフィールド。 ゾーン データセットの整数フィールドまたは文字列フィールドを使用できます。 | String |
ignoreNodata (オプション) | 入力値内の NoData 値が、属するゾーンの結果で無視されるかどうかを指定します。
| Boolean |
statisticType (オプション) | 計算する統計情報の種類を指定します。 値ラスターが整数の場合に使用可能なオプションは、[すべて]、[平均値]、[最頻値]、[最大値]、[中央値]、[最小値]、[最少頻値]、[パーセンタイル]、[範囲値]、[標準偏差]、[合計]、[種類]、[最小と最大]、[平均値および標準偏差]、および [最小値、最大値および平均値] です。 値ラスターが浮動小数点数の場合のオプションは、[すべて]、[平均値]、[最大値]、[最小値]、[範囲値]、[標準偏差]、および [合計] です。
| String |
percentileValues [percentileValues,...] (オプション) | 計算するパーセンタイル。デフォルトは 90 で、90 番目のパーセンタイルを示します。 値の範囲は 0 ~ 100 です。0 番目のパーセンタイルは、基本的に最小値の統計情報と同じであり、100 番目のパーセンタイルは最大値と同じです。値が 50 の場合、基本的に中央値の統計情報と同じ結果になります。 このオプションは、statisticType パラメーターが PERCENTILE または ALL に設定されている場合のみ適用されます。 | Double |
processAsMultidimensional (オプション) | 多次元の場合の入力ラスターの処理方法を指定します。
| Boolean |
派生した出力
名前 | 説明 | データ タイプ |
outputTable | 出力テーブル。 | ジオメトリを含まないフィーチャ サービス |
コードのサンプル
この例では、集約するラスター レイヤー内のセル値の平均値をゾーンごとに求めています。
import arcpy
arcpy.ZonalStatisticsasTable_ra('https://MyPortal.esri.com/server/rest/services/Hosted/landuse/ImageServer',
'https://MyPortal.esri.com/server/rest/services/Hosted/elevation/ImageServer',
'outTable', 'Landuse', '', 'MEAN')
この例では、集約するラスター レイヤー内の統計値をゾーンごとに求めています。
#-------------------------------------------------------------------------------
# Name: ZonalStatisticsasTable_Ex_02.py
# Description: Calculates all statistics with defined percentile values
# for sea-surface temperature defined by ecological zones.
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inputZoneRasterOrFeatures = 'https://MyPortal.esri.com/server/rest/services/Hosted/zones/ImageServer'
inputValueRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/seaSurfaceTemperature/ImageServer'
outputTableName = 'outZSAT'
zoneField = 'temperature'
ignoreNodata = ''
statisticType = 'ALL'
percentileValues = [25,75,90]
processAsMultidimensional = 'ALL_SLICES'
# Execute Multidimensional Zonal Statistics as Table
arcpy.ZonalStatisticsasTable_ra(inputZoneRasterOrFeatures, inputValueRaster, outputTableName, zoneField,
ignoreNodata, statisticType, percentileValues, processAsMultidimensional)
環境
ライセンス情報
- Basic: 次のものが必要 ArcGIS Image Server
- Standard: 次のものが必要 ArcGIS Image Server
- Advanced: 次のものが必要 ArcGIS Image Server