【问题标题】:finding shortest paths using google maps for a large number of nodes使用谷歌地图为大量节点寻找最短路径
【发布时间】:2009-08-02 02:53:51
【问题描述】:

我正在尝试为客户进行一些网络分析。提供的路网GIS图层质量较差;因此,我不得不求助于谷歌地图来为我提供 200 个点之间的最短路径,以生成每个点之间的时间和距离矩阵。

有没有办法可以将图层作为一组 KML 点输入以获得这些点之间的距离和时间的输出?

如果这可以通过 api 实现,您对如何编写这样的脚本有任何提示或建议吗?

编辑 理想的最终结果是以下格式的 CSV 文件:

node_1, node_2, distance, travel_time
node_n, node_m, distance, travel_time

【问题讨论】:

    标签: javascript google-maps gis kml


    【解决方案1】:

    我不会为您编写整个脚本,但这可以通过地图 API 完成。打开the maps sandbox并添加到onGDirectionsLoad函数中:

    alert(gdir.getDistance().meters);
    

    您可以找到文档here - 也可以使用 getDuration()。然后,您需要做的就是在完成后发出一个新请求,获取每对起点和终点的方向。

    但是,请注意,如果您计划获得 200*200 路径,Google 可能会决定在某个时候限制您的速率。使用此方法需要您自担风险,并且请求之间会有延迟。

    另请注意,google 的 builtin KML support 似乎不支持为您提供点列表 - 这是有道理的,因为客户端可能只有当前在屏幕上的点。如果您想使用 KML 作为输入格式,您可能需要编写自己的 KML 加载程序。或者使用更简单的格式,如this example。

    【讨论】:

    • 您知道我可以通过其他方式生成距离矩阵吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    相关资源
    最近更新 更多