最短路径求解

【如果看到此博客还没有网络数据集的,请参考第一章的内容,点击我,看目录】

最短路径,是什么最短?时间最短?距离最短?什么距离?路程距离?

考虑到拥堵问题,限速问题,换乘问题,在现实的最短路径远远比计算机中的最短路径要复杂,因为要考虑的因素太多了。

这些因素就叫作最短路径求解过程中的“阻抗”,和电阻阻碍电流类似。

最短路径是后面几个分析类型的基础,只有求得了最短路径,才知道能覆盖多大地方(服务区)、事故点与最近设施的路径怎么走(最近设施)等。

在上一章,就已经有了最简单的路径分析:单一的道路网,阻抗仅仅为公路网的长度。

在这里不讨论最短路径的内部算法,似乎有大佛说过,ESRI是用的Dijkstra算法的变种算法。

最短路径中有什么元素呢?换句话说,最短路径要什么东西才能分析?

途径点、障碍。

最短路径输出了什么?

当然就是最短路径的那条线啊!

输入元素 输出元素

途径点

障碍

最短路径

换成图的形式,就是这样子。

输入必选参数[途径点],可选参数:充当障碍的[点线面],基于连通策略和阻抗,就能计算出最短路径。

什么是障碍呢?例如,某条路正在封闭施工,那施工的那个地方就是障碍,这里是不能通行的,就代表最短路径是不会走过障碍的。

路径分析常用设置

在这里打开网络分析图层的属性窗口

找到分析设置选项卡,就会有如下图:

经常会使用到的设置是:阻抗、限制、方向、交汇点的U形转弯、这几个。

阻抗

很简单,分析的时候经过这条路的花费成本,可以这么简单的理解。可以是时间、平均消耗体力、道路长度等。

限制

限制主要有两种:转弯限制和单行线限制。

有的十字路口会有禁止转向左边或者右边,或者十字路口等红绿灯的时间比较长的情况,这个就是转弯限制。转弯限制怎么来的呢?

当网络数据集中加入了转弯要素类的时候,这个复选列表就可以选择了。有关如何制作转弯要素类,请跳到第四章。

单行线,有的道路只能一个方向走,不能来回走,这也是很常见的。

方向

这个是导航设置。主要设置导航的显示单位和导航的属性(长度或者时间成本)。

交汇点的U形转弯

交汇点,就是线与线相交并且连通的地方。什么是连通?就是这个点的所有道路都能畅通无阻通过这个点。

交汇点可以是线的折点,也可以是两条线的公共交点。

这个点能否U形转弯,换句话,这个交汇点是否能掉头,在这里就有4种选项:

[允许]:在任何交汇点处均允许调头。

[仅在交点和死角处允许]:当两条相邻边恰好相交于交汇点时,禁止掉头。

[仅在死角处允许]:除仅有一条相邻边的交汇点(死角)外,其他交汇点均禁止掉头。

[不允许]

什么地方都不允许掉头。

ps:这里仅仅对交汇点所言,要是在道路上,一般也可以掉头的,除非有中央路障。那这个怎么设置呢?只需设置以下属性:

如果设置了最后一个禁止U形转弯,那么在非交汇点也不能掉头了。

输出Shape类型

有的时候为了节约显示资源,提高显示速度,可以设置为点与点之间的直线:

不过一般最短路径都是看效果的,除非只看导航,否则这个设置一般都默认。

分析示例

如上图,阻抗用的是道路的长度,其余均为默认设置。

在以后,通过添加各种限制条件,如转弯、掉头策略,复杂的阻抗策略,连通性组策略,产生的结果就不同。

