需要 Spatial Analyst 许可。
需要 3D Analyst 许可。
描述
重分类(或更改)栅格中的值。
使用方法
如果要对值的范围重新分类,除两个输入范围的边界外,范围不应重叠。在发生重叠的位置,较低输入范围的最大值将包含在取值范围中,而较高输入范围的最小值将不包含在取值范围中。
举例来说,如果指定了两个范围,比如将值 1 到 5 重新分类为 100,将 5 到 10 重新分类为 200,则小于或等于 5 的输入值将指定给输出值 100,而大于 5 的输入值(如 5.1)则会指定给 200。
-
可通过工具中的保存选项来保存重映射表,以供日后使用。可将重映射保存为任意关系表格式。使用加载选项可重新加载先前通过保存按钮创建的重映射表。
建议只加载先前用重分类工具保存的表。表的格式是特定的,且必须含有字段 FROM、TO、OUT 和 MAPPING。
如果输入栅格具有属性列表,则它将用于创建初始重分类表。如果输入栅格没有属性表,则可以运行数据管理工具箱中的构建栅格属性表工具,在将栅格输入重分类工具之前构建一个属性表。否则,当您输入栅格时,则将通过首次应用范围和像元大小等地理处理环境设置并扫描栅格来创建重分类表。
如果输入栅格是内容中的图层,则默认的重分类表将导入由图层符号系统指定的唯一值或分类中断值。导入这些值时,当前的地理处理环境设置将被忽略。否则,必须使用唯一选项或分类选项来手动输入或生成重分类。
重分类的重映射表经过修改后,如果选择新的输入栅格,则这些表将不会更新。如果重分类不适合新的栅格,则可按以下方式之一重新初始化新重分类
- 使用擦除选项删除所有重映射记录,然后手动添加新值。
- 选择唯一选项或分类选项以生成新重分类。
将重分类工具用作模型的一部分时
- 如果该工具的输入派生自某个尚未运行的工具,则重分类工具中的重映射参数将一直为空,直到运行了前面的工具且验证了该模型为止。为避免这种情况,请始终先运行前面的工具,然后再将这些工具的输出变量作为输入连接到重分类工具。也可以通过添加条目来创建自定义重分类表。
- 若将重分类表显示为模型参数,则重分类字段必须显示为变量;但是,不需设置为模型参数。如果该字段未显示为变量,则在模型工具对话框中,分类按钮和唯一值按钮将不可用。
默认情况下,此工具会利用多核处理器。可供使用的最大核数为四。
要使用较少的核,请使用 parallelProcessingFactor 环境设置。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
Reclassify(in_raster, reclass_field, remap, {missing_values})
参数 | 说明 | 数据类型 |
in_raster | 要进行重分类的输入栅格。 | Raster Layer |
reclass_field | 表示要进行重分类的值的字段。 | Field |
remap | 重映射对象用于指定如何对输入栅格的值进行重分类。 有两种对输出栅格中的值进行重新分类的方法:RemapRange 和 RemapValue。可将输入值的范围指定给新的输出值,也可将单个值指定给新的输出值。 下面是重映射对象的格式。
| Remap |
missing_values (可选) | 指示重分类表中的缺失值是保持不变还是映射为 NoData。
| Boolean |
返回值
名称 | 说明 | 数据类型 |
out_raster | 输出重分类栅格。 输出将始终为整型。 | Raster |
代码示例
以下示例展示了对一个栅格进行重新分类的几种方式。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outReclass1 = Reclassify("landuse", "Value",
RemapValue([[1,9],[2,8],[3,1],[4,6],[5,3],[6,3],[7,1]]))
outReclass1.save("C:/sapyexamples/output/landuse_rcls")
outReclass2 = Reclassify("slope_grd", "Value",
RemapRange([[0,10,"NODATA"],[10,20,1],[20,30,2],
[30,40,3],[40,50,4],[50,60,5],[60,75,6]]))
outReclass2.save("C:/sapyexamples/output/slope_rcls")
outReclass3 = Reclassify("pop_density", "Value",
RemapRange([[10,10,1],[10,20,2],[20,25,3],
[25,50,4],[50,]]), "NODATA")
outReclass3.save("C:/sapyexamples/output/popden_rcls")
以下示例显示的是根据字符串型字段中的值对输入栅格进行重分类。
# Name: reclassify_example02.py
# Description: Reclassifies the values in a raster.
# 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
inRaster = "landuse"
reclassField = "LANDUSE"
remap = RemapValue([["Brush/transitional", 0], ["Water", 1],["Barren land", 2]])
# Execute Reclassify
outReclassify = Reclassify(inRaster, reclassField, remap, "NODATA")
# Save the output
outReclassify.save("C:/sapyexamples/output/outreclass02")
许可信息
- Basic: 需要 Spatial Analyst 或 3D Analyst
- Standard: 需要 Spatial Analyst 或 3D Analyst
- Advanced: 需要 Spatial Analyst 或 3D Analyst