使用开源工具创建行驶时间面吗?


55

是否有人在使用开源工具和/或数据来生成从给定位置辐射出的行驶时间多边形?例如,我曾使用诸如Network Analyst和Business Analyst之类的ESRI产品来生成多边形边界,这些边界表示用户可以在用户定义的时间段内从给定点沿道路网络行进的最大距离(例如5、10和/或15分钟)。是否有任何类似的开源或基于Web的替代方案?

我看到了这篇文章,但实际上并没有提供其他选择: 您可以使用Google Maps API制作旅行区域多边形吗?

我特别想知道是否有人(或可以)使用OpenStreetMap进行行车时间分析?

另外,是否存在可用于生成多边形的pgRouting实用程序的任何实现? http://pgrouting.postlbs.org/


有兴趣看到这个答案。就我而言,ESRI领先于开源服务器产品,主要是因为它以易于维护/使用的模型公开了地理处理。
西蒙

这个问题有任何更新吗?我真的很想与地图脚本中的开源DT poly创建者混在一起。
Furlong 2010年

我绝对不能给出答案,因为我不得不暂停我在该项目上的工作。因为我不是一个“ GRASS”家伙,所以我可能不会走这条路,尽管这似乎是一个非常可行的解决方案。但是,现在,我倾向于尝试使用pgRouting,据说它内置了Alpha Shapes函数。
RyanDalton 2011年

Answers:


52

GRASS v.net.iso将为您提供如下结果:

在此处输入图片说明

您可能不想在此输出上运行凸包算法。想象一下蓝色的道路:它们周围的凸包会包含很多在“蓝色”所代表的时间内无法到达的部分。

相反,您可能需要研究alpha形状(相关问题:凹面船体的定义,算法和实际解决方案是什么?

alpha形状素描

您可以使用pgRouting和QGIS创建驱动时间等时线(如此处所述)。在这种情况下,我没有使用OSM,但是您当然可以基于OSM构建可路由网络(请参阅osm2pgrouting工具)。

在此处输入图片说明

全分辨率

对于纯PostGIS解决方案,可以使用pgRouting alpha形状函数。这是pgRouting中实现的alpha形状与我在先前更新中介绍的方法的比较:

在此处输入图片说明

彩色区域表示alpha形状函数的结果,黑色线表示先前描述的插值方法的结果。使用pgRouting的Alpha形状,集水区的详细程度较低。同样,似乎没有办法改变alpha的值来创建更详细的表示。


2
在Alpha形状上+1!每天学些新东西!我知道凸包不是完全解决方案,但不知道这些!
达伦·科普,2010年

1
非常感谢您在博客上发布对此的描述。我绝对计划很快查看一下,看看是否可以将其复制到数据中。看起来很棒!
RyanDalton 2011年

10

GRASS v.net.iso可用于创建行驶时间“网络”,您可以将其传递给“凸包”命令以获取多边形。也许不是理想的,但是会起作用的!


1
哈哈-打我吧!
om_henners 2010年

v.net.iso +1,但不确定凸包部分-见我的答案
深色

9

好吧,可能您可以使用GRASS GIS中的v.net.iso。但是,它不会创建多边形(AFAIK),而是根据来源中的成本类别分割线。

至于从OSM计算行驶时间,您可以使用v.in.osm将数据导入GRASS ,然后使用v.net.iso计算成本区。如果您需要旅行时间并且没有道路速度限制,则可以根据道路等级的某些功能来计算速度限制。


7

您可以将GraphHopper用于该任务,该任务还支持步行或骑自行车等不同模式,并且默认情况下使用OpenStreetMap。您将需要一些Java编码,类似于Dijkstra算法的工作原理,从起点开始探索道路网络,但即使是实时(<0.5s),也可以得到类似以下的内容:

在此处输入图片说明

该代码将收集必须使用例如JTS工具转换为多边形的点。速度很大程度上取决于最后一步。没有这个,即使距离很长,也有可能在0.5秒之内。

另一种方法是使用OpenTripPlanner



5

您可能想查看开放的Route360°JavaScript API,该API可与Leaflet和Google地图一起使用。它为以下行驶模式返回行驶时间面:步行,自行车,汽车,公交。

旅行时间多边形-纽约

它是免费和开源的,覆盖范围非常好。您可以在网站上找到许多有关如何使用它的教程。


1
客户端是开源的,但是服务器端不是IMO。
Karussell

2

尽管没有直接回答您的问题,但您应该看看Mapnificent API

Mapnificent为美国和世界上许多城市提供动态的公共交通旅行时间图。您可以使用Mapnificent API通过公共交通旅行时间overlays.overlays来扩充Google Maps应用程序。

这里看看伦敦替代文字


mapnificent是开源的吗?
Karussell 2014年

2

我也偶然发现了gvSIG的Network扩展,但是到目前为止我发现的配置文档还很差。我对此寄予厚望,我只需要弄清楚计算成本的细节即可。

我当时将美国人口普查TIGER数据用于道路网络,并实际生成了一些多边形,但无法获得真正有意义的成本单位。如果有人成功实现了此工具,我很想听听它。

我还找到了适用于QGIS的Quantum Navigator,但没有找到任何最新更新。


2

凹壳法的效果很好,我从上述图像中获得了很多启发。但是我注意到结果可能包括一些道路无法通行的区域(例如河流)。毫无疑问,从距离原点的距离或时间搜索相关特征(人口重心,房屋数量)方面,这不是问题。但它也仅在每个链接的任一端起作用。同样,在大多数情况下,这也不是问题(因为最长的道路链接具有访问控制-在到达下一个路口/交叉点之前,通常不能下车)。

但是,尽管如此,我仍在根据PgRouting /(从原始节点按时间排序)返回的LINKS(或原始“ Dijkstra”算法)返回的LINK进行另一种方法的研究。它相对简单,可以按时间段对链接进行分类,还可以分割跨越时间界限的链接。然后,将具有相同分类(例如0-2分钟,2-4分钟)的链接缓冲250米。


1

在今年的WhereCampPDX上,一些OpenStreetMap代表指出,在欧洲,使用OSM数据进行路由相当普遍。但是,在美国很少见,因为地图通常不够好。您可以在以下位置签出基于OSM的路由服务:

http://openrouteservice.org/


1
而且,没有路由与驱动时间不同,但它是相关的。
jvangeld 2010年

1
这是一种路线,但“一对一”受时间或距离的限制
Karussell 2014年

1
这项服务对我来说很好。我没有机会测试准确性,但是它使我能够找到某个区域周围的1小时半径。如果必须将人搬到一个未知的地方等
Roman

1
Openrouteservices.org可以选择将我们的数据导出到geoJSON。之后,我们可以将其转换并显示等时线图,即在Google Earth,Google Maps等中…… mkrgeo-blog.com
Mariusz Krukar

太棒了 现在,Openrouteservice在美国似乎正在稳步运转。
jvangeld
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.