文章目录


在进行网络分析时,经常会遇到AB两点之间找不到路径、停靠点无效、分析结果不对。本文将从这几个方面入手,告诉大家如何来排查及解决这些问题。


一般流程:

1、检查数据的坐标系,建议使用投影坐标系。
2、检查数据的连通性。
3、换一份数据测试。


一、停靠点无效

添加或导入停靠点后,发现停靠点前有问号。

ArcGIS网络分析之常见问题分析、诊断篇_ArcGIS

说明停靠点没有捕捉到道路上,可以通过调整停靠点的位置或是搜索容差修正此问题。检查容差后没有问题,还需要检查数据的坐标系,建议使用投影坐标系。

ArcGIS网络分析之常见问题分析、诊断篇_ArcGIS_02

调整搜索容差后,有问题的停靠点前还是会有问号,可以删除所有停靠点,再导入一次。

PS: 最好在导入停靠点时就设置好搜索容差。

ArcGIS网络分析之常见问题分析、诊断篇_网络分析_03

二、构建网络数据集时,检测到孤立点

构建时,报错“Standalone user-defined junction is detected.”

ArcGIS网络分析之常见问题分析、诊断篇_数据集_04

在创建网络数据集时,如果点在网络数据集中没有任何意义(比如不代表公交站,也不表示道路端点的高程等),请不要让其参与创建。

此问题的解决方法是移除点要素类。

ArcGIS网络分析之常见问题分析、诊断篇_网络分析_05

三、求解失败

ArcGIS网络分析之常见问题分析、诊断篇_ArcGIS_06

遇见过这样一个案例,是因为停靠点超级多。减少停靠点后,就可以解决了。

如果不是停靠点个数的问题,建议使用其他数据测试一下,看是否还有此问题。

四、分析结果不符合预期

1、AB两点间没有路

停靠点之间明明应该是有结果的,但出现“错误:未找到解决方案。” Error: No solution found.

ArcGIS网络分析之常见问题分析、诊断篇_ArcGIS_07

请按照如下步骤排查:

1)检查道路数据的交叉处,是否是连接上的,即路不是断开的。

最快的方式就是放大交叉处,看线是不是连在一起的。当然,如果数据较多,可以使用拓扑检查,使用不能有悬挂点(Must Not Have Dangles)规则。

如果交叉处是连接的,那么就不会有拓扑错误。

ArcGIS网络分析之常见问题分析、诊断篇_Network Analysis_08

2)检查网络数据集的连通性。

ArcGIS网络分析之常见问题分析、诊断篇_ArcGIS_09

3)检查那一片路是不是孤路,也就是不和其他任何路连着。

和上一点类似。图中两点是没有分析结果的。

ArcGIS网络分析之常见问题分析、诊断篇_连通性_10

4)检查停靠点的捕捉方式。

如下图,进行OD分析时,起始点和目的地点都是30个,但是结果却只有529条路径。本应该有900条的。

ArcGIS网络分析之常见问题分析、诊断篇_连通性_11

停靠点默认设置是捕捉到最近的路上,但是本案例中,停靠点捕捉到了最近的铁路上,而铁路又无法到直接到其他道路上,所以导致分析不出结果。修改捕捉方式后,就有结果了。

ArcGIS网络分析之常见问题分析、诊断篇_ArcGIS_12

2、服务区分析,设置中断值1公里,为什么结果是1.3公里?

这是ArcMap的已知问题。

BUG-000112091: Network Analyst uses geodesic distance instead of planar if the coordinate system is Web Mercator Auxiliary Sphere and there is only one cost attribute which uses the Shape field:

在特定条件下才会发生此问题:


  1. 在ArcMap中使用网络分析;
  2. 数据的投影是 Web Mercator Auxiliary Sphere 或 Web Mercator;
  3. 网络数据集仅有一个成本属性;
  4. 成本属性使用的是Shape字段。

