全国高分辨率土地利用数据服务 土地利用数据服务 土地覆盖数据服务 坡度数据服务 土壤侵蚀数据服务 全国各省市DEM数据服务 耕地资源空间分布数据服务 草地资源空间分布数据服务 林地资源空间分布数据服务 水域资源空间分布数据服务 建设用地空间分布数据服务 地形、地貌、土壤数据服务 分坡度耕地数据服务 全国大宗农作物种植范围空间分布数据服务
多种卫星遥感数据反演植被覆盖度数据服务 地表反照率数据服务 比辐射率数据服务 地表温度数据服务 地表蒸腾与蒸散数据服务 归一化植被指数数据服务 叶面积指数数据服务 净初级生产力数据服务 净生态系统生产力数据服务 生态系统总初级生产力数据服务 生态系统类型分布数据服务 土壤类型质地养分数据服务 生态系统空间分布数据服务 增强型植被指数数据服务
多年平均气温空间分布数据服务 多年平均降水量空间分布数据服务 湿润指数数据服务 大于0℃积温空间分布数据服务 光合有效辐射分量数据服务 显热/潜热信息数据服务 波文比信息数据服务 地表净辐射通量数据服务 光合有效辐射数据服务 温度带分区数据服务 山区小气候因子精细数据服务
全国夜间灯光指数数据服务 全国GDP公里格网数据服务 全国建筑物总面积公里格网数据服务 全国人口密度数据服务 全国县级医院分布数据服务 人口调查空间分布数据服务 收入统计空间分布数据服务 矿山面积统计及分布数据服务 载畜量及空间分布数据服务 农作物种植面积统计数据服务 农田分类面积统计数据服务 农作物长势遥感监测数据服务 医疗资源统计数据服务 教育资源统计数据服务 行政辖区信息数据服务
Landsat 8 高分二号 高分一号 SPOT-6卫星影像 法国Pleiades高分卫星 资源三号卫星 风云3号 中巴资源卫星 NOAA/AVHRR MODIS Landsat TM 环境小卫星 Landsat MSS 天绘一号卫星影像
计算另一个数据集的区域内栅格数据值的统计信息。
· 区域定义为输入中具有相同值的所有区。各区无需相连。栅格和要素数据集都可用于区域输入。
· 如果区域输入和值输入均为具有相同分辨率的栅格,则可直接使用它们。
如果分辨率不同,则可先应用内部重采样以使其相一致,然后再执行区域操作。
倘若输入中存在任何 NoData 像元,重采样就可能在输出中产生比您预期更大的 NoData 区域。要避免此种情况,或者重新采样粗糙输入栅格,提高输入栅格的分辨率,或者在“栅格分析”环境下将像元大小设置为输入的最小值。
· 如果区域输入为栅格数据集,则该输入必须具有属性表。通常会自动为整型栅格数据创建属性表,但是某些情况下可能不会这样做。您可以使用构建栅格属性表来创建一个属性表。
· 如果区域输入是要素数据集,则可在内部对其应用“矢量至栅格”转换。要确保转换结果与值栅格完全对齐,建议您检查环境设置和栅格设置中的范围和捕捉栅格是否设置正确。
由于内部栅格必须具有属性表,因此在转换中不创建属性表的情况下将会发生错误。如果发生此错误,则使用要素转栅格、面转栅格、点转栅格或折线转栅格直接转换要素数据集。按先前提示中所述内容为其生成属性表,然后使用生成的栅格作为“区域”输入。
· 如果区域输入为要素相对较小的要素数据集,则需要牢记,信息的分辨率需要适合于值栅格的分辨率。如果单个要素的区域相似于或小于值栅格中单个像元的区域,则在要素转栅格转换过程中,某些区域可能不会显示。
要对此进行显示,需尝试使用适当的要素转栅格转换工具将要素数据集转换为栅格,然后将分辨率指定为值栅格的分辨率。通过此转换产生的结果会指明区域操作的默认输出将是什么。
如果输出中的结果比您可能已预期的少,则需要确定表示要素输入细节的适当的栅格分辨率,然后使用此分辨率作为“栅格分析环境设置”的像元大小。
· 如果区域输入为点要素数据集,则其可能具有值输入栅格的任何特定像元内所含的多个点。对于这种像元,区域值将通过具有最高要素 ID 的点来确定。
· 如果区域要素输入具有叠置的面,则无法为每一个单独的面执行区域分析。因为要素输入已转换为栅格,所以每个位置只能拥有一个值。
另一种方法就是要为每个面区域反复进行分区统计并核对结果。
· 建议您仅使用栅格作为区域输入,因为这可使您更好地控制“矢量至栅格”转换。这将有助于确保您始终获得预期的结果。
· 在指定输入区域数据时,默认区域字段将为第一个可用的有效字段。如果无其他有效字段存在,则 ObjectID 字段(如 OID 或 FID)将为默认字段。
· 如果为区域字段选择保留字段(例如,OBECTID、FID 或 OID),则这可能导致结果中存在一些不明确现象。结果包括特定输出格式类型以及指定区域字段所必需的特定保留字段名称。如果对于特定输出格式,指定字段具有与保留字段相同的名称,则在输出中以结果中所有字段名均唯一的方式更改区域字段的名称。
· 输入值栅格可以为整型,也可以为浮点型。但是,当它是浮点型时,无法对众数、中值、少数和变异性执行分区计算。
· 对于众数和少数计算,当存在平局时,区域的输出将基于平局值的最低值。
ZonalStatistics (in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata})
参数 |
说明 |
数据类型 |
in_zone_data |
定义区域的数据集。 可通过整型栅格或要素图层来定义区域。 |
Raster Layer | Feature Layer |
zone_field |
保存定义每个区域的值的字段。 该字段可以是区域数据集的整型字段或字符串型字段。 |
Field |
in_value_raster |
含有要计算统计数据的值的栅格。 |
Raster Layer |
statistics_type (可选) |
要计算的统计类型。 · MEAN — 计算值栅格中与输出像元同属一个区域的所有像元的平均值。 · MAJORITY — 确定值栅格中与输出像元同属一个区域的所有像元中最常出现的值。 · MAXIMUM — 确定值栅格中与输出像元同属一个区域的所有像元的最大值。 · MEDIAN — 确定值栅格中与输出像元同属一个区域的所有像元的中值。 · MINIMUM — 确定值栅格中与输出像元同属一个区域的所有像元的最小值。 · MINORITY — 确定值栅格中与输出像元同属一个区域的所有像元中出现次数最少的值。 · RANGE — 计算值栅格中与输出像元同属一个区域的所有像元的最大值与最小值之差。 · STD — 计算值栅格中与输出像元同属一个区域的所有像元的标准差。 · SUM — 计算值栅格中与输出像元同属一个区域的所有像元的值的总和。 · VARIETY — 计算值栅格中与输出像元同属一个区域的所有像元中唯一值的数目。 |
String |
ignore_nodata (可选) |
指示值输入中的 NoData 值是否会影响其所落入区域的结果。 · DATA — 在任意特定区域内,仅使用在输入值栅格中拥有值的像元来确定该区域的输出值。在统计计算过程中,值栅格内的 NoData 像元将被忽略。 · NODATA — 在任意特定区域内,如果值栅格中存在任何 NoData 像元,则会视作对该区域中所有像元执行统计计算的信息不足;因此,整个区域在输出栅格中都将接收 NoData 值。 |
Boolean |
名称 |
说明 |
数据类型 |
out_raster |
输出分区统计栅格。 |
Raster |
本示例为各区域确定了值输入栅格中的像元值范围。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalStats = ZonalStatistics("zone", "value", "valueraster", "RANGE",
"NODATA")
outZonalStats.save("C:/sapyexamples/output/zonestatout")
本示例为各区域确定了值输入栅格中的像元值范围。
# Name: ZonalStatistics_Ex_02.py
# Description: Calculates statistics on values of a raster
# within the zones of another dataset.
# 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"
# Set local variables
inZoneData = "zone"
zoneField = "value"
inValueRaster = "valueraster"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalStatistics
outZonalStatistics = ZonalStatistics(inZoneData, zoneField, inValueRaster,
"RANGE", "NODATA")
# Save the output
outZonalStatistics.save("C:/sapyexamples/output/zonestatout2")