• ArcGIS教程:加权叠加


      摘要

      使用经常使用測量比例叠加多个栅格数据,并依据各栅格数据的重要性分配权重。

      插图

      

      插图中,两个输入栅格已又一次分类为 1 至 3 三种公共測量级别。为每一个栅格均分配了一个影响百分比。这些像元值与其影响百分比相乘,两者所得结果相加创建输出栅格。以左上角像元为例。

    这两个输入的值变为 (2 * 0.75) = 1.5 与 (3 * 0.25) = 0.75。1.5 和 0.75 的和为2.25。

    由于加权叠加获得的输出栅格为整数,所以终于值取整为 2。

      使用方法

      · 全部输入栅格数据必须为整型。

    浮点型栅格数据要先转换为整型栅格数据,然后才干在加权叠加中使用。

    重分类工具是运行换转的有效方法。

      · 依据评估等级为输入栅格中的各个值类分配一个新值。这些新值是原始输入栅格值的重分类。

    对于要从分析中排除的区域,将使用受限值。

      · 依据各个输入栅格数据的重要性或者影响力百分比对其进行加权。

    权重是相对百分比,而且影响力百分比权重的总和必须等于 100。

      · 通过更改评估等级或影响力百分比能够改变加权叠加分析的结果。

      代码实例

      WeightedOverlay 演示样例 1(Python 窗体)

      本演示样例创建的适宜性 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")

      WeightedOverlay 演示样例 2(独立脚本)

      本演示样例创建的适宜性 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])

      # Check out the ArcGIS Spatial Analyst extension license

      arcpy.CheckOutExtension("Spatial")

      # Execute WeightedOverlay

      outWeightedOverlay = WeightedOverlay(myWOTable)

      # Save the output

      outWeightedOverlay.save("C:/sapyexamples/output/weightover2")

  • 相关阅读:
    数学基础
    Codeforces Beta Round 84 (Div. 2 Only)
    Codeforces Round 256 (Div. 2)
    Codeforces Round FF(Div. 2)
    Codeforces Round 254 (Div. 2)
    Python3 集合(无序的set)
    Python3 字典(map)
    Python3 元组
    Python3 列表
    初等数论及其应用——唯一分解定理
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5359062.html
Copyright © 2020-2023  润新知