【ArcGIS Pro实操第二期】最小成本路径(Least-cost path)原理及实操案例

本文主要是介绍【ArcGIS Pro实操第二期】最小成本路径(Least-cost path)原理及实操案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ArcGIS Pro实操第一期:最小成本路径原理及实操案例

  • 概述(Creating the least-cost path)
    • 1.1 原理介绍
    • 1.2 实现步骤
    • 1.3 应用案例
  • 2 GIS实操
    • 2.1 工具箱简介
      • 2.1.1 成本路径(Cost path)
      • 2.1.2 成本距离(Cost distance)
      • 2.1.2 路径距离(Path Distance)
    • 2.2 案例:
  • 参考

概述(Creating the least-cost path)

最小成本路径(Least Cost Path, LCP)是从起点到终点的最经济有效的路径。从起点到终点,选择的路径累积的“成本”最少。
在这里插入图片描述
这种分析在线性基础设施和路由应用中非常实用。例如,管道、电力线和轨迹规划在很大程度上依赖于这种类型的路线选择分析。

在寻找成本最低的路径时,您通常会比较不同路径的成本,并选择成本最低的路径。这可以是时间、金钱或任何其他指标。

1.1 原理介绍

案例说明:在下图中,可以看到新道路的两条可能路径(紫色和红色)。紫色线表示使用成本栅格创建的路径,其中每个输入栅格(土地使用和坡度)具有相同的影响。红线表示使用成本栅格创建的路径,其中坡度输入栅格的权重(影响)为66%。通过给斜率输入栅格一个更高的权重,更多地注意避免在红色路径上出现更陡的斜率。
在这里插入图片描述
重要的是要考虑如何对构成成本栅格的栅格进行加权。光栅的权重取决于你的应用程序和你想要达到的结果。

如果有多个单元或区域作为输入目的地,则可以从每个单元(产生多条路径,每个单元有一条路径)、每个区域(每个区域有一条路径)或最佳单个路径(只有一条路径,任何区域中最便宜的路径)计算代价最小的路径。工具中的参数指定应该使用哪个过程。

在下面的示例中,将使用不同的Path类型选项来演示成本路径。
在这里插入图片描述

  • 单个区域(Each zone)
    使用Each zone选项,将为每个From目标位置生成不同的路径。
    在这里插入图片描述
  • 单一路径(Single path)
    在下面的例子中,成本路径将使用最佳单路径选项进行演示。当存在一个最小代价路径时,它将被编码为输出光栅上的值3。路径起源的源区域中的单元格被分配值为1。
    在这里插入图片描述
  • 每个区域都有收敛路径(Each zone with converging paths)
    当来自不同区域的两条或两条以上的代价路径在到达一个源的路上汇合,并一起继续剩余的距离时,由于无法确定路段的所有者,因此将到源的联合路径赋值为2,如下面的每个区域的代价路径示例所示。
    在这里插入图片描述

1.2 实现步骤

进行此分析时,有三个主要步骤:

  • 成本距离(Cost distance)-首先,你必须计算与你的起点相关的成本。
    对于一条徒步路线,你的成本矩阵就是坡度。斜率越高,成本就越高。
  • 成本反向链接(Cost backlink)——第二,你需要计算栅格反向链接。
    在这种情况下,它将是路径的方向,从一个细胞到下一个细胞的所有8个可能的基本方向。
  • 成本路径(Cost path)——最后,您可以使用成本距离、成本反向链接和目的源来计算成本路径。
    无论走哪条路线,任何到达目的地的路径都等于相同的净高程变化。但它累积的斜率最小。

1.3 应用案例

使用这种光栅分析的一些领域是考古学,动物走廊和工程。

以下是关于最低成本路径分析及其工作原理的两个深入例子:

  • 管道路由——如果你想为管道找到最划算的路线,你可能会想在成本最低的地方设计它。
    例如,成本距离层将包括来自人口密度、环境地点和靠近水的加权值。障碍物是任何你不能穿过的东西,比如墓地、禁区或圣地。

  • 远足路线规划-规划适合家庭的远足路线的“成本”将会非常不同。
    在这种情况下,你会想把它建在最小的斜坡上,这样就可以安全攀爬了。当你从起点走到终点时,你想要“购买”最低的“成本”,也就是最小的斜率。任何通往山顶的路线都等于相同的净海拔变化。但成本最低的路径从头到尾累积的斜率最小。

2 GIS实操

2.1 工具箱简介

成本路径(Cost path) 工具确定从目标点到源点的最低成本路径。
除了要求指定目的地之外,成本路径(Cost path)工具还使用从成本距离工具派生的两个光栅:最小成本距离光栅和反向链接光栅。
这些栅格是由成本距离(Cost distance)或路径距离工具路径距离(Path Distance)创建的。反向链路栅格用于在成本距离表面上从目的地到源的成本最低的路线。

2.1.1 成本路径(Cost path)

2.1.2 成本距离(Cost distance)

2.1.2 路径距离(Path Distance)

2.2 案例:

参考

1、GISGeography-Least Cost Path Analysis in GIS
2、ArcGIS Pro-Creating the least-cost path

这篇关于【ArcGIS Pro实操第二期】最小成本路径(Least-cost path)原理及实操案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143006

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

一文教你解决Python不支持中文路径的问题

《一文教你解决Python不支持中文路径的问题》Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的... 目录问题背景解决方案1. 设置正确的文件编码2. 使用pathlib模块3. 转换路径为Unicod

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4