我有6000个原点 - 目标位置对的英格兰。对于每一对我需要找到从起点到目的地的最短路径。最短路径算法将基础路网和一个OD对的每个链路的细节(节点纬度和经度,道路链路长度和唯一id)作为输入。在Matlab中存储非常大的数据结构的方法
底层道路网络上的链接数为4091065.我读道路网络并将其存储在一个结构数组中,每个元素代表一个链接并将其保存在.mat文件中。正如你所看到的,数据的大小变得太大了,Matlab耗尽内存。
我会成为方法来解决这个问题的方法。增加内存似乎没有多大帮助。
感谢
谢谢nkjt。是的,我确实想到了这个选择,但不确定如何划分网络,它必须是每个OD对的预处理步骤。 –
你可以预处理成粗糙的地图网格,然后加载一些看起来合适的子集,具体取决于配对。取决于您的算法如何工作以及数据的结构。我也会试图修剪数据库(它是否包含任何死链接,如果它们是原点或目的地,它们只会成为答案的一部分)? – nkjt