ArcGIS 网络分析[2.1] 最短路径的更多相关文章

  1. ArcGIS 网络分析[0] 介绍与博文目录【更新中】

    网络分析是个热点,理论上是属于计算机图形学和数据结构的,GIS以此为基础做出应用. 以下列举本人在学习中遇到的网络分析问题与经验总结. 1. 软件平台及数据准备 平台:Windows 10 操作系统, ...

  2. ArcGIS网络分析之Silverlight客户端最近设施点分析(四)

    原文:ArcGIS网络分析之Silverlight客户端最近设施点分析(四) 在上一篇中说了如何实现最近路径分析,本篇将讨论如何实现最近设施点分析. 最近设施点分析实际上和路径分析有些相识,实现的过程 ...

  3. ArcGIS网络分析之Silverlight客户端路径分析(三)

    原文:ArcGIS网络分析之Silverlight客户端路径分析(三) 首先贴上最终的效果图: a.路径查询 2.最近设施点查询 3.服务区分析 说明: 1.以上的示例使用的数据是随意在ArcMap中 ...

  4. ArcGIS 网络分析[1] 介绍与博文目录【更新中】

    网络分析是个热点,理论上是属于计算机图形学和数据结构的,GIS以此为基础做出应用. 以下列举本人在学习中遇到的网络分析问题与经验总结. 平台:Windows 10操作系统,ArcGIS for Des ...

  5. ArcGIS 网络分析[2] 在ArcMap中使用网络数据集进行五大网络分析[最短路径/服务区/最近设施点/OD成本矩阵/车辆分配]

    上一章花了大篇幅介绍网络数据集的创建,也简单说了下点线的连通性问题. 那么可以试试刀锋不锋利啦! 网络分析呢,ArcGIS提供了5个基本分析类型: 最短路径求解 服务区(服务覆盖范围) 事故突发地的最 ...

  6. ArcGIS 网络分析[2] 利用自定义基础数据创建网络数据集

    前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何"使用自己的数据"创建"网络数据集"的文章. 有介绍几何网络的,有介绍如何用官方SanFrancis ...

  7. ArcGIS 网络分析[1.2] 利用1.1的线shp创建网络数据集/并简单试验最佳路径

    上篇已经创建好了线数据(shp文件格式)链接:点我 这篇将基于此shp线数据创建网络数据集. 在此说明:shp数据的网络数据集仅支持单一线数据,也就是说基于shp文件的网络数据集,只能有一个shp线文 ...

  8. ArcGIS 网络分析[3] 发布NAServer到ArcGIS for Server(以Server 10.4为例)

    前阵子对ArcGIS API For JavaScript的网络分析有兴趣,但是不知道其数据是如何获取的. 查阅API知道,AJS的网络分析只有三个功能:最短路径(RouteTask).最近设施点(C ...

  9. ArcGIS 网络分析[2.5] VRP(车辆配送)

    什么是VRP? VRP就是车辆配送. 大家有没有想象过一个城市的某个快递营业点,是怎么让各个快递员配送快递的? 每个快递员针对那片区域的客户,如何走路线才最省时间? 也许你会说,最短路径分析可以做到— ...

随机推荐

  1. Python 运行效率为何低

    当我们提到一门编程语言的效率时:通常有两层意思,第一是开发效率,这是对程序员而言,完成编码所需要的时间:另一个是运行效率,这是对计算机而言,完成计算任务所需要的时间.编码效率和运行效率往往是鱼与熊掌的 ...

  2. Git命令行对照表

    git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 git config --glob ...

  3. MVC Code First(数据模型实例讲解)

    首先配置好web.config <connectionStrings> <add name="BookDbContext" connectionString=&q ...

  4. Java开发步骤

    3.编辑Java源程序 使用纯文本编辑器,比如记事本notpad.exe:EditPlus.UltraEdit等专业的纯文本编辑器. Word不是纯文本编辑器. 需求:写一个Java程序,在控制台打印 ...

  5. Linux服务器制定mysql数据库备份的计划任务

    首先,创建一个shell脚本: Shell #!/bin/bash mysql_pwd="1234567890" mysql_dump="/usr/local/mysql ...

  6. UWP 用Thumb 控件仿制一个可拖动悬浮 Button

    参考了 http://www.cnblogs.com/zhanggaoxing/p/6403430.html,并加以改进. 最终效果::: Thumb 的原生事件 DragStarted,DragDe ...

  7. Python操作 Memcache、Redis、RabbitMQ

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  8. 解决zabbix中文显示乱码问题

    中文显示问题,图表乱码 解决办法: [root@zabbix ~]# cd /usr/share/zabbix/include/ [root@zabbix include]# vim locales. ...

  9. python-02 数据类型、字符编码、文件处理

    标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) 数字 #整型 ...

  10. SQL Server Profiler追踪数据库死锁