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

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

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

还可以使用pgRouting实用程序实现多边形吗?
http://pgrouting.postlbs.org/

评论

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

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

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

#1 楼

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



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

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



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



(全分辨率)

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



彩色区域表示alpha形状函数的结果,黑线是前面介绍的插值方法的结果。使用pgRouting的alpha形状可以不太详细地描述集水区。另外,似乎没有办法改变alpha的值来创建更详细的表示形式。

评论


在Alpha形状上+1!每天学些新东西!我知道凸包不是完全解决方案,但不知道这些!

– Darren Cope
2010-10-31 23:02

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

– RyanKDalton
11年2月14日在18:00

#2 楼

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

评论


哈哈-打我吧!

–om_henners
2010-10-27 12:19

v.net.iso的+1,但不确定凸包部分-请参阅我的答案

– Underdark♦
2010-10-27 16:16

#3 楼

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

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

#4 楼

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



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

另一种方法是使用OpenTripPlanner。

#5 楼

osrm-isochrone是一个小的node.js库,用于生成行驶时间。



#6 楼

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



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

评论


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

–卡塞尔
17年2月24日在13:59

#7 楼

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


Mapnificent提供了许多
城市中动态的公共交通出行时间地图。美国和世界范围内的其他国家。
您可以使用Mapnificent API
利用公共交通旅行时间来扩充Google Maps应用

overlays.overlays。


在这里看看伦敦。


评论


mapnificent是开源的吗?

–卡塞尔
2014年9月3日在16:49

#8 楼

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

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

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

#9 楼

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

但是,尽管如此,我一直在尝试一种不同的方法,该方法基于PgRouting /(或原始的“ Dijkstra”算法)按时间顺序从原始节点返回的LINKS。它相对简单,可以按时间段对链接进行分类,还可以分割跨越时间范围的链接。然后,将具有相同分类(例如0-2分钟,2-4分钟)的链接缓冲250米。

#10 楼

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

http://openrouteservice.org/

评论


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

– jvangeld
2010-10-28 0:30

这是一种路由,但“一对一”受时间或距离的限制

–卡塞尔
2014年9月3日在18:13

这项服务对我来说效果很好。我没有机会测试准确性,但是它可以让我找到例如某个区域周围1小时半径内。如果有人必须搬到一个未知的地方进行工作等,则非常方便。

–罗马
16年5月3日在14:44

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

– MKR
19-10-24在8:12

太棒了Openrouteservice看起来现在在美国正在稳步运转。

– jvangeld
19-10-25在16:11