【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/1141160

相关文章

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

Springboot3 ResponseEntity 完全使用案例

《Springboot3ResponseEntity完全使用案例》ResponseEntity是SpringBoot中控制HTTP响应的核心工具——它能让你精准定义响应状态码、响应头、响应体,相比... 目录Spring Boot 3 ResponseEntity 完全使用教程前置准备1. 项目基础依赖(M

Java 队列Queue从原理到实战指南

《Java队列Queue从原理到实战指南》本文介绍了Java中队列(Queue)的底层实现、常见方法及其区别,通过LinkedList和ArrayDeque的实现,以及循环队列的概念,展示了如何高效... 目录一、队列的认识队列的底层与集合框架常见的队列方法插入元素方法对比(add和offer)移除元素方法

C++11中的包装器实战案例

《C++11中的包装器实战案例》本文给大家介绍C++11中的包装器实战案例,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录引言1.std::function1.1.什么是std::function1.2.核心用法1.2.1.包装普通函数1.2.

SQL 注入攻击(SQL Injection)原理、利用方式与防御策略深度解析

《SQL注入攻击(SQLInjection)原理、利用方式与防御策略深度解析》本文将从SQL注入的基本原理、攻击方式、常见利用手法,到企业级防御方案进行全面讲解,以帮助开发者和安全人员更系统地理解... 目录一、前言二、SQL 注入攻击的基本概念三、SQL 注入常见类型分析1. 基于错误回显的注入(Erro

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

Redis 命令详解与实战案例

《Redis命令详解与实战案例》本文详细介绍了Redis的基础知识、核心数据结构与命令、高级功能与命令、最佳实践与性能优化,以及实战应用场景,通过实战案例,展示了如何使用Redis构建高性能应用系统... 目录Redis 命令详解与实战案例一、Redis 基础介绍二、Redis 核心数据结构与命令1. 字符

MySQL 批量插入的原理和实战方法(快速提升大数据导入效率)

《MySQL批量插入的原理和实战方法(快速提升大数据导入效率)》在日常开发中,我们经常需要将大量数据批量插入到MySQL数据库中,本文将介绍批量插入的原理、实现方法,并结合Python和PyMySQ... 目录一、批量插入的优势二、mysql 表的创建示例三、python 实现批量插入1. 安装 PyMyS

通过DBeaver连接GaussDB数据库的实战案例

《通过DBeaver连接GaussDB数据库的实战案例》DBeaver是一个通用的数据库客户端,可以通过配置不同驱动连接各种不同的数据库,:本文主要介绍通过DBeaver连接GaussDB数据库的... 目录​一、前置条件​二、连接步骤​三、常见问题与解决方案​1. 驱动未找到​2. 连接超时​3. 权限不

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随