标注 | 说明 | 数据类型 |
加权叠加表 |
使用加权叠加表可执行多个栅格数据之间的多条件分析计算。 输入栅格:
重映射表:
等级 - 用于定义重映射值的评估等级。从预定义的评估等级列表中进行选择。您还可通过将参数连字符或空格输入到分隔值来定义您自己的评估等级控件。负值前面必须使用空格。 | WOTable |
返回值
标注 | 说明 | 数据类型 | 输出栅格 | 输出加权栅格。 | Raster |
需要 Spatial Analyst 许可。
所有输入栅格数据必须为整型。浮点型栅格数据要先转换为整型栅格数据,然后才能在加权叠加中使用。重分类工具是执行换转的有效方法。
根据评估等级为输入栅格中的各个值类分配一个新值。这些新值是原始输入栅格值的重分类。对于要从分析中排除的区域,将使用受限值。
根据各个输入栅格数据的重要性或者影响力百分比对其进行加权。权重是相对百分比,并且影响力百分比权重的总和必须等于 100。影响力仅通过整数值进行指定。十进制值将向下舍入为最近的整数。
通过更改评估等级或影响力百分比可以改变加权叠加分析的结果。
默认情况下,此工具会利用多核处理器。 可供使用的最大核数为四。
要使用较少的核,请使用 parallelProcessingFactor 环境设置。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
标注 | 说明 | 数据类型 |
加权叠加表 |
使用加权叠加表可执行多个栅格数据之间的多条件分析计算。 输入栅格:
重映射表:
等级 - 用于定义重映射值的评估等级。从预定义的评估等级列表中进行选择。您还可通过将参数连字符或空格输入到分隔值来定义您自己的评估等级控件。负值前面必须使用空格。 | WOTable |
标注 | 说明 | 数据类型 | 输出栅格 | 输出加权栅格。 | Raster |
WeightedOverlay(in_weighted_overlay_table)
名称 | 说明 | 数据类型 |
in_weighted_overlay_table | 使用加权叠加工具可执行多个栅格之间的多条件分析计算。 Overlay 类用于定义表。WOTable 对象用于指定条件栅格及其各自的属性。 对象形式为:
| WOTable |
名称 | 说明 | 数据类型 | out_raster | 输出加权栅格。 | Raster |
本示例创建了一个可识别滑雪场的潜在位置的适宜性 IMG 栅格。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outsuit = WeightedOverlay(WOTable(
[
["snow", 50, 'VALUE', RemapValue([[1,"Nodata"],[5,3],[9,10],["NODATA","NODATA"]])],
["land", 20, '', RemapValue([["water","1"],["forest",5],["open field",9],["NODATA", "NODATA"]])],
["soil", 30, 'VALUE', RemapValue([[1,"Restricted"],[5,5],[7,7],[9,9],["NODATA", "Restricted"]])]
],[1,9,1]))
outsuit.save("C:/sapyexamples/output/outsuit.img")
本示例创建了一个可识别滑雪场的潜在位置的适宜性 IMG 栅格。
# Name: WeightedOverlay_Ex_02.py
# Description: Overlays several rasters using a common scale and weighing
# each according to its importance.
# 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
inRaster1 = "snow"
inRaster2 = "land"
inRaster3 = "soil"
remapsnow = RemapValue([[0,1],[1,1],[5,5],[9,9],["NODATA","NODATA"]])
remapland = RemapValue([[1,1],[5,5],[6,6],[7,7],[8,8],[9,9],["NODATA","Restricted"]])
remapsoil = RemapValue([[0,1],[1,1],[5,5],[6,6],[7,7],[8,8],[9,9],["NODATA", "NODATA"]])
myWOTable = WOTable([[inRaster1, 50, "VALUE", remapsnow],
[inRaster2, 20, "VALUE", remapland],
[inRaster3, 30, "VALUE", remapsoil]
], [1, 9, 1])
# Execute WeightedOverlay
outWeightedOverlay = WeightedOverlay(myWOTable)
# Save the output
outWeightedOverlay.save("C:/sapyexamples/output/weightover2")