ArcGIS 网络分析[1.4] 制作点线要素时需要注意的地方
有很多同学虽然成功做好了网络数据集,但是分析时会出现这样的问题:
这是为什么呢?
这有三个可能的原因:
1. 两个点之间所有的道路没有连通(问题出在点、线数据上)。
2. 网络数据集出现了孤立的点位置。
3. 网络数据集的连通性有问题。
我就从这三个方面说说,如何避免这些问题。因为标题起的是点线要素的制作情况,我就着重讲第一点了,后两个情况简单说说,在第四章网络数据集的连通性会详细说。
1. 问题出在点线数据上
还分两个简单的情况:
一个是点不在线上;
另一个比较复杂:线之间二维没有由折点连通。
这里的由,用专业的说法就是"via",或者"by"。
点不在线上很容易,初中数学都说过的,想必证明点在线上的问题已经让各位头疼了吧。
那么,什么是“线之间二维没有由折点连通”?
我们暂时假定道路数据是没有高程数据的,也就是说,所有的道路均在二维平面上。
伟大的数学家华罗庚说过,“数有形时可直观,形有数时能入微”。我们画图吧!
我们知道,ArcGIS里的线是Polyline,一个Polyline数据集有多条折线,一条折线由n个折点(也叫结点、节点、端点)和n-1条线段组成,例如下图:
这个三折线就包括了3条线段和4个折点。
那么熟悉了折点的概念,我们往下看看,什么是二维间没有折点连通?
我又画了一条三折线,用绿色的折点表示:
现在,我将绿色的三折线挪动,与红色的线相交,只会有这样的三种情况:
A、B、C三种情况有什么不同?
在ArcGIS中,如果不显示折点,是根本看不出是如何相交的。
A:线相交,但是存在上下的关系
B:线相交,虽然存在上下关系,但是有一条线的一个折点在另一条线的边上
C:线相交,虽然存在上下关系,但是一条线的一个点与另一条线的折点重合
现在我们再来看看“线之间二维没有经过折点连通”,就十分容易了:A、B两个情况均为此情况,只要是这样的情况
构建的网络数据集都不会在线的交点处连通。
——————————那么,说清楚了,如何画线是最科学的呢?——————————
- 十字路口、岔路口处设置折点。
- 立交桥处不设置折点(这样就不连通了)。
- 立交桥的匝道出入口设置折点。
如果涉及立交桥,那么就需要设置高程字段了,而且是涉及了三维线数据的端点连通问题,更为复杂。
在此我暂时不解释,有兴趣的同学可以参考官方的帮助文档,说的很详细。(其实就是画起来和解释起来比较麻烦,篇幅原因,怕读者拍砖看不懂、说我写的复杂,就不继续写了,从我的二维情况可以推广到三维的情况)
说实话,A和B完全就可以看作有一条线在另一条线的上空,你想想,两条路如果不相交,而是上下的关系,车子怎么切换道路呢?当然也就不连通咯。
但是,在二维世界里没有第三个维度,所以看起来“叠合”在一起了而已。
plus:还记得1.2用shp创建网络数据集中那张图吗:
为什么不按红线走呢?
因为紫色圈的地方根本没有“二维按折点连通”。可以看到,蓝色的点即为网络数据集的连通点,紫色圈的地方没有连通的折点,说明相交的两条线确实没有“二维按折点连通”。
见Route.shp编辑下的状态:
是没有绿色的折点的,难怪不能连通了。
在我的编辑下,Route.shp已经全部实现了每条线交叉的地方都有折点。见新的网络数据集的Junctions:
每个交叉点都是连通的,所以道路也就畅通无阻(当然这是假定交点都是十字路口,不是立交桥)
2. 网络数据集出现了孤零零的点(我好孤单!)
这个点类似于岛屿,其实就是上面提及的点不在线上,构建网络网络数据集的时候就成了孤立的点。
(这个问题一直困扰着我,最近才解决)
还是画图更直观吧!
红色的点假设是点要素类中的一个点要素,并不在任何一条线上,虽然可以创建网络数据集,但是在网络数据集中是孤零零的一个点:
然而,在网络数据集中孤立的点并不会显示,端点也不会显示,例如有这样的一幅网络数据集:
我们是看不到端点的,也看不到孤立的点。上上个图我只是把端点和孤立点“画”了出来。
所以如果存在这样的路网数据和点数据:
两个点是孤立点,一个点在线的折点上(而不是在线上) (为啥这样说,下一篇会写到如果有点数据,网络数据集又如何创建)
构建网络数据集时,点数据选择依边线连通:
完成时会提示:
这样就存在了孤立点。
虽然不影响,但是如果精确地添加了网络位置到这些独立的点上,自然就会出现文章开头的无法分析的情况。
网络位置是可以用这个工具添加的:
可以简单理解网络位置为最短路径中的起点终点,最近设施点等。
当使用构建网络数据集的点要素添加为网络位置点时,就说精确重合了,那当然是不连通的,没法分析咯。
3. 网络数据集的连通性问题
这个属于以后的内容,在这里就不细说了,等以后写完第四章的连通性问题,就会在这里跟进超链接。
ArcGIS 网络分析[1.5] 使用点线数据一起创建网络数据集(如何避免孤立点/点与线的连通性组合结果表)
ArcGIS中最基本的三种矢量数据是什么?点线面。
网络中除了路网之外,还会有地物点。
如上图,我们在建立网络数据集的时候,作为实验,当然可以只是公路网。但是在大型的决策任务中,网络数据集就不只是公路网那么简单了。
在城市与城市之间,有高速公路,国道,高铁,普铁,甚至还有水路。
如此复杂的网络模型是如何连通的呢?他们之间的交点又有什么样的连通方式呢?在这里,我仍然卖个关子,在以后的连通性一章,会详细说明。在文末,就会看到点作为网络数据集中十分强大而关键的一员出现,其意义是多连通组的时候,作为媒介,使得多组网络在其位置连通。
读者可以继续使用上几节提到的道路数据(修改后的),这节会新建一个点数据。
给个目录:
1. 点与线的拓扑关系
2. 用不同的点线连通方式创建网络数据集(读者可以一起操作,也可以直接看3的结论)
3. 单连通组中,点线连通策略不同而产生不同的结果
4. 什么样的点适合参与构建网络数据集
1. 点与线的拓扑关系
拓扑关系就是点与线的位置关系。
情况一:
情况二:
情况三:
情况一是点是孤立点,上一节有说,即不在线上。
情况二,点在线上,却不在线的折点上。
情况三,点在线上,也在线的折点上。
——————假设在这里都是二维的道路,即高程=0———————
上一篇提到,前两种情况会产生孤立的点。
2. 用不同的点线连通方式创建网络数据集
上两图为画点时开启捕捉的提示,我们分别在线外、线上、线折点上点一个点。
紫色为点,红绿色的是折线的折点。
创建网络数据集时,点的连通性就有了“依边线连通”、“交点处连通”两种选项:
2.1 交点处连通(边线是按任意节点)
依边线连通就是“按照边线连通的方式来连通”。
构建完成后如上图提示,提示第一个点和第三个点是孤立的点。符合上文提及的三个情况。
网络数据集是这样的:
交汇点在网络数据集中是默认不显示的。(对网络数据集的图层进行符号显示-交汇点打勾,就能看到了)
2.2 依边线连通(边线是按任意节点)
如果边线连通策略是“任意节点”,那么情况同2.1,如下图:
因为第二个点在边线的折点上。
如果边线连通连通策略是“端点”,那么:
这样三个点都是孤立的点了,因为第二个点虽然在折点上,但是依旧被识别为独立的点。
原因就是第二个点不在折线的端点上,而点的连通策略是根据边线的连通策略定的——“依边线连通”。
2.3 假如组合方式是点【依边线连通】,线【任意节点】呢?
稍加思考,有点烧脑。
结果当然是第2个点连通,1、3点因为边线的连通策略,不在折点上而成为了孤立点。
3. 所以点尽量还是画在边线的折点上(点在一个连通组中的不同情况)
如果不按标题行事
——画在了线外,那么肯定是孤立点
——画在了线上而不是折点上,那么非常大可能性还是孤立点
在网络数据集中,孤立点是很讨厌的一个东西,应该最大程度避免。
最后给出不同情况的点情况
A点在线外:必为孤立点,最好别参与网络数据集构建;
B点在线上:
——BA点不在线的折点上
此时无论连通性如何组合,点都为孤立点//解决方法:在点处编辑线,添加一个折点。
——BB点在线的折点上:
——BBA点在线的端点上:
组合方式:此时无论连通性如何组合,点不是孤立点。即该点处是连通的。
——BBB点在线的非端点折点上:
组合方式:线[端点]+点[任意],点必为孤立点
线[任意节点]+点[任意],点不是孤立点,点处连通。
看文字太烦?看下面的网络图:
在实际地理事物中,道路曲曲折折很正常,直到下一个道路时才算结束一条折线。那么这条道路上就会有n个折点,这些折点有可能是交通路口等。
或许有读者想问了,如果我需要分析并不在道路上而在道路旁的位置(如公园),到另一个地方,那岂不是在公园点这个地方是孤立点?
我的提议就是,这种作为分析的点,必须将其绘制在线的折点上。
否则,就不要让其参与构建网络数据集,仅让它作为网络位置点即可。
因为孤立的点是无法到其他的位置的,也就是所谓的分析失败(见上一篇开头的错误提示截图)
4. 那么什么样的点合适参与网络数据集的构建呢?
在第四章,有多个连通性组的时候,点作为每一个不同的路网系统的中转媒介,就有着十分重要的作用。
到第四章,我就会详细介绍多连通性组的连通问题。这一篇博客和上一篇博客仅仅是热身。
【举个例子】
地铁站出口,既连通地铁网,又连通公路网。
公路网就不能与地铁网放在一个组里头了,不然小车会在交叉的地方开到轨道上吗?明显不现实。
但是又必须在地铁口处连通,使得人们方便换乘,那么地铁口就作为他们的连通点,连接着两个路网。