什么是VRP?

VRP就是车辆配送。

大家有没有想象过一个城市的某个快递营业点,是怎么让各个快递员配送快递的?

每个快递员针对那片区域的客户,如何走路线才最省时间?

也许你会说,最短路径分析可以做到——那么,这可不能一个一个分开来分析呀?而且与最短路径有个最大的区别就是,VRP问题,车子出去走一圈最短的线路,还是要回来起点的。

VRP就是讲究一个“一次设置”,全部计算的效率,而且还支持一些最短路径分析中不支持的特性,如停靠时间等,这是这几个网络分析里比较复杂的一个了。

创建VRP图层所必须的——网络数据集的时间属性

VRP图层比较特殊,特殊在哪里呢?

以之前的网络数据集为例,新建一个VRP图层时提示:

需要时间单位存在于网络数据集中的成本属性?

其实,就是需要一个以时间为单位的属性,那么我们就设置一个时间属性:

因为没有其他复杂的限制,其实时间=长度/速度,如果速度恒定,时间和长度没什么两样,都是线性变换,所以可以直接设置为Length字段。

ps:假如道路对应时速不同,那么时间计算结果就不一样,那时候就不能这么设置了。

作为示范,希望大家能看懂。

这样,就能创建VRP图层了:

输入

VRP比较复杂,输入元素很多。为了演示最少需求元素,我画了一张图:

基于网络数据集,才能创建VRP图层,创建了VRP图层,又需要最少设置途径点、站点、路径及路径的两个必备属性才能进行分析。

什么意思呢?以快递配送举例:

  • 途经点:一个快递员一趟跑下来经过的快递地址;可以理解为:路过的地方。
  • 站点:快递配送中心;可以理解为:大本营。
  • 路径项目:可以认为一个路径项目就是一个快递员/一辆快递员的车。

为了统一,我就以路径项目为名称继续写完VRP问题。

————————

一个路径项目(快递员)总得知道从哪里出发,又回到哪里。一般起始点、终止点都会一样,当然也可以不一样。快递员可以配送完了回到配送点报道,也可以直接回家。

分析举例

手工添加途经点和站点

首先,人工打点的方式设置15个途经点,5个站点。

一般使用VRP的项目不会这样做,一般会用准备好的点要素数据(就是预先打好的点,点属性里有VRP所需的信息),直接用加载位置功能添加。

创建路径项目并设置属性

创建完后自动弹出路径属性,也可以在Network Analyst窗口双击路径项目。

设置好起始点和终止点,起始点和终止点的类型是站点(大本营)。在这里,均选为第30号点。

执行分析

分析结果如下:

当然,可以有多条路径,就意味着可以拥有n个快递员进行n条路线规划,这就是“车辆配送问题”了。不再赘述。

如果提示分析需要时间属性,则打开图层属性中的分析设置,将时间属性选择为网络数据集的时间属性:

结语

VRP的复杂程度远远超过此例,还可以为其设置路径项目的成本、最大经过途经点个数、配送时间范围等属性。

还可以为其添加障碍。

还可以为其添加货物补给点。

还可以为所有的元素添加他们可以设置的属性等,在此就请各位按需而设~

ArcGIS 网络分析[2.5] VRP(车辆配送)的更多相关文章

  1. ArcGIS 网络分析[2.5] VRP(车辆配送)【较难】

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. ArcGIS 网络分析[8] ArcObjects二次开发之底层网络分析开发

    基于现有的线要素类.转弯要素类(在地理数据库的要素数据集中),要用AO做两件事: 1. 创建网络数据集(使用Geodatabase类库) 2. 执行网络分析(使用NetworkAnalyst类库) 在 ...

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

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

随机推荐

  1. MYSQL PGA SGA设置

    mysql使用总内存 = global_buffers + thread_buffers All thread buffer(会话/线程级内存分配总和) = max_threads(当前活跃连接数)  ...

  2. 跟着刚哥梳理java知识点——IO(十五)

    凡是与输入.输出相关的类.接口都定义在java.io包下 java.io.File类 1.File是一个类,可以有构造器创建其对象.此对象对应着一个文件或者一个目录. 2.File中的类,仅涉及到如何 ...

  3. iOS实现高斯模糊效果(Swift版本)

    给UIimage添加分类 extension UIImage { /// 高斯模糊 func gaussianBlur(var blurAmount:CGFloat) -> UIImage { ...

  4. Omi全新版本来袭 - 指令系统

    写在前面 Omi框架到目前为止有三种版本. omi.js 使用 sodajs 为内置指令系统 omi.lite.js 不包含任何模板引擎 omi.mustache.js 使用 mustache.js为 ...

  5. 傻瓜式使用AutoFac

    定义一个接口: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespa ...

  6. wpf之StackPanel、WrapPanel、WrapPanel之间的关系

    一.StackPanel StackPanel是以堆叠的方式显示其中的控件 1.可以使用Orientation属性更改堆叠的顺序分为水平方向(Orientation="Horizontal& ...

  7. java运算符 与(&)、非(~)、或(|)、异或(^)

    最近看HashMap源码,遇到了这样一段代码: static final int hash(Object key) { int h; return (key == null) ? 0 : (h = k ...

  8. 对象Equals相等性比较的通用实现

    最近编码的过程中,使用了对象本地内存缓存,缓存用了Dictionary<string,object>, ConcurrentDictionary<string,oject>,还 ...

  9. JavaScript中的数据结构及实战系列(2):栈

    开题: 不冒任何险,什么都不做,什么也不会有,什么也不是. 本文目录 栈介绍: JavaScript实现栈: 栈的应用: 栈介绍: 和队列一样,栈也是一种表结构,但是和队列的"先进先出&qu ...

  10. xmlplus 组件设计系列之四 - 列表

    列表组件是极其常用的一类组件,是许多视图组件系统的必须包含的.列表可以做的很简单,只显示简洁的内容.列表也可以做的很复杂,用于展示非常丰富的内容. 组成元素 列表离不开列表项以及包含列表项的容器.下面 ...