ArcGIS Pro生成沿网络的OD成本矩阵

ArcGIS中求解OD成本矩阵只能得到两种形式的结果,一种是没有输出几何只有属性表的OD成本矩阵表,一种是OD点之间生成直线的成本矩阵表。不过路径分析是可以沿网络生成路径的,所以考虑借助路径分析生成沿网络的OD成本矩阵。

ArcGIS Pro生成沿网络的OD成本矩阵_第1张图片 OD成本矩阵的几何输出方式只有没有线和直线两种

ArcGIS Pro生成沿网络的OD成本矩阵_第2张图片 路径分析可以输出沿网络的连接线

但是路径分析默认是生成两点或多点的单条路径,为了达到像OD成本矩阵一样的效果,我们需要对路径分析图层的停靠点图层做一些改造,主要是改造RouteName字段。

  • 在单个分析中生成多个路径。使用 RouteName 字段值可以将停靠点分组到单独路径;每组生成一个路径。

    ArcGIS Pro生成沿网络的OD成本矩阵_第3张图片

首选还是做成模型工具箱的形式,在已创建好网络数据集和路径分析图层的基础上,输入起点、目的地,即可运行求解。

ArcGIS Pro生成沿网络的OD成本矩阵_第4张图片 工具箱运行步骤

使用模型工具的注意事项:

  1. 模型只能在ArcGIS Pro中使用
  2. 需要先创建好网络数据集和路径分析图层
  3. 5个模型放置在一处,如果工具箱或工具集的名字变动需要在主模型中重新添加子模型
  4. 起点和目的地图层的属性中需要一个Name字段,并且需要有属性值
  5. 矩阵的数量级控制在100*100左右,否则添加停靠点和求解都将耗费大量时间

在制作模型后才明白OD成本矩阵为什么不提供沿网络生成连接线了,还是效率问题。1000*1000的矩阵,直接生成直线的连接线用时短且数据小,如果全部沿网络生成连接线,(像我的数据是城市之间的OD)求解过程非常慢且生成的数据非常大(1000000条折点巨多的路径)。

模型的不足之处:

添加起点和目的地是一遍一遍调用子模型“01添加停靠点”完成的,相当于有100个起点就要循环100次“01添加停靠点”,这个过程严重影响停靠点的添加速度。虽然后来改进成了按照指数级添加的方式,100个起点只需要循环7次“01添加停靠点”,但是模型不能一键运行了,中间需要人工干预一次,所以取消了。大佬有什么好办法请指教啊。

模型工具箱icon-default.png?t=M276https://download.csdn.net/download/baidu_28157641/85026090

你可能感兴趣的:(ArcGIS,Desktop,Python,ArcPy,python)