ArcGIS教程(05):计算服务区和创建 OD 成本矩阵

准备视图

启动【ArcMap】->双击打开【Exercise05.mxd】->启用【Network Analyst 扩展模块】。前面的文章已经讲过,这里不再赘述。

创建服务区分析图层

1、在 Network Analyst 工具栏上单击 【Network Analyst】,然后单击【新建服务区】

在这里插入图片描述

服务区分析图层即被添加到 Network Analyst 窗口中。网络分析类(设施点、面、线、点障碍、线障碍和面障碍)为空。

在这里插入图片描述

分析图层也将被添加到内容列表窗口中。

在这里插入图片描述

添加设施点

1、按住 【CTRL 】键的同时,从内容列表窗口中将 【Warehouses】 要素图层拖放到 Network Analyst 窗口的【设施点】类中。六个仓库作为设施点加载并显示在地图中。

在这里插入图片描述
添加设施点成功

在这里插入图片描述

设置分析参数

接下来,您将指定基于行驶时间(以分钟为单位)的服务区计算方式。将对每个设施点的三个服务区面进行计算,一个是 3 分钟,一个是 5 分钟,另一个是 10 分钟。将指定行驶方向为驶离设施点,而不是驶向设施点,不允许 U 形转弯,且必须遵守单向道限制

1、单击【分析图层属性】

在这里插入图片描述

2、单击【分析设置】选项卡。

3、确保将阻抗设置为【行驶时间(分钟)】

4、在默认中断文本框中输入 【3 5 10】

5、在【方向】下,单击【离开设施点】

6、从【交汇点的 U 形转弯】下拉列表中选择【不允许】

7、选中【忽略无效的位置】。

8、在限制列表中选中 【DrivingAVehicle 】和 【Oneway】

在这里插入图片描述

9、单击【面生成】选项卡

10、确保选中【生成面】

11、对于面类型单击【概化】。详细的面更准确,但生成这样的面需要更长的时间。

12、取消选中【修剪面选项】。这是一个修剪外部面的后处理过程,用于移除凸出部分,但是运行时间 较长。

13、单击【叠置】查看多个【设施点】选项。为每个设施点均生成单独的面。一个设施点的面可能会与附 近的另一个设施点的面相互重叠。

14、单击【环】显示【叠置类型】。将从较大中断值的面中排除较小中断值的区域。

15、单击【应用】保存设置

在这里插入图片描述

16、单击【线生成】选项卡。

17、取消选中【生成线】。

在这里插入图片描述

18、单击【确定】。

运行计算服务区过程

1、单击【求解】按钮

在这里插入图片描述
注意,这些面是透明的,便于您查看其下面的街道。不过,您要更改为:随着中断值的增大、服务区面由亮变暗,而不是由暗变亮。

在这里插入图片描述

2、在内容列表窗口中,右键单击【面】子图层,然后选择【属性】

在这里插入图片描述
3、选择【符号系统】,单击【符号】,选择【翻转符号】

在这里插入图片描述
4、单击【确定】

外部和内部服务区发生中断,将有颜色的切换,从而使得 10 分钟中断所覆盖的区域更加清晰。

  • 最浅色的是3分钟从仓库可以到达的商店
  • 最深色的是10分钟从仓库可以到达的商店
  • 中间色的是5分钟从仓库可以到达的商店

在这里插入图片描述

识别位于所有服务区外部的商店

1、在内容列表窗口中,单击 【Stores】 并将其拖动至图层列表中,最顶部,以改善可见性。

在这里插入图片描述

2、单击【选择】->【按位置选择】

在这里插入图片描述

3、在按位置选择对话框中创建选择查询,以便从完全位于面中的商店中选择要素,如下图所示。

在这里插入图片描述

4、单击【确定】。面内的商店已被选中;不过,您还要选取服务区面外的商店。黄色框内的是服务区外的商店。

在这里插入图片描述

5、在内容列表窗口中右键单击 【Stores】,然后单击【选择 > 切换选择】

在这里插入图片描述

可以看到,刚刚未选中的商店,现已选中。此时,此选择将显示不处于任何服务区面内的商店的分布情况。使用此选择识别仓库新位置所在的区域。最佳区域似乎位于地图的中央。

在这里插入图片描述

6、单击基础工具工具条上的【清除所选要素】按钮

在这里插入图片描述

重新定位最不易到达的仓库位置

查看仓库 #2 的服务区面。在仓库 #2 的周围,3、5 或 10 分钟可达的服务区内没有任何商店;因此,要重新定位此仓库的位置,以更好地为商店提供服务。

1、在 Network Analyst 窗口中,选择【设施点 (6) 】下的仓库 【#2】

在这里插入图片描述
2、单击 Network Analyst 工具栏上的【选择/移动网络位置】工具在这里插入图片描述

