ArcGIS:如何利用模型构建(modelbuilder)进行公路选线?

简介: ArcGIS:如何利用模型构建(modelbuilder)进行公路选线?

01 问题的描述

假定某地假设某地新建了一个小学。考虑到学生上学放学交通问题,打算修建一条公路与已有公路连接起来。如下图所示,米黄色面要素表示学校,米形图标为公路的起点,现在将修筑一条连接这两个区域的公路,在修建公路的时候需要考虑地形坡度问题和公路经过地区的土地利用情况,从而减少成本和工程难度。

02 实验数据有哪些?

公路起点(点shp文件);学校(面shp文件);elevation(高程栅格数据);landuse(土地利用栅格数据);


03 实验思路

基本思路

如果我们需要获取路径,那么在 Spatial Analysis Tools工具箱中我们可以使用成本路径一工具;由于该工具的关键需要成本距离栅格和成本回溯链接栅格(关于其介绍可看(1条消息) ArcGIS:如何理解成本回溯链接栅格/方向矩阵/backlink raster?_输入成本回溯链接栅格数据_炒茄子的博客-CSDN博客);因此我们需要通过成本距离工具获取以上两个栅格数据,而成本距离工具又要求我们提供最关键的成本栅格数据,那么成本栅格数据如何得到呢?这就需要我们上文所说的实验数据elevation和landuse两个进行处理得到了。


如何通过elevation和landuse得到成本栅格?


实验要求我们考虑坡度问题和土地利用问题,因此我们需要通过elevation高程数据获取坡度数据;但是处理这之后还是不够的,因为我们需要对坡度数据和landuse土地利用数据进行重分类(为什么?因为我们需要将成本量化,例如坡度为0~10的区域我们认为经过它所花费的成本为1,10~20花费成本为2等等此类;而对土地利用数据亦是如此,不同的土地利用类型施工难度不同,所花费有的的土地利用)


花费d的成本亦是不同,类型甚至不能进行施工;


具体关于坡度和土地利用类型的成本实验要求如何?


土地里利用类型的花费花费的成本如下:


Agriculture 4,Barren land 6,Brush/transitional 5,Builtup 9,Forest 8,Water 10,Wetland NoData


对于坡度按照重分类中的Equal Interval方法均等分成10类;


04 实验流程

4.1 生成坡度数据


4.2 对坡度和土地利用数据进行重分类

先把土地利用数据添加进去


进行重分类


由于重分类我们实验要求是进行均等分类,那么在模型还没有运行之前是得不到slope.tif的像元数据,因此无法使用重分类工具的均等分类方法;


这里参考(1条消息) [ArcGIS] 模型构造器中使用重分类 ArcPy与Numpy 相等间隔重分类_arcpy批量重分类_geodoer的博客-CSDN博客中的获取栅格属性和栅格计算器完成均等分类;


也就是说对于坡度数据我们不使用重分类工具,但是对于土地利用数据由于本身在硬盘就存在其不是中间数据因此可以正常地使用重分类工具。


4.3 获取成本栅格数据

似乎忘记说明了,实验要求认为总的成本为60%的坡度影响和40%的土地利用影响;


(此处需要说明:下方的成本距离源数据应当填入学校数据<如果你的学校数据和公路起点数据均为点数据那么随意>;而之后的成本路径源数据应当填入公路起点数据;当然我不小心做反了,因此最后的路径有一些奇怪,这容易理解,因为我们的成本路径源数据如果填写面数据,那么就是这个面最外圈的所有点到成本距离源数据的最短路径,这个和ArcGIS的算法有关这里不再赘述)


4.4 获取成本路径


最终模型流程

至于设置模型参数,环境设置大家自行搜索,这里不再赘述;


如果有问题,欢迎一起探讨.

目录
相关文章
|
定位技术
ArcGIS:(模型构建器)如何获取各个区域下不同地物的面积?
ArcGIS:(模型构建器)如何获取各个区域下不同地物的面积?
261 0
|
6月前
|
定位技术 Python
ArcGIS中ArcMap通过模型构建器ModelBuilder导出地理与投影坐标系转换Python代码的方法
ArcGIS中ArcMap通过模型构建器ModelBuilder导出地理与投影坐标系转换Python代码的方法
121 2
|
6月前
|
Python
ArcGIS中ArcMap模型构建器ModelBuilder的模型建立与运行操作方法
ArcGIS中ArcMap模型构建器ModelBuilder的模型建立与运行操作方法
|
存储
ArcGIS模型构建器实现批量按掩膜提取影像
ArcGIS模型构建器实现批量按掩膜提取影像
613 0
|
存储
ArcGIS Pro新功能 | 模型构建器篇
ArcGIS Pro新功能 | 模型构建器篇
228 0
|
编解码 Python
ArcGIS:如何解决模型构建器报错<内存不足>?
ArcGIS:如何解决模型构建器报错<内存不足>?
530 0
|
人工智能 数据可视化 API
ArcGIS API for Python
ArcGIS API for Python
71 0
|
JavaScript 前端开发 应用服务中间件
Arcgis api for javascript 详细部署
Arcgis api for javascript 详细部署
|
人工智能 数据可视化 数据管理
ArcGIS API for Python
ArcGIS API for Python
114 0
|
数据可视化 数据管理 API
​​​​​​​ARCGIS API for Python进行城市区域提取
​​​​​​​ARCGIS API for Python进行城市区域提取
​​​​​​​ARCGIS API for Python进行城市区域提取
下一篇
无影云桌面