(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验三----学校选址与路径规划(超超超详细!!!)
目录
实验三 学校选址与道路规划
3.1 实验内容及目的
3.1.1 实验内容
3.1.2 实验目的
3.2 实验方案
3.3 操作流程
3.3.1 环境设置
3.3.2 地势分析
(1)提取坡度:
(2)重分类:
3.3.3 学校点分析
(1)欧氏距离:
(2)重分类:
3.3.4 娱乐场所点分析
(1)欧氏距离:
(2)重分类:
3.3.5土地利用类型分析
3.3.6 叠加分析
(1)加权叠加:
(2)提取权重最大区域:
(3)适宜区处理:
(4)转矢量:
(5)提取面积大于5英亩的区域:
(6)输出数据:
3.3.7 绘制专题地图
3.3.8地形起伏度分析
(1)栅格邻域计算:
(2)栅格邻域计算:
(3)栅格计算器:
(4)重分类地形起伏:
3.3.9 成本计算
3.3.10 成本距离分析
3.3.11 成本路径分析
(1)利用距离分析中的成本路径计算最小距离
(2)转换数据格式:
看到这里,说明您对arcgis已经有了一定的了解了,下面进行arcgis更高级的玩法---叠加分析
实验三 学校选址与道路规划
随着城市化的快速发展与城市人口的不断增长,城市的各种资源出现严重短缺,例如城市的教育资源、医疗卫生资源、公共服务设施资源等。为满足城市人口日常生活的需求,要适当增加各类紧峡资源的数量。以教育资源为例,一个城市需要扩大教育资源,就要新增学校,这就涉及学校选址问题,包括如何选址、选址需要考虑哪些因素等问题。一般来讲应该考虑学校建设成本(土地利用类型、建设场地的平整度等)、可以利用的资源、避开已有的学校、学校服务功能最大化等因素。本实验以学校选址为例,在充分考虑土地利用分类数据、数字高程模型数据、已有学校分布和学生娱乐场所配套数据的基础上,介绍学校选址流程,以确定出适宜性比较好的学校选址区域。然后以选择一条从新选址学校到某目的地的道路为例,介绍采用距离分析中的成本路径进行道路规划的方法。
3.1 实验内容及目的
3.1.1 实验内容
根据给出的学校数据、高程数据、娱乐场所数据和土地利用分类数据进行新学校选址及道路规划。根据以下条件进行新学校选址:
①结合现有的土地利用类型,选择合适的土地利用类型(要求成本不高);
②与现有的娱乐设施配套,学校距离娱乐设施越近越好;
③避开现有学校合理分布;
④地势平坦;
⑤面积要求大于5英亩(选用英制单位的目的是让学生学会如何换算);
⑥对新学校适合区做专题图分析。
修建一条从新学校通往目的地,花费成本最低的道路。要求新建路径成本较少、路径较短。新建路径的成本因素将同时考虑土地利用数据、地形起伏度数据和坡度数据,按照0.3:0.3:0.4的权重进行合并,公式描述为
成本=重分类土地利用x重分类起伏度X重分类坡度
3.1.2 实验目的
(1)掌握欧氏距离和重分类工具的使用。
(2)熟悉对所需图层的选择和提取。
(3)掌握对栅格数据的块统计方法。
(4)掌握成本距离和成本路径的分析
3.2 实验方案
基于高程数据进行表面分析,提取坡度。对娱乐场所数据和学校数据做欧氏距离分析、提取每个栅格与最近源之间的欧氏距离。最后对坡度、娱乐场所欧氏距离、学校欧氏距离和土地利用类型进行重分类,提取出学校选址的四个合适因子,对四个合适因子按权重进行加权叠加分析及面积筛选,最终得到学校选址区域。
基于高程数据进行地形起伏度计算,对坡度、地形起伏度、土地利用类型进行重分类基于栅格计算器加权叠加计算成本费用,提取成本距离和成本路径。。
3.3 操作流程
3.3.1 环境设置
在ArcMap主菜单中点击【地理处理】--【环境设置】。设置好工作空间,输出坐标系的设置与土地利用类型(landuse)一致,处理范围的设置与土地利用类型(|anduse)一致,空间分析栅格像元大小与高程数据(elevation)一致,环境设置如下图所示。
通过观察发现高程数据与其余数据坐标系不一致,因此对高程数据的坐标系进行修改。
依次点击【地理处理】--【ArcToolbox工具】--【数据管理工具】--【投影和变换】--【栅格】--【投影栅格】。
调整为下图所示设置,点击确定。
3.3.2 地势分析
基于高程数据进行表面分析,提取坡度。对坡度重分类,得到地势平缓的区域.
(1)提取坡度:
点击ArcToolbox中的【空间分析】--【表面分析】【坡度】。
输入棚格:高程数据~eievation!”,其他设置保持默认,点击【确定】。
输出坡度结果:
(2)重分类:
点击ArcToolbox中的【空间分析】-【重分类】-【重分类】。
输入栅格选择坡度结果,点击“重分类”,输入栅格文件为刚提取的坡度文件Slope_elevation1.tif,设置重分类字段为value,点击对话框中的【分类】按钮。
弹出“分类”对话框。在“分类”对话框中设置如下参数:分类“类别”选择“10”,“方法”选择“相等间隔”,根据实验要求坡度超过30°以上的就取不考虑,在重分类时将中断值29.694746设为30,点击【确定】,设置如下图所示。
在“重分类”对话框中点击【对新值取反】,点击【确定】,设置如下图所示。
重分类结果如下图所示。
3.3.3 学校点分析
对学校数据做欧氏距离分析,提取每个栅格与最近源之间的欧氏距离,并进行重分类,提取合适的区域。
(1)欧氏距离:
点击ArcToolbox中的【空间分析】-【距离分析】-【欧氏距离】。
输人栅格选择学校数据,默认输出位置为Result/EucDist_schools1a.tif,设置像元大小为30,结果如下图所示。
点击确定.
(2)重分类:
点击ArcToolbox中的【空间分析】-【重分类】--【重分类】。输人栅格选择学校歐氏距离结果,点击“重分类”对话框中的【分类】,弹出“分类”对话框。在“分类”对话框中设置如下参数:“分类”类别选择“10”,“方法”选择“相等间隔”,点击【确定】。
返回“重分类”对话框,勾选"将缺失值更改为NoData(可选)”,完成重分类设置。
重分类结果如下图所示。
3.3.4 娱乐场所点分析
(1)欧氏距离:
点击 ArcToolbox中的【空间分析】--【距离分析】-【欧氏距离】。“输入栅格数据或要素源数据”选择娱乐场所的数据.
点击确定,输出欧氏距离结果,如下图所示。
(2)重分类:
点击 ArcToolbox中的【空间分析】--【重分类】-【重分类】,“输入栅格"选择娱乐场所欧氏距离的结果,点击“重分类"对话框中的【分类】,弹出”分类”时话框。在“分类”对话框中设置如下参数:“分类"类别选择“10”,方法“选择"相等间距”,点击【确定】。返回“重分类"对话框,点击【对新值取反】,勾选“将缺失值更改为NoData(可选)”.点击【确定】。重分类结果如下图所示。
3.3.5土地利用类型分析
重分类:点击ArcToolbox中的【空间分析】-【重分类】→【重分类】。“输入栅格”为“landuse.img”,“重分类字段”为“LANDUSE”,将“Water”“Wetlands”设置为“NoData”。按照要求,给“Brush/transitional”赋值为5,“Barren land”赋值为9,“Built up”赋值为 3,“Agriculture”赋值为8,“Forest"赋值为4,勾选“将缺失值更改为NoData(可选)”,设置如下图所示,点击【确定】。
得到处理后的土地利用图层
3.3.6 叠加分析
对提取出的三个因子和土地利用类型,按权重进行加权叠加,选择出所需地区并制作专题图。
(1)加权叠加:
点击ArcToolbox中的【空间分析】-【叠加分析】-【加权叠加】.
选择土地利用栅格数据,输入重分类字段为"LANDUSE"。
将以上重分类结果进行加权叠加,点击右上方加号。
添加土地利用栅格图,输入字段为LANDUSE。
依次导入剩余数据,剩余栅格数据默认字段为Value,对剩余各数据层权重比为:靠近娱乐场所50%,远离现有学校25%,地势平坦13%,合适的土地利用类型12%。
对“加权叠加表”对话框中不选择坡度大于30°的结果,即将1-6设置成Restricted。
确认影响总和为100,设置评估等级为"1至10 增量为1",确定输出路径,点击确定。
加权叠加结果如下图:
(2)提取权重最大区域:
点击ArcToolbox中的【空间分析】-【地图代数】-【栅格计算器】。
在“栅格计算器”对话框中,点击【条件分析】中的Con函数,点击【图层与变量】中的Weighte_Reclass3.tif,确保输入地图代数表达式为“Con("Weighte_Reclass3.tif"==9,1)",此公式的意思是,如果栅格Weighte_Reclass3.tif中的像元值等于9,则输出像元值为1;否则,不输出任何值(默认情况下,不满足条件的地方将被赋予NoData值)。选择输出地址,点击确定。
输出提取权重最大区域结果如下图所示。
(3)适宜区处理:
利用众数滤波工具对得到的适宜区进行处理,处理掉细碎的像元,点AreToolbox 中的【空间分析】--【栅格综合】-【众数滤波】,如下图所示。
输入rastercalc1文件,设置替换函数为【HALF】,点击确定:
结果如图,图中黑点区域即为适宜区:
(4)转矢量:
将提取的权重最大区域转换成矢量,点击ArcToolbox中的【转换工具】-【由栅格转出】-【栅格转面】。
“输人栅格”选择提取的权重最大区域,选择【简化面】。
输出结果如下图所示。
(5)提取面积大于5英亩的区域:
在内容列表中右键点击上一步生成的矢量数据-【打开属性表】,右键点击【表选项】--【添加字段】,将字段命名为面积,类型为双精度,点击【确定】,完成字段添加。
右键点击【面积】-【计算几何】。
属性选择面积,单位选择英亩,点击【确定】。
完成面积计算如下图:
点击主菜单中的【选择】-【按属性选择】。
输入表达式:"面积">=3.82(书上是要大于等于5,但我这边最大只要3.82948,选择面积最大那个就行)
保证此时那个最大面积区域已选中。
(6)输出数据:
在图层中右键点击矢量化的权重最大区域,点击【数据】-【导出数据】,选择所选要素,将数据保存为.shp格式。
加载到图层中,再次确认是否为最大的那块地
3.3.7 绘制专题地图
点击主菜单中的【视图】-【布局视图】,将页面切换到布局视图界面。
在图框中添加学校适宜性分析结果图、点击主菜单中的【插入】,添加图名、图例、比例尺、指北针、坐标格网等数绘制专题图。绘制结果如下图所示(大家也可以玩玩其他的)。
3.3.8地形起伏度分析
由于高程数据反映了地形的连续起伏变化,基于DEM数据进行邻域分析块统计,得到起变化,重分类地形起伏度。
(1)栅格邻域计算:
点击ArcToolbox中的【空间分析】--【邻域分析】--【块统计】。输入“elevationl.tif”数据,“领域分析(可选)”和“领域设置”为默认,“统计类型(可选)”选择“MAXIMUM”,点击【确定】,完成块统计设置如下图。
(2)栅格邻域计算:
点击ArcToolbox中的【空间分析】-【邻域分析】->【块统计】。输入“elevation1.tif”数据,“领域分析(可选)”和“领域设置”为默认,“统计类型(可选)”选择“MINIMUM”,点击【确定】,完成块统计设置如下图。
(3)栅格计算器:
点击ArcToolbox中的【空间分析】--【地图代数】--【栅格计算器】。
输入地图代数表达式,即用统计类型为最大值块统计结果减去统计类型为最小值块统计结果,设置如下图所示,点击【确定】。
输出结果如下图所示。
(4)重分类地形起伏:
点击ArcToolbox中的【空间分析】-【重分类】-【重分类】。“输人栅格”选择起伏度结果,点击【分类】按钮,弹出“分类”对话框。在“分类”对话框中设置如下参数:“分类”类别选择“10”,“方法”选择“相等间隔”,点击【确定】。
返回“重分类”对话框,点击【对新值取反】点击【确定】,设置如下图所示。
点击确定,重分类结果如图。
3.3.9 成本计算
点击 ArcToolbox中的【空间分析】【地图代数】--【栅格计算器】。输人地图代数表达式:"Reclass_land"*0.3+"Reclass_QFD"*0.3+"Reclass_Slope"* 0.4。设置如下图所示。
点击【确定】成本计算结果如下图所示。
3.3.10 成本距离分析
点击ArcToolbox中的【空间分析】-【距离分析】-【成本距离】。
“输人栅格数据或要素源数据”选择目的地“destination”,“输入成本栅格数据”为“cost”,如下图所示.
输出成本距离计算结果如下图所示。
输出成本回溯链接结果如下图所示。
3.3.11 成本路径分析
根据学校的最佳选址地点与成本距离棚格和成本回溯链接数据进行成本路径分析。
(1)利用距离分析中的成本路径计算最小距离
点击ArcToolbox中的【空间分析】--【距商分析】--【成本路径】。
“输入栅格数据或要素目标数据"选择适宜的学校选址数据,“输入成本距离栅格数据”与“输入成本回溯链接栅格数据”的设置如下图所示,
点击【确定】,输出结果如下图所示。
(2)转换数据格式:
将成本路径结果转换为天量数据,点击ArcToolbox中的【转换】--【由栅格转出】--【栅格转面】。
“输入栅格”选择成本路径结果,设置如下图所示。
点击【确定】,输出结果如下图所示。
至此,实验三完结,给个三连,饿会继续更的,这篇博客五千多字,后面实验只会越来越多,大家要熬得住寂寞。
相关文章:

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验三----学校选址与路径规划(超超超详细!!!)
目录 实验三 学校选址与道路规划 3.1 实验内容及目的 3.1.1 实验内容 3.1.2 实验目的 3.2 实验方案 3.3 操作流程 3.3.1 环境设置 3.3.2 地势分析 (1)提取坡度: (2)重分类: 3.3.3 学校点分析 (1)欧氏距离: (2)重分类: 3.3.4 娱乐场所点分析 (1)欧氏距离…...

L16.【LeetCode笔记】前序遍历
目录 1.知识回顾 2.题目 代码模板 3.分析 数组的初始化 malloc开辟的几种方案对比 奇怪的参数returnSize 做法 代码框架 4.代码 提交结果 5.PreOrder函数常见的错误写法 1.知识回顾 106.【C语言】数据结构之二叉树的三种递归遍历方式 2.题目 https://leetcode.…...

泰州榉之乡全托机构探讨:自闭症并非家庭的 “末日”
当提及自闭症时,很多人会担忧地问:自闭症对家庭来说是毁灭性的吗?今天,泰州榉之乡全托机构就来为大家解开这个疑问。 榉之乡大龄自闭症托养机构在江苏、广东、江西等地都有分校,一直致力于为大龄自闭症患者提供专业的支…...

BiGRU:双向门控循环单元在序列处理中的深度探索
一、引言 在当今的人工智能领域,序列数据的处理是一个极为重要的任务,涵盖了自然语言处理、语音识别、时间序列分析等多个关键领域。循环神经网络(RNN)及其衍生结构在处理序列数据方面发挥了重要作用。然而,传统的 RN…...

【vue-router】Vue-router如何实现路由懒加载
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

Linux网络编程基础
目录 一、网络发展历史和分层 1.1Internet的历史 1.2网络的体系结构 1.2.1OSI模型 1.2.2TCP/IP协议族 1.2.3各层典型协议 1.2.4网络的封包和拆包 二、网络编程的预备知识 2.1Socket 2.1.1概念 2.1.2类型 2.2IP地址 2.3端口号 2.4字节序 一、网络发展历史和分层 …...
MySQL中的幻读问题
1. 什么是幻读? 幻读是一种数据库事务中可能出现的并发问题,具体表现为:在同一个事务中,前后两次查询的结果集不同,仿佛“幻影”一般,出现了原本不存在的数据。 1.1 具体表现: 现象描述 事务 A…...
AI后端工程师面试题的内容
AI后端工程师面试题主要包括以下几个方面的内容: 一、技术基础和项目经验: 1. 微服务架构的理解和应用:请描述你对微服务架构的理解,并举例说明一个你参与过的微服务项目,阐述你在该项目中扮演的角色和所承…...

MFC工控项目实例三十五读取数据库数据
点击按钮打开文件夹中的数据文件生成曲线 相关代码 void CSEAL_PRESSUREDlg::OnTesReport() {CFileDialog dlgOpen(TRUE/*TRUE打开,FALSE保存*/,0,0,OFN_NOCHANGEDIR|OFN_FILEMUSTEXIST,"All Files(mdb.*)|*.*||",//文件过滤器NULL);CString mdb_1, m…...
OpenWrt -制作ubifs文件系统的固件
目的 创建一个ubifs为文件系统的镜像 将backup目录中的内容打包成ubifs文件系统。 ubifs的分区定义 ubi-backup.cfg 文件内容如下, [backup] modeubi imagenand-ipq6018-single.img vol_id0 vol_typedynamic vol_namebackup [bkver] modeubi imagebackup.ubifs v…...

C++ - 继承
继承的基本概念 继承就是一种代码的复用. 子类通过继承父类, 就能使用父类的变量, 方法. 学生和老师这两种身份, 他们都有共同的属性: 他们都有名称, 年龄, 性别 .... 当然他们也有各种独有的属性, 学生有学号, 老师有工号 .... 对于这些共有的属性, 我们可以将它们提取出来: …...

华为服务器使用U盘重装系统
一、准备工作 下载官方系统(注意服务器CPU的架构是x86-64还是aarch64,不然可能报意想不到的错)制作启动U盘(下载rufus制作工具,注意文件系统选FAT32还是NTFS) 二、安装步骤 将U盘插入USB接口重启服务器…...

网络分层模型( OSI、TCP/IP、五层协议)
1、网络分层模型 计算机网络是一个极其复杂的系统。想象一下最简单的情况:两台连接在网络上的计算机需要相互传输文件。不仅需要确保存在一条传输数据的通路,还需要完成以下几项工作: 发起通信的计算机必须激活数据通路,这包括发…...

前端开发 之 15个页面加载特效上【附完整源码】
文章目录 一:彩球环绕加载特效1.效果展示2.HTML完整代码 二:跷跷板加载特效1.效果展示2.HTML完整代码 三:两个圆形加载特效1.效果展示2.HTML完整代码 四:半环加载特效1.效果展示2.HTML完整代码 五:音乐波动加载特效1.效…...
Spring Boot使用JDK 21虚拟线程
JDK 21引入的虚拟线程(Virtual Threads)是 Project Loom 的一部分,旨在显著简化并发编程并提高 Java 应用的可扩展性。以下是虚拟线程的主要特点: 1. 概念 虚拟线程是轻量级线程,与传统的操作系统线程不同࿰…...

《从0到1常用Map集合核心摘要 + 不深不浅底层核心》
《从0到1常用Map集合核心摘要不深不浅底层核心》 前置知识 什么是键值对 键值对是一种数据结构,键是唯一标识,值是对应数据,用来快速查找信息。例: {"name": "Alice"},键是name,…...
12 设计模式之工厂方法模式
一、什么是工厂方法模式? 1.定义 在软件开发中,设计模式 是解决常见软件设计问题的最佳实践。而 工厂方法模式(Factory Method Pattern) 作为创建型设计模式之一,常常被用来解决对象创建问题。它通过将对象的创建交给…...
spaCy 入门与实战:强大的自然语言处理库
spaCy 入门与实战:强大的自然语言处理库 spaCy 是一个现代化、工业级的自然语言处理(NLP)库,以高效、易用和功能丰富著称。它被广泛应用于文本处理、信息提取和机器学习任务中。本文将介绍 spaCy 的核心功能,并通过一…...
python包的管理和安装——笔记
1.列出包 pip list pip freeze 用这2个可以查看当前python 下所有的包和版本,还有下载地址 如果只是想导出当前的环境 可以用 2.安装pipreqs pip install pipreqs,pipreqs ./可以导出当前项目的包这个包 遇到编码报错 pipreqs ./ --encodingutf8 p…...

Vue前端页面内嵌套本项目iframe窗口的通信传输方式
一、目的 想要在iframe中使用本项目页面、并能够与其父页面组件实现实时通信。Vue前端页面内嵌套本项目iframe窗口的通信传输方式-星林社区 https://www.jl1mall.com/forum/PostDetail?postId20241202172800023969 二、iframe通信方式 1.接收消息 页面需要监听 message 事件…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...