3、在地图视图中,将【“仓库 #2”】拖至地图的中央,如下图所示。

在这里插入图片描述

运行计算服务区的过程

1、单击 Network Analyst 工具栏上的【求解按钮】 求解。在这里插入图片描述

服务区面即会出现在地图和 Network Analyst 窗口中。

在这里插入图片描述

识别每个商店所在的服务区面

1、在内容列表窗口中右键单击 【Stores】,然后单击【连接和关联 】 -> 【 连接】

在这里插入图片描述

将打开【连接数据】对话框。

2、 选择【基于空间位置的另一个图层的连接数据】

在这里插入图片描述

3、将【面】选作与此图层连接的图层。

在这里插入图片描述

4、单击【落入其中的面】按钮。

在这里插入图片描述

会将此面的属性添加至落入此面的所有点。

5、指定一个输出 shapefile 或要素类以保存数据连接结果,并将其命名为 【StoresWithPoly】

在这里插入图片描述

6、单击【确定】。ArcGIS 将执行此连接,并将新图层添加至地图文档中。

7、在内容列表窗口中,右键单击新的 【StoresWithPoly 】要素图层,然后选择打开【属性表】
表中的每行都显示商店名称和商店所落入面的名称。可以使用此表生成其他有用的目录,例如在 0 至 3 分钟服务区内的商店数量。

8、关闭属性表

9、在 Network Analyst 窗口中,右键单击【设施点 (6)】,然后选择【导出数据】
将打开导出数据对话框。

在这里插入图片描述

10、在导出下拉列表中,选择【所有要素】

11、选择输出位置和类型(shapefile或要素类)

Tutorial\Paris.gdb\New_Warehouses

在这里插入图片描述
12、单击【确定】。随即显示提示消息,询问您是否要将导出数据添加到地图中。

13、单击【否】。本练习的其余部分不需要使用此数据。

在这里插入图片描述

创建 OD 成本矩阵分析图层

也可以创建“起始 - 目的地”成本矩阵,以便将货物从新仓库交付给每个商店。此矩阵的结果可用于识别 10 分钟车程内的每个仓库所要服务的商店。而且,您可以查找从每个仓库到所要服务的商店的总行驶时间。

1、在内容列表窗口中,取消选中【服务区】分析图层和 【StoresWithPoly】 要素图层,以改进地图的可读性。

2、在 Network Analyst 工具栏上,单击 Network Analyst,然后单击【新建 OD 成本矩阵】

在这里插入图片描述

OD 成本矩阵分析图层即被添加到 Network Analyst 窗口中。网络分析类(起始点、目的地、线、点障碍、线障碍和面障碍)为空。

在这里插入图片描述
分析图层也将被添加到内容列表窗口中。

在这里插入图片描述

添加起始点

可以将服务区分析(如前面几节中所述)的设施点作为起始点。如果尚未完成服务区相关的练习,可以使用“仓库”要素图层作为起始点。

1、在 Network Analyst 窗口中,右键单击【起始点 (0)】,然后选择【加载位置】

在这里插入图片描述

将打开加载位置对话框。

2、单击加载自下拉列表中的【服务区/设施点】。如果尚未完成先前的服务区分析相关练习,可以选择仓库。)

3、取消选中【仅加载选定行】

4、在位置定位下,单击【使用网络位置字段】。(如果正在加载“仓库”,请单击使用几何。)

在这里插入图片描述

5、单击【确定】

地图上将显示六个新的起始点,起始点下方的 Network Analyst 窗口中也将列出这些点。

在这里插入图片描述

在这里插入图片描述

添加目的地

1、在 Network Analyst 窗口中,右键单击 【目的地 (0)】,然后选择【加载位置】

在这里插入图片描述

2、在加载自下拉列表中选择【商店】

3、在位置分析属性下,从字段下拉列表选择 【NOM】 作为属性名称。

在这里插入图片描述

4、单击【确定】

此时 Network Analyst 窗口中将列出 21 个目的地。

在这里插入图片描述

这些目的地将显示在地图

在这里插入图片描述

设置分析参数

接下来,将指定基于行驶时间计算 OD 成本矩阵。要设置一个长度为 10 分钟的默认中断值,并确保在指定中断中找到所有目的地。此外,还要指定所有位置都允许 U 形转弯,输出 Shape 类型应为直线。由于所有行程均发生在道路上,因此必须遵守单行线限制。所有无效的位置(未找到的位置)都将被忽略。

1、单击 Network Analyst 窗口中的【分析图层属性】按钮。

在这里插入图片描述

2、单击【分析设置】选项卡。

3、确保将阻抗下拉列表设置为【行驶时间(分钟)】

4、取消选中【使用开始时间】

