什么是OD成本矩阵?
先不说这个东西是什么,我们还是举一个实际的例子:
现在存在3个城市北京、上海、武汉,请分析他们两两之间的通行时间。
很简单嘛!北京到上海,北京到武汉,上海到武汉都来一次最短路径分析就好了。
好。
那么现在存在全国100个城市,请做同样的分析。使用排列组合的数学知识,知道至少要执行100*99/2=4950次分析。
人工明显是不可能的,光打点就很累了。而且,我们关心的是通行时间,所以最短路径分析的结果的输出线其实可以不要。
所以,可以用一张100×100的表,或者说是100阶的方阵表示每个城市间的通行时间,这个方阵,就叫OD成本矩阵。
OD成本矩阵,是多个起始点与多个目的点之间连通成本(时间、费用、路长)的表格。
一、输入
OD成本矩阵所需要的输入元素是至少1个起始点与至少1个目的点。
当起始点和目的点都是1个时,就成了最短路径分析了,只不过在ArcMap中看不到代表最短路径的那条折线了。
通常,我们可以通过批量导入起始点和目的地点,而不用手工去打。
二、分析设置
和最短路径分析类似,在输出Shape中只有“无”、“直线”两个选项。
多了两个新的设置参数:中断值和要查找的目的地。
中断值:当超过给定的中断值(搜索半径),就认为目的点不能到达,就不作为结果。例如,超过1000km的距离的城市,就不算了,比如北京和广州。
要查找的目的地:这个数值要小于等于目的点的个数,默认和目的点个数相等。如果给了一个值n,那么就会取该起始点的前n个最近目的点。
三、举例
3个起始点,5个目的点,生成了15条连接直线。通过查看线的属性表:
可以看到:
得出结论:
每条连接线代表的最短路径长度值,以ID是1的路径为例,起始点1到目的点5所经过的最短路径的道路长度是12544.405624米。
当然,在分析窗口中可以把长度改为时间等阻抗属性。
这里的Total_长度字段,就是所谓的OD成本矩阵了。