需要 Spatial Analyst 许可。
摘要
此列表用于标识将输入值的哪些范围重新分类到输出栅格中。
插图
说明
RemapRange 对象可在重分类工具和 WOTable 类中使用。
要重映射的输入值可以是整型或浮点型。
通过将 NoData(字符串)作为 newValue 输入 startValue 至 endValue 范围,可以将旧值分配为 NoData。
通常情况下,在输入值连续(例如高程或距离)或更改分类数据组(如如上述土地利用示例)时,需要对值范围进行重分类。
要将单个值重分类为新值,需将 startValue 和 endValue 值设为相同的值(设为需重分类的值)。
输入值范围不应重叠,除非位于两个输入范围的边界处。 发生重叠时,较低输入范围的最大值将包含在取值范围中,而较高输入范围的最小值将不包含在取值范围中。 例如:
1 3 : 5 (where 1 <= value <= 3, values remapped to 5) 3 5 : 3 (where 3 < value <= 5, values remapped to 3) 5 7 : 1 (where 5 < value <= 7, values remapped to 1)
语法
RemapRange (remapTable)
参数 | 说明 | 数据类型 |
remapTable [[startValue, endValue, newValue],...] | 用于将旧值(按范围指定)重映射为新值的重映射表。 其定义要重分类为新值的输入值(按范围指定)列表。这是一个列表的列表,且内部列表是由三个部分组成。 这三个部分为:
| List |
属性
属性 | 说明 | 数据类型 |
remapTable (可读写) | 用于将原始值重映射到新值的重映射表。 | List |
代码示例
演示如何创建 RemapRange 类以及如何在 Python 窗口的重分类函数中使用该类。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myRemapRange = RemapRange([[-3, 0, 0], [0, 1.75, 25], [1.75, 3.5, 50],
[3.5, 5.25, 75], [5.25, 7, 100]])
outReclassRR = Reclassify("inreclass", "VALUE", myRemapRange)
outReclassRR.save("C:/sapyexamples/output/rclassremran")
使用 RemapRange 类进行重分类。
# Name: RemapRange_Ex_02.py
# Description: Uses the RemapRange object to execute Reclassify tool.
# 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 = "inreclass"
# Define the RemapValue Object
myRemapRange = RemapRange([[-3, -1.75, 1], [-1.75, -0.5, 2], [-0.5, 0.75, 3],
[0.75, 2, 4], [2, 3.25, 5], [3.25, 4.5, 6],
[4.5, 5.75, 7], [5.75, 7, 8]])
# Execute Reclassify
outReclassRR = Reclassify(inRaster, "VALUE", myRemapRange)
# Save the output
outReclassRR.save("C:/sapyexamples/output/reclassreran2")