标注 | 说明 | 数据类型 |
输入栅格 | 要进行重分类的输入栅格。 | 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.Slice_3d("elevation", "c:/output/elev_slice.tif", 5, "NATURAL_BREAKS")
使用等于 10 的定义间隔重新分类输入栅格。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Slice_3d("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.Slice_3d(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.Slice_3d(inRaster, outRaster, numberZones, "EQUAL_AREA", baseOutputZone, nodataToValue, classIntervalSize)
许可信息
- Basic: 需要 3D Analyst 或 Spatial Analyst
- Standard: 需要 3D Analyst 或 Spatial Analyst
- Advanced: 需要 3D Analyst 或 Spatial Analyst