• ArcGIS教程:加权总和


      摘要

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

      插图

      

      插图中,像元值与其权重因子相乘。两者所得结果相加创建输出栅格。以左上角像元为例。两个输入的值变为 (2.2 * 0.75) = 1.65 和 (3 * 0.25) = 0.75。1.5 与 0.75 的和为 2.4。

      使用方法

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

      · 输入栅格能够是整型或浮点型。

      · 权重值能够是正的或负的小数值。并不限定该值必须是相对百分比或等于 1.0。

      · 权重将应用至输入栅格的指定字段。

    字段的类型能够是短整型或长整型,双精度型或浮点型。

      语法

      WeightedSum (in_rasters)

      代码实例

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

  • 相关阅读:
    使用NoSQL可视化管理工具时报错The GuidRepresentation for the reader is CSharpLegacy
    git和github连接权限(这是一个简便方法,不是很安全,建议大家还是用ssh解决)
    python模块的使用
    利用python抓取页面数据
    利用递归解决“汉诺塔的移动”问题(使用python来做的,其它语言也行)
    mysql中利用show profile很直观的看到查询缓存的作用。
    MySQL中show profiles的开启
    浅谈依赖注入
    使用laraval框架和前端完成restful风格的请求对接(这里只是讨论restful的概念)
    利用composer安装laraval
  • 原文地址:https://www.cnblogs.com/llguanli/p/6952283.html
Copyright © 2020-2023  润新知