根据以上列出的几个条件,有很多解决方法。比如新加一个成本属性,成本属性使用Shape_Length字段。使用的方法是进行投影换,可以选择一个等距投影,这样计算距离更准确。

在ArcGIS Pro中没有这个问题。

3、ArcGIS Pro中执行3D网络分析,结果不正确。同样的数据,在ArcScene中结果是正确的。

下图是模拟的楼梯走向,Pro中两点的分析结果是整个路线或是部分路线。Pro中执行分析后,会有警告"WARNING 030185: Your network data source is 3D, but it has an unknown Z coordinate system. Points will be located on the network as if the network were in a 2D plane, ignoring the network’s Z coordinates."

ArcGIS网络分析之常见问题分析、诊断篇_Network Analysis_13

在ArcScene中结果是正确的。

ArcGIS网络分析之常见问题分析、诊断篇_数据集_14

ArcGIS Pro 3D网络分析中,网络分析图层、停靠点都需要带有Z值且有垂直坐标系,才能执行成功。

五、其他

1、创建网络数据集的选项是灰色的,网络分析工具条上的分析选项也是灰色的。

ArcGIS网络分析之常见问题分析、诊断篇_ArcGIS_15

1)必须有网络分析扩展模块许可。 在ArcGIS Administrator(ArcGIS许可管理员),Availablity(可用性)中查看是否有Network Analyst。

2)必须激活网络分析扩展模块。 菜单栏Customize(自定义),Extensions(扩展模块),勾选Network Analyst。

ArcGIS网络分析之常见问题分析、诊断篇_网络分析_16

2、创建网络数据集时,对话框中看不到下一步,重装也不行。

ArcGIS网络分析之常见问题分析、诊断篇_连通性_17

创建网络数据集的对话框没有缩放功能,所以无法调整大小。可以参考如下几个方法:


  • 方法1:更改操作系统的文本、应用等项目的大小。 我的电脑默认是推荐的150%,改为100%即可。
    ArcGIS网络分析之常见问题分析、诊断篇_连通性_18
    ArcGIS网络分析之常见问题分析、诊断篇_网络分析_19
  • 方法2:将状态栏推拽到屏幕左侧。 这个电脑屏幕尺寸也有关系,如果对话框中的下一步还是显示不出来,还是用方法1吧。
    ArcGIS网络分析之常见问题分析、诊断篇_网络分析_20

3、创建网络数据集前,数据要不要都打断。

不需要。可以设置网络数据集的连通性。详细可参考​​ArcGIS网络分析之数据组织、连通性设置​​。

4、创建网络数据集前,高速公路、国道、省道等是不是分要素类存储。

不需要。网络数据集支持子类型。点击​​这里​​查看子类型介绍和创建方法。

在网络分析数据集的连通性属性设置界面中,点击子类型,就可以设置连通性组、设置连通性规则了。

ArcGIS网络分析之常见问题分析、诊断篇_Network Analysis_21

5、服务区分析结果中,为什么设施点没有在服务区范围内?

分析结果是正确的,原因是设施点离网络边的距离太远。下图中,服务区半径是1km。

ArcGIS网络分析之常见问题分析、诊断篇_ArcGIS_22

关于点为什么在服务区外面, 原因是我们在进行分析的时候,采用的是网络上的设施点。如果点没有在网络上,那么将点落在网络上(根据点到网络的最短距离得出网络上的设施点),然后利用网络上的点进行服务区分析。我们分析出来的服务区面是一个假想的面,实际分析处理的是网络上的线,然后采用不规则三角网(TIN)的算法构面。

6、ArcGIS Pro中无法创建网络数据集。

已在2.6中增加此功能。



官网帮助文档中,网络分析这部分内容翻译的不是很好,有些词用的不准确。建议直接看英文。


欢迎关注我的公众号 ~

ArcGIS网络分析之常见问题分析、诊断篇_连通性_23