标注 | 说明 | 数据类型 |
输入栅格 | 要进行重分类的输入栅格。 | Raster Layer |
输出栅格 | 输出重分类栅格。 输出将始终为整型。 除了标准 ObjectID、Value 和 Count 字段之外,输出栅格的属性表包含两个额外字段。 Value 字段表示类别值。 ZoneMin 和 ZoneMax 字段记录用于生成类别的最小和最大值。 | Raster Dataset |
输出区域数量 (可选) | 输入栅格将重新分类为的区域数。 当分割方法参数值为相等面积、相等间隔、自然间断点或几何间隔时,此参数为必需项。 当分割方法参数值为定义间隔、标准差(以平均值为中心)或标准差(以平均值为间断点)时,输出区域数参数将无效。 输出区域数将由间隔大小参数值确定。 | Long |
分割方法 (可选) | 指定将输入栅格重新分类为区域的方式。
| String |
输出的起始值 (可选) | 用于输出栅格数据集上的区域(类别)的起始值。 将为类别分配整数值,从起始值开始递增 1。 默认起始值为 1。 | Long |
将输出中的 NoData 替换为值 (可选) | 将输出中的 NoData 替换为值。 如果未设置此参数,则 NoData 像元将在输出栅格中保持为 NoData。 | Long |
间隔大小 (可选) | 类别之间的间隔大小。 当将分割方法设置为定义间隔、标准差(以平均值为中心)或标准差(以平均值为中断点)时,此参数为必需项。 如果使用了定义间隔,则间隔大小表示用于计算类别间断点的实际值范围。 如果使用了标准差(以平均值为中心)或标准差(以平均值为间断点),则间隔大小表示用于计算类别间断点的标准差数量。 | Double |
需要 Spatial Analyst 许可。
需要 3D Analyst 许可。
摘要
按照区域(类)对输入像元值的范围进行分割或重分类。 可用的数据分类方法包括相等间隔、相等面积(分位数)、自然间断点、标准差(以平均值为中心)、标准差(平均值作为中断)、定义的间隔和几何间隔。
使用情况
以下选项可用于分割方法参数。 它们生成具有不同特征的输出区域。
- 相等面积 - 将为输出栅格定义区域数量,并且每个区域中的像元数应相同。
- 相等间隔 - 将为输出栅格定义区域数量,每个区域包含相等的值范围。
- 自然间断点和几何间隔 - 将为输出栅格指定区域数量,每个区域中的像元数将由分类间隔决定。
- 标准差(以平均值为中心)、标准差(以平均值为中断点)和定义间隔 - 输出栅格将具有由间隔大小参数值确定的区域数,每个区域中的像元由类别中断点确定。
-
根据指定的分割方法,必须指定输出区域数参数值或间隔大小参数值之一。
- 当使用相等面积、相等间隔、自然间断点或几何间隔分割方法时,需要指定输出区域数参数。
- 当使用定义间隔、标准差(以平均值为中心)或标准差(以平均值为中断点)分割方法时,需要指定间隔大小参数。
可以使用将 NoData 更改为输出的值参数将 NoData 值替换为输出中的整数值。 如果您需要防止 NoData 像元与任何输出区域合并,需指定一个超出预期输出区域范围的整数值。 例如,对于从 1 到 5 的输出区域,指定一个小于 1 或大于 5 的值。 候选值包括 0、100 和 -99。 要将 NoData 值合并到现有区域中,需使用该区域的整数值。 如果未设置此参数,则输入 NoData 像元将在输出栅格中保持为 NoData。
参数
arcpy.ddd.Slice(in_raster, out_raster, {number_zones}, {slice_type}, {base_output_zone}, {nodata_to_value}, {class_interval_size})
名称 | 说明 | 数据类型 |
in_raster | 要进行重分类的输入栅格。 | Raster Layer |
out_raster | 输出重分类栅格。 输出将始终为整型。 除了标准 ObjectID、Value 和 Count 字段之外,输出栅格的属性表包含两个额外字段。 Value 字段表示类别值。 ZoneMin 和 ZoneMax 字段记录用于生成类别的最小和最大值。 | Raster Dataset |
number_zones (可选) | 输入栅格将重新分类为的区域数。 如果 slice_type 参数值为 EQUAL_AREA、EQUAL_INTERVAL、NATURAL_BREAKS 或 GEOMETRIC_INTERVAL,则此参数为必需项。 如果 slice_type 参数值为 STANDARD_DEVIATION_MEAN_CENTERED、STANDARD_DEVIATION_MEAN_BREAK 或 DEFINED_INTERVAL,则不支持 number_zones 参数。 输出区域数将由 class_interval_size 参数值确定。 | Long |
slice_type (可选) | 指定将输入栅格重新分类为区域的方式。
| String |
base_output_zone (可选) | 用于输出栅格数据集上的区域(类别)的起始值。 将为类别分配整数值,从起始值开始递增 1。 默认起始值为 1。 | Long |
nodata_to_value (可选) | 将输出中的 NoData 替换为值。 如果未设置此参数,则 NoData 像元将在输出栅格中保持为 NoData。 | Long |
class_interval_size (可选) | 类别之间的间隔大小。 当将 slice_type 参数设置为 DEFINED_INTERVAL、STANDARD_DEVIATION_MEAN_CENTERED 或 STANDARD_DEVIATION_MEAN_BREAK 时,此参数为必需项。 如果使用了 DEFINED_INTERVAL,则间隔大小表示用于计算类别间断点的实际值范围。 如果使用了 STANDARD_DEVIATION_MEAN_CENTERED 或 STANDARD_DEVIATION_MEAN_BREAK,则间隔大小表示用于计算类别间断点的标准差数量。 | Double |
代码示例
基于数据固有的自然分组,将输入栅格重新分类为五个类别。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.ddd.Slice("elevation", "c:/output/elev_slice.tif", 5, "NATURAL_BREAKS")
将输入栅格使用定义间隔 10 重新分类。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.ddd.Slice("elevation", "c:/output/elev_slice_02.tif", "", "DEFINED_INTERVAL", "", "", 10)
基于数据固有的自然分组,将输入栅格重新分类为 10 个类别,并指定输出类别的起始值为 -5。
# Name: Slice_3d_Ex_03.py
# Description: Slices the input raster into 10 zones(classes) based on natural groupings inherent in the data
# Specify the starting value for output classes to be -5.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inRaster = "elevation"
outRaster = "C:/output/elev_slice_03.tif"
numberZones = 10
baseOutputZone = -5
# Execute Slice
arcpy.ddd.Slice(inRaster, outRaster, numberZones, "NATURAL_BREAKS", baseOutputZone)
将输入栅格重新分类为 10 个等面积类别。 将 NoData 像元分配为输出中的 -99 值。
# Name: Slice_3d_Ex_04.py
# Description: Slices the input raster into 10 zones(classes) based on equal area.
# Assign NoData cells to have a value of -99 in the output.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inRaster = "elevation"
outRaster = "C:/output/elev_slice_04.tif"
numberZones = 10
baseOutputZone = 5
nodataToValue = -99
classIntervalSize = "" # or None
# Execute Slice
arcpy.ddd.Slice(inRaster, outRaster, numberZones, "EQUAL_AREA", baseOutputZone, nodataToValue, classIntervalSize)
许可信息
- Basic: 需要 3D Analyst 或 Spatial Analyst
- Standard: 需要 3D Analyst 或 Spatial Analyst
- Advanced: 需要 3D Analyst 或 Spatial Analyst