5、在默认中断值文本框中输入 【10】。将创建所有仓库与距其小于等于 10 分钟车程的所有商店之间的“起始 - 目的地”路径。由于阻抗属性的单位是分钟,因此将以分钟为单位。

6、确保将要查找的目的地设置为 【<全部>】

7、单击交汇点的 U 形转弯下拉箭头,然后选择【允许】

8、确保将输出 Shape 类型设置为【直线】

9、确保选中【忽略无效的位置】

10、在限制列表中选中 【DrivingAVehicle】【Oneway】

在这里插入图片描述

11、单击【确定】

运行创建 OD 成本矩阵过程

1、单击 Network Analyst 工具栏上的【求解按钮】 求解。在这里插入图片描述

在这里插入图片描述

2、如果未显示“服务区”图层,则打开该图层,以便在仓库服务区的顶部显示“OD 成本矩阵”图层。

在这里插入图片描述

将商店分配给仓库

基于 OD 成本矩阵,现在可以识别每个仓库可以服务的商店

1、在 Network Analyst 窗口中,右键单击 【线 (24)】,然后选择打开【属性表】

在这里插入图片描述

  • 线表表示每个仓库与商店之间的距离小于等于 10 分钟车程的“起始 - 目的地”成本矩阵。
  • OriginID 列中包含仓库的 ID
  • DestinationID 列中包含商店的 ID
  • DestinationRank 是分配给每个目的地的等级,仓库基于总行驶时间来为这些目的地提供服务。
  • 例如,在下表中,对于 仓库 #1,DestinationID 2 的等级为 1DestinationID 3 的等级为 2。这是因为从仓库 #1 到 DestinationID 2 花费的时间较少。(您的数字可能与此不同,因为您的分析结果取决于起始点和目的地的源要素类。)
    在这里插入图片描述

2、完结

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

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

相关文章

CAC2.0全生命周期防护,助力企业构建安全闭环

5月29日&#xff0c;CACTER邮件安全团队凭借多年的邮件安全防护经验&#xff0c;在“防御邮件威胁-企业如何筑起最后防线”直播分享会上展示了构建安全闭环的重要性&#xff0c;并深入介绍了全新CAC 2.0中的“威胁邮件提示”功能。 下滑查看更多直播精彩内容 构建安全闭环的必要…

Solidity学习-投票合约示例

以下的合约有一些复杂&#xff0c;但展示了很多Solidity的语言特性。它实现了一个投票合约。 当然&#xff0c;电子投票的主要问题是如何将投票权分配给正确的人员以及如何防止被操纵。 我们不会在这里解决所有的问题&#xff0c;但至少我们会展示如何进行委托投票&#xff0c;…

显示器与电脑如何分屏显示?

1.点击电脑屏幕右键--显示设置 2、然后找到屏幕---找到多显示器---选择扩展显示器

亚马逊云科技峰会盛大举行 | 光环新网携光环云数据以高性能智算服务助力企业创新发展

2024年5月29日&#xff0c;云计算行业的年度盛典”2024亚马逊云科技中国峰会”在上海世博中心再次盛大启幕。作为全球领先的云计算服务提供商&#xff0c;亚马逊云科技峰会聚焦前沿科技&#xff0c;与来自不同行业、不同科技领域的优秀企业和用户共同探索AI时代的云端创新发展。…

游戏逆向工具分析及解决方案

游戏逆向&#xff0c;是指通过各类工具对游戏进行反编译及源码分析&#xff0c;尝试分析游戏的实现逻辑的过程。这个过程需要使用解密、反编译、解压缩等技术&#xff0c;目的是还原或分析出游戏的代码逻辑及资源。 游戏逆向工具可以按照不同功能进行划分&#xff0c;如&#…

分布式任务队列系统 celery 原理及入门

基本 Celery 是一个简单、灵活且可靠的分布式任务队列系统&#xff0c;用于在后台执行异步任务处理大量消息。支持任务调度、任务分发和结果存储&#xff0c;并且可以与消息代理&#xff08;如 RabbitMQ、Redis 等&#xff09;一起工作&#xff0c;以实现任务的队列管理和执行…

对于vsc中的vue命令 vue.json

打开vsc 然后在左下角有一个设置 2.点击用户代码片段 3.输入 vue.json回车 将此代码粘贴 &#xff08;我的不一定都适合&#xff09; { "vue2 template": { "prefix": "v2", "body": [ "<template>", " <…

更新详情 | Flutter 3.22 与 Dart 3.4

作者 / Michael Thomsen 过去几个月&#xff0c;Dart & Flutter 部门可谓忙碌非凡&#xff0c;但我们很高兴地宣布&#xff0c;Flutter 3.22 和 Dart 3.4 已经在今年的 Google I/O 大会上精彩亮相&#xff01; Google I/Ohttps://io.google/2024/intl/zh/ 我们始终致力于提…

【调试笔记-20240530-Linux-在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站】

调试笔记-系列文章目录 调试笔记-20240530-Linux-在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站 文章目录 调试笔记-系列文章目录调试笔记-20240530-Linux-在 OpenWRT-23.05 上为 nginx 配置 HTTPS 网站 前言一、调试环境操作系统&#xff1a;OpenWrt 23.05.3调试环境调试目标…

CS61C | lecture2

# CS61C | lecture2 C 语言是一种编译语言。C 编译器将 C 程序映射到特定与体系结构的机器代码(实际上是一串 0 和 1)。 而 Java 会通过 JVM(Java 虚拟机) 将代码转换为独立于架构的字节码。 Python 则会直接解释代码。C 不会直接解释代码&#xff0c;而是将其编译成机器代码之…

计算机基础学习路线

计算机基础学习路线 整理自学计算机基础的过程&#xff0c;虽学习内容众多&#xff0c;然始终相信世上无难事&#xff0c;只怕有心人&#xff0c;期间也遇到许多志同道合的同学&#xff0c;现在也分享自己的学习过程来帮助有需要的。 一、数据结构与算法 视频方面我看的是青…

Bean作用域和生产周期已经Bean的线程安全问题

bean 的作用域 单例(Singletion) : Spring 容器中只有一个 bean &#xff0c;这个 bean 在整个应用程序内共享。 原话(Prototype) : 每次 getBean()&#xff0c; 都是不同的bean&#xff0c;都会创建一个实例。 请求(Request)&#xff1a;每个HTTP请求都会创建一个新的 Bean …

ARM虚拟机安装OMV

OMV(OpenMediaVault)是基于 Debian GNU/Linux 的网络连接存储&#xff08;network attached storage&#xff0c;NAS&#xff09;解决方案。它包含 SSH、(S) FTP、SMB/CIFS、DAAP 媒体服务器、rsync、 BitTorrent 等很多种服务。它可用于 x86-64 和 ARM 平台。 在x86-64平台上&…

推荐一款开源电子签章/电子合同系统

文章目录 前言一、项目介绍二、项目地址三、技术架构四、代码结构介绍五、功能模块六、功能界面首页面手写签名面板电子印章制作数字证书生成 总结 前言 大家好&#xff01;我是智航云科技&#xff0c;今天为大家分享一个免费开源的电子签字系统。 一、项目介绍 开放签电子签…

【Python】如何使用 Python 自动发送每日电子邮件报告

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

详解Spring IoCDI(二)

目录 承接上文&#xff1a;详解Spring IoC&DI &#xff08;一&#xff09; 1.IoC详解 1.1方法注解Bean 1.2方法注解要配合类注解使用 1.3定义多个对象 1.4重命名Bean 1.5扫描路径 2.DI详解 2.1DI与IoC的关系 2.2属性注入 2.3构造方法注入 2.4Setter注入 2.5 三…

【Endnote】如何在word界面加载Endnote

如何在word界面加载Endnote 方法1&#xff1a;方法2&#xff1a;从word入手方法3&#xff1a;从CWYW入手参考 已下载EndNote,但Word中没有显示EndNote&#xff0c;应如何加载显示呢&#xff1f; 方法1&#xff1a; 使用EndNote的Configure EndNote.exe 。 具体步骤为&#x…

内网安全:横向传递攻击(PTH || PTK || PTT 哈希票据传递)

内网安全&#xff1a;横向传递攻击. 横向移动就是在拿下对方一台主机后&#xff0c;以拿下的那台主机作为跳板&#xff0c;对内网的其他主机再进行后面渗透&#xff0c;利用既有的资源尝试获取更多的凭据、更高的权限&#xff0c;一步一步拿下更多的主机&#xff0c;进而达到控…

理解AdaBoost算法:简单流程概述(一)【流程理解、无数学推导】

什么是AdaBoost 算法&#xff1f; AdaBoost&#xff08;Adaptive Boosting&#xff09;算法&#xff0c;全称为 自适应提升 &#xff0c;是 一种在机器学习中用作集成方法的提升技术 。它之所以被称为自适应提升&#xff0c;因为每个实例的权重会重新分配&#xff0c;错误分类…

C语言 | Leetcode C语言题解之第123题买卖股票的最佳时机III

题目&#xff1a; 题解&#xff1a; #define max(a, b) ((a) < (b) ? (b) : (a))int maxProfit(int* prices, int pricesSize) {int buy1 -prices[0], sell1 0;int buy2 -prices[0], sell2 0;for (int i 1; i < pricesSize; i) {buy1 max(buy1, -prices[i]);sell…