(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验二----网络分析(超超超详细!!!)

相信实验一大家已经完成了,对Arcgis已进一步熟悉了,现在开启第二个实验

ArcMap实验--网络分析

目录

ArcMap实验--网络分析

1.1 网络分析介绍

1.2 实验内容及目的

1.2.1 实验内容

1.2.2 实验目的

2.2 实验方案

2.3 实验流程

2.3.1 实验准备

2.3.2 空间校正

2.3.3 数据更新

(1)建筑物数据更新

(2)土地利用数据更新

(3)道路数据更新

2.3.4 构建拓扑

(1)统一坐标系:

(2)建立文件地理数据库:

(3)导入:

(4)创建拓扑关系:

(5)修正拓扑错误:

(6)修正悬挂点的拓扑错误:

(7)修改伪结点的拓扑错误:

2.3.5 构建网络数据集

(1)数据准备:

(2)创建时间字段:

(3)计算时间字段值:

(4)创建道路网络数据集:

2.3.6最短路径分析

2.3.7 专题图输出


1.1 网络分析介绍

        网络的例子在现实生活中应用比较广泛,例如道路网、电力网、地下管网、物流网等。网络分析是网络的连通性加成本(消耗)分析问题。例如,道路网连通性是指两个定位点(如城市)之间是否有道路直接或间接连通;而成本的概念比较广泛,是指网络上某路径上的开销,它可以是路径长度、车辆运行时间、过路过桥费等。


1.2 实验内容及目的


1.2.1 实验内容

        本实验结合GIS相关技术,在实验一的基础上,利用拓扑修正、建立网络数据集、构建最短路径等方法,叠加时间成本等因素,对所给数据进行处理,并根据需求进行最佳路径分析。

(1)将osm_buildings_new.shp、osm_landuse_new.shp、osm_roads_new.shp 的数据进行空间纠正,使其处于图中正确的位置。

(2)将osm_buildings_new,shp、osm_landuse_new.shp、osm_roads_new.shp 更新到 osm
buildings.shp、osm_landuse.shp、osm_roads. shp 数据中。

(3)对更新后的数据进行检查,并对检查出的错误进行统计,最后处理错误,创建以osm命名的数据库,并进行数据入库。

(4)假设行驶的速度为3m/s,以osm_roads.shp为基础数据,建立包含距离成本和时间成本的网络数据集。
(5)计算从“objectid=9150”的建筑物到“objectid=16015”的建筑物的最短路径。


1.2.2 实验目的


(1)掌握空间校正方法和数据更新方法。
(2)掌握数据库和要素类的建立方式。

(3)掌握创建网络数据集的方法。
(4)掌握在网络数据集中构建最短路径的方法。

2.2 实验方案

        首先修正错误地块位置,将修正后的数据更新到原数据中,对更新后的数据进行拓扑检查.修正拓扑错误,然后对数据进行人库并构建网络数据集,求出距离成本及时间成本,从而求出指定坐标的最短路径,操作流程如下图所示:



(1)对土地利用、建筑物、道路数据进行空间校正:利用现有图层对新建的住宅小区等数据进行空间校正。

(2)更新到原数据:通过联合工具将新建的住宅小区等数据更新到原有数据中。

(3)数据拓扑检查与修复:根据实验要求选择拓扑规则,对道路数据进行拓扑构建并进行验证,对存在的错误进行修正。

(4)数据人库:建立osm数据库,将修改后的数据导人数据库中
(5)最短路径分析:建立新建住宅小区的道路网络数据集,设置距离与时间成本,求从“objectid=9150”的建筑物到“obiectid=16015”的建筑物的最短路径。

2.3 实验流程

2.3.1 实验准备


(1)链接文件夹,在ArcMap中打开目录,右键点击【文件夹连接】,点击【连接到文件夹】,将Data-2的数据加载到ArcMap目录中:

        将Data-2文件夹中的6个文件显示在页面中:

        新建实验2/Result文件夹,并在ArcMap中连接

(2)环境设置,在ArcMap主菜单中点击【地理处理】--【环境设置】

        将当前工作空间和临时工作空间分别设置为Data文件夹和Result文件夹

2.3.2 空间校正

        对“osm_landuse_new”数据进行空间校正

点击【开始编辑】,出现编辑工具条,设置数据为【osm_landuse_new】--【继续】

        选择【自定义】--【工具条】--【空间校正】

        出现空间校正工具条,点击【设置校正数据】--【以下图层中的所有要素】,勾选【osm_buidings_new】、【osm_roads_new】、【osm_landuse_new】,点击【确定】

        点击新建位移链接工具

        这个链接因为没有给具体坐标,只能凭感觉连,误差还是蛮大的。我这儿勾画出了几个道路连接线,还是比较明显的,大家也连这几个特征点,或者多边形的尖角也行(实验指导书上是这样的,但我感觉这样难度会很大,误差也很大)

        按上面所述,构建链接如下:

        点击校正,成功校正:

        点击【编辑条】--【停止编辑】,并保存校正后的数据

2.3.3 数据更新

(1)建筑物数据更新

        在ArcToolbox中点击【分析工具】-【叠加分析】-【联合】

        框中选中“osm_buildings”和“osm_buildings_new”两个图层,对建筑物数据进行更并命名为“osm_buildings_Union.shp”,点击确定。

(2)土地利用数据更新

        将“osm_landuse_new”更新到“osm_landuse”中,在ArcToolbox中点击【分析工具】-【叠加分析】-【联合】,在输入框中选中“osm_landuse”和“osm_landuse_new”两个图层,对土地利用数据进行更新并命名为“osm_landuse_Union.shp”。

(3)道路数据更新

        将“osm_roads_new”更新到“osm_roads”中,在ArcToolbox中点击【分析工具】--【叠加分析】--【交集取反】

        在“输人要素”中输人“osm_roads”,在“更新要素”中输入“osm_roads_new”,对道路数据进行更新,得到“osm_roads_SymDiff”。

        数据更新后结果如下图所示:

2.3.4 构建拓扑


(1)统一坐标系:

        在ArcToolbox中点击【数据管理工具】--【投影与变换】--【要素】-【投影】

        输人土地利用联合数据,输人坐标系为“Xinn_1980_3_Degree_GK_Zone_39”,确定输出路径及名称,点击【确定】完成坐标系的统一。

(2)建立文件地理数据库:

        在ArcMap目录中右键点击Result文件夹,点击【新建】--【文件地理数据库】,命名为“osm”。

        在osm数据库下新建要素数据集,命名为“dataset”

        选择地理坐标系与 osm_buildings 图层一致的坐标系“Xian_1980_3_Degree_GK_Zone_39”,容差设为默认,点击【下一步】直到【确定】。


(3)导入:

        右键点击【dataset】要素集,点击【导入】-【批量导人】

        在输入框中选择“osm_roadsSymDif{”“osm_landuse_Union_Project”和“osm_buildings_Union”,点击【确定】。

(4)创建拓扑关系:

        右键点击【dataset】数据集,点击【新建拓扑】

        选择参与到拓扑中的数据“osm_roads_SymDiff”,根据实验要求设置拓扑规则,即不能有悬挂点不能有伪结点。

(5)修正拓扑错误:

        验证拓扑,打开编辑器,在拓扑工具条下的错误检查器園下查看错误所有错误如下图所示。

        这里你可能会出现一个错误(能直接得到上幅图当我下面是废话,直接跳到第6步),选择拓扑应该选择【地理数据库拓扑】,但点击不了,如果您点击的地图拓扑中的图层,就会发现【拓扑工具条】中的【错误检查器】是灰色的,无法点击。

        这是为什么呢?其实原因很简单,因为您构建的拓扑关系是在空间数据库中,而不是外部的图层,所以拓扑没选上,也就没有错误检查器这一说法(毕竟你都没连接到拓扑文件上)

        我的解决方法是,新开一个ArcMap文件,你就会发现,没有问题了,地理数据库拓扑是能选择的,错误选择器也就能点击了。

修改错误:

不能有伪节点: 伪节点是指两条线段相连,但是连接处2个端点之间存在一定距离,没有连接上。这个功能检查出一条线由若干线段组成,各线段间存在不连通的情况。比如一条电线由若干段组成,在路径分析时,各个电线之间不能不连通。

不能有悬挂点(dangles):线的端点不和其他相连。该端点叫悬挂点。比如在道路网中,除了死胡同,不允许某条道路的端点为悬挂点。

(6)修正悬挂点的拓扑错误:

        点击【osm_roads_SymDiff-不能有悬挂点】→【立即搜索】,右键点击错误处,点击【缩放至图层】,观察该处错误是否异常。若异常则标记为异常,右健点击错误处·点击【延伸】或【捕提】,该处拓扑错误被纠正,修改完所有错误后点击【编辑】-【保存编辑内容】

        像这种,我认为是道路到了死胡同,无路可走,所以选择右键添加为异常(延伸和裁剪都不合理)

        像这种边缘的点,我的理解是直接当作异常处理,右键点击添加至异常即可

(7)修改伪结点的拓扑错误:

        点击【osm_roads_SymDiff-不能有伪结点】-【搜索全部】,右键点击错误处,点击【缩放至图层】,观察该处错误是否异常。若异常则标记为异常右键点击错误处,点击【合并】或者【合并到最长要素】,该处拓扑错误被纠正,修改完所有错误后点击【编辑】【停止编辑】-【保存编辑内容】。至此,所有拓扑错误修改完毕。

2.3.5 构建网络数据集


(1)数据准备:

        在ArcMap空白处点击鼠标右键,选择【高级编辑】工具条,启动编辑器,中所有道路数据,用高级编辑工具下的打断相交线出拆分线要素。

        可能有的选手会出现打断相交线为灰色,不可选。这是为啥呢?首先,确认您选择的是线要素,毕竟点要素和面要素没有打断相交线这一说法,即确认左侧内容列表线要素数据为选中状态(一般单击显示蓝色);然后显示层中鼠标左键选中整个图形,打开高级编辑器,点击打断相交线(最好别关闭拓扑)

        默认误差为0.001m,点击确认,开始打断相交线。

        得到拆分后的图形:


(2)创建时间字段:

        打开osm_roads_SymDiff图层的属性表

        点击左上角的【表选项】【添加字段】,将“类型”设置为“双精度”,点击确定。

(3)计算时间字段值:

        选中时间字段,右键点击【字段计算器】

        根据提供的速度3m/s.在输人框中输人“[Shape_Length]/3”(图2.23),点击【确定】,完成时间字段的计算,结果如图2.24所示。

(4)创建道路网络数据集:

        找到原data数据库,右键点击新建网络数据集。

        点击"Enter",选择“默认选项: 是”来使用默认的转弯模型,点击"Enter"。

        点击【添加】,添加时间属性,单位为秒,数据类型为双精度,点击确定。

        当询问是否为此网络数据集建立行驶方向设置时,选择“否”。点击“Enter”。

        勾选【构建服务区索引】

        确认构建的网络数据集要素是否齐全,不齐全则退出重新构建,齐全直接“Enter"

        点击Enter,并显示到图层中:

2.3.6最短路径分析


        (1)点击【自定义】--【工具条】--【网络分析】打开网络分析工具条,点击【新建】。(注意是Network Analist,而不是几何网络分析工具)

        点击属性表左上角,点击【查找与替换】

        分别输入“objectid=9150”和“objectid=16015”,点击左侧小三角,ctrl+点击另一个点,选中两个建筑物,关闭属性表,两点在图层中高亮表示。

(2)点击网络分析工具条上的【创建网络工具】,在两个建筑物旁的道路上分别点击,然后点击工具条上的【求解】从而对两个建筑物之间的路径进行最短路径求解,其结果如下图所示。

        点击【创建网络位置】

        可能有些人这个按钮是灰色的,无法点击,这是因为没有添加拓展,点击【自定义】--【添加拓展】

       勾选网络分析,这时,你就会发现【创建网络位置】变成可点击了。然后将标记的两个点旁边道路点击一下,以创建路径起点和终点,点击【计算】

        完成最短路径规划,但我这里还要点问题,我这图很明显不是最短路径,绕了一圈,我分析原因是修改拓扑错误时偷了懒,很多地方没看就直接设置为异常,导致中间那儿还存在伪节点或悬挂点,导致道路不通。因为懒得再弄一遍,就这样了,大家将就着看。

2.3.7 专题图输出

        点击【视图(V)】--【布局视图(L)】。这将切换到布局视图,以便你可以设置页面大小和添加地图元素。

        点击菜单栏中的【文件】-【页面和打印设置】,设置合适的宽度和高度,点击确定。

        点击菜单栏【插入】--【文本】

        输入合适的标题并移动到合适的位置

        输入时间文本

        还可以加图例、指北针等其他东西

        点击菜单栏,【新建】--【导出地图】,导出为自己想要的格式。

由于我也是刚接触Arcgis,写博客的本意是记录自己学习过程,并在日后忘记了某些步骤能回来找,而不是上网搜别人的。所以博客质量可能不咋地,大家有啥问题可以评论区讨论,勿喷!!!

到这里,您已经完成实验二,博主将继续更新,期待您的三连!!!!!!!!!!!!!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/933978.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Spring项目】表白墙,留言板项目的实现

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:项目实现准备 1:需求 2:准备工作 (1)…

如何在 Ubuntu 上安装开源监控工具 Uptime Kuma

简介 Uptime Kuma(或简称 Kuma)是一个开源监控工具,用于监控 HTTP、HTTPS、DNS 等协议的服务。Uptime Kuma 提供多种功能,如多语言支持、多个状态页面、代理支持等。 接下来,我将一步一步教大家如何进行安装和部署&am…

Idea实现定时任务

定时任务 什么是定时任务? 可以自动在项目中根据设定的时长定期执行对应的操作 实现方式 Spring 3.0 版本之后自带定时任务,提供了EnableScheduling注解和Scheduled注解来实现定时任务功能。 使用SpringBoot创建定时任务非常简单,目前主要…

Spark实训

实训目的: 介绍本实训的基本内容,描述知识目标、,以及本实训的预期效果等。 1、知识目标 (1)了解spark概念、基础知识、spark处理的全周期,了解spark技术是新时代对人才的新要求。 (2)掌握Linux、hadoop、spark、hive集群环境的搭建、HDFS分布文件系统的基础知识与应用…

LoViT: 用于手术阶段识别的长视频Transformer|文献速递-生成式模型与transformer在医学影像中的应用

Title 题目 LoViT: Long Video Transformer for surgical phase recognition LoViT: 用于手术阶段识别的长视频Transformer 01 文献速递介绍 快速发展的手术数据科学(SDS)领域旨在通过先进利用手术室(OR)内医疗设备采集的数据…

Microi 吾码:后端开发的创新引擎与代码艺术

目录 一、引言 二、Microi 吾码后端架构概述 三、Microi 吾码在数据处理与优化方面的应用 四、Microi 吾码与外部服务的集成 五、Microi 吾码在安全性方面的考量与实现 六、Microi 吾码的性能监控与调优 七、总结 一、引言 在当今数字化浪潮汹涌澎湃的时代,软…

Day2——需求分析与设计

教师端签到应用软件的需求分析; 产品经理如何写好产品需求文档(附模板) 需求分析是软件开发过程中的关键步骤,它确保了开发的软件能够满足用户的需求。以下是进行需求分析的具体步骤: 1. 确定分析目标 明确教师端签到…

TypeScript进阶

Typescript进阶 基础知识 JavaScript 的核心特点就是灵活,但随着项目规模的增大,灵活反而增加开发者的心智负担。例如在代码中一个变量可以被赋予字符串、布尔、数字、甚至是函数,这样就充满了不确定性。而且这些不确定性可能需要在代码运行…

Unity性能优化---动态网格组合(二)

在上一篇中,组合的是同一个材质球的网格,如果其中有不一样的材质球会发生什么?如下图: 将场景中的一个物体替换为不同的材质球 运行之后,就变成了相同的材质。 要实现组合不同材质的网格步骤如下: 在父物体…

【C++】求第二大的数详细解析

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述💯输入描述💯解题思路分析1. 题目核心要求2. 代码实现与解析3. 核心逻辑逐步解析定义并初始化变量遍历并处理输入数据更新最大值与次大值输…

修改git_bash命令行默认显示

1 背景 Git Bash默认显示用户名、主机、全路径,对于截图而言,会泄露一些隐私。 想办法去掉这些信息。 2 代码内容 # Shows Git branch name in prompt. parse_git_branch() {git branch 2> /dev/null | sed -e /^[^*]/d -e s/* \(.*\)/ (\1)/ } # …

Windwos Hyper-v 虚拟机SSH连接失败的问题

Windwos Hyper-v 虚拟机SSH连接失败的问题 一、问题现象: hyper-v里的虚拟机和宿主机都能正常访问外网,虚拟机也做了静态IP设置,但是宿主机就是无法通过SSH连接到虚拟机。 二、解决办法: 1、打开windows的高级网络设置&#x…

android studio创建虚拟机注意事项

emulator 启动模拟器的时候,可以用 AVD 界面,也可以用命令行启动,但命令行启 动的时候要注意,系统有两个 emulator.exe ,建议使用 emulator 目录下的那个!! 创建类型为google APIs的虚拟机可从…

Spring Boot中实现JPA多数据源配置指南

本文还有配套的精品资源,点击获取 简介:本文详细介绍了在Spring Boot项目中配置和使用JPA进行多数据源管理的步骤。从引入依赖开始,到配置数据源、创建DataSource bean、定义实体和Repository,最后到配置事务管理器和使用多数据…

CSS学习记录04

CSS边框 CSS border 属性指定元素边框的样式、宽度和颜色。border-style 属性指定要显示的边框类型。dotted - 定义点线边框dashed - 定义虚线边框solid - 定义实线边框double - 定义双边框groove - 定义3D坡口边框,效果取决于border-color值ridge - 定义3D脊线边框…

【ArcGISPro】训练自己的深度学习模型并使用

本教程主要训练的是识别汽车的对象检测模型 所使用的工具如下(导出训练数据进行深度学习、训练深度学习模型、使用深度学习检测对象) 1.准备训练数据 1.1新建面矢量,构建检测对象 右键地理数据库->新建->要素类 选择面类型 1.2点击编辑窗口进行勾画汽车检测对象…

芝法酱学习笔记(1.3)——SpringBoot+mybatis plus+atomikos实现多数据源事务

一、前言 1.1 业务需求 之前我们在讲解注册和登录的时候,有一个重要的技术点忽略了过去。那就是多数据源的事务问题。 按照我们的业务需求,monitor服务可能涉及同时对监控中心数据库和企业中心数据库进行操作,而我们希望这样的操作在一个事…

Centos服务器如何访问windows的共享目录

CentOS服务器访问Windows的共享目录通常需要使用SMB/CIFS(Server Message Block/Common Internet File System)协议。以下是详细的步骤: 1、Windows端设置共享文件夹 1)右键要共享的文件夹,点击属性-->在“共享”选…

JVM, JRE 和 JDK

JRE: Java Runtime Environment, Java 运行环境. JDK: Java Development Kit, Java 开发工具包. JRE JVM 核心类库 运行工具 JDK JVM 核心类库 开发工具 JVM: Java Virtual Machine, Java 虚拟机. 核心类库: Java 已经写好的东西, 直接拿来用即可. 开发工具: 包括 …

图数据库 | 13、图数据库架构设计——高性能计算架构再续

书接上文 图数据库 | 12、图数据库架构设计——高性能计算架构​​​​​​。昨天老夫就图数据库架构设计中的 实时图计算系统架构、图数据库模式与数据模型、核心引擎如何处理不同的数据类型、图计算引擎中的数据结构 这四块内容进行了展开讲解,今儿继续往下、往深…