RemapRange

需要 Spatial Analyst 许可。

摘要

此列表用于标识将输入值的哪些范围重新分类到输出栅格中。

插图

RemapRange 重映射表图像示例
用于“重分类”函数的 RemapRange 重映射表的示例。

说明

RemapRange 对象可在重分类工具和 WOTable 类中使用。

要重映射的输入值可以是整型或浮点型。

通过将 NoData(字符串)作为 newValue 输入 startValueendValue 范围,可以将旧值分配为 NoData。

通常情况下,在输入值连续(例如高程或距离)或更改分类数据组(如如上述土地利用示例)时,需要对值范围进行重分类。

要将单个值重分类为新值,需将 startValueendValue 值设为相同的值(设为需重分类的值)。

输入值范围不应重叠,除非位于两个输入范围的边界处。 发生重叠时,较低输入范围的最大值将包含在取值范围中,而较高输入范围的最小值将不包含在取值范围中。 例如:

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],...]

用于将旧值(按范围指定)重映射为新值的重映射表。

其定义要重分类为新值的输入值(按范围指定)列表。这是一个列表的列表,且内部列表是由三个部分组成。

这三个部分为:

  • startValue - 要指定给新输出值的值范围的下限。(数据类型:双精度型)
  • endValue - 要指定给新输出值的值范围的上限。(数据类型:双精度型)
  • newValue - 要指定给由起始值和结束值所定义的输入值范围的新值。(数据类型:整型)

List

属性

属性说明数据类型
remapTable
(可读写)

用于将原始值重映射到新值的重映射表。

List

代码示例

RemapRange 示例 1(Python 窗口)

演示如何创建 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 示例 2(独立脚本)

使用 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")

相关主题