ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

加权总和

需要 Spatial Analyst 许可。

  • 描述
  • 插图
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

通过将栅格各自乘以指定的权重并合计在一起来叠加多个栅格。

了解有关“加权总和”工作原理的详细信息

插图

“加权总和”图示
在图示中,将像元值乘以其加权因子,然后将结果相加即可创建输出栅格。以左上角像元为例。两个输入的值将分别为 (2.2 * 0.75) = 1.65 和 (3 * 0.25) = 0.75。1.65 与 0.75 相加等于 2.4。

使用方法

  • 将多个栅格数据一起添加的有效方法是输入多个栅格并将所有权重设置为 1。

  • 输入栅格可以是整型或浮点型。

  • 权重值可以是正的或负的小数值。并不限定该值必须是相对百分比,也无需等于 1.0。

  • 权重将应用至输入栅格的指定字段。字段的类型可以是短整型或长整型,双精度型或浮点型。

  • 默认情况下,此工具会利用多核处理器。可供使用的最大核数为四。

    如果希望工具使用较少的核,请使用 parallelProcessingFactor 环境设置。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。

语法

WeightedSum(in_rasters)
参数说明数据类型
in_rasters

加权总和工具通过将栅格数据各自乘以指定的权重并合计在一起来叠加多个栅格数据。

Overlay 类用于定义表。WSTable 对象用于指定输入栅格的 Python 列表并对输入栅格进行相应的加权。

对象形式为:

  • WSTable(weightedSumTable)

WSTable

返回值

名称说明数据类型
out_raster

输出加权栅格。

此栅格为浮点类型。

Raster

代码示例

WeightedSum 示例 1(Python 窗口)

本示例通过将多个栅格合并到一起并应用适当的加权因子来创建适宜性栅格,用以为滑雪场地选址。

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"

# Execute WeightedSum
outWeightedSum = WeightedSum(WSTable([["snow", "VALUE", 0.25], ["land", "VALUE",0.25],
									  ["soil", "VALUE", 0.5]]))
outWeightedSum.save("C:/sapyexamples/output/outwsum")
WeightedSum 示例 2(独立脚本)

本示例通过将多个栅格合并到一起并应用适当的加权因子来创建适宜性栅格,用以为滑雪场地选址。

# Name: WeightedSum_Ex_02.py
# Description: Overlays several rasters multiplying each by their given
#    weight and summing them together.
# 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"
WSumTableObj = WSTable([[inRaster1, "VALUE", 0.25], [inRaster2, "VALUE", 0.25],
                        [inRaster3, "VALUE", 0.5]])

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute WeightedSum
outWeightedSum = WeightedSum(WSumTableObj)

# Save the output 
outWeightedSum.save("C:/sapyexamples/output/weightsumout")

环境

  • 自动提交
  • 像元大小
  • 像元大小投影方法
  • 当前工作空间
  • 范围
  • 地理变换
  • 掩膜
  • 输出配置关键字
  • 输出坐标系
  • 并行处理因子
  • 临时工作空间
  • 捕捉栅格
  • 切片大小

许可信息

  • Basic: 需要 Spatial Analyst
  • Standard: 需要 Spatial Analyst
  • Advanced: 需要 Spatial Analyst

相关主题

  • 叠加分析工具集概述
  • 了解叠加分析
  • 叠加分析方法
  • 加权叠加

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明