如何获取OSM文件以生成街道的宽度?

时间:2014-08-15 15:53:25

标签: postgresql openstreetmap pgrouting

我正在尝试将osm数据加载到数据库中,我同时使用了osm2p0和osm2​​pgrouting,并且意识到我没有看到任何引用街道宽度的内容。

这对我来说很重要,因为我正在编写一个程序来执行搜索和救援,其中街道的大小很重要,因为它可以限制哪些车辆可以使用哪条道路。

所以我开始查看osm.xml文件,但我没有看到任何引用街道宽度的内容。

http://wiki.openstreetmap.org/wiki/Key:width。它说钥匙应该是宽度。键宽度描述了一种方式或其他特征的实际宽度。

我是否遗漏了某些内容,或者在OSM中实际未提供宽度。

2 个答案:

答案 0 :(得分:2)

好吧,如果您查看正在使用的OSM标记,您将发现width=* tag,也可以是used for highways。还有一些标签用于指示道路/道路的宽度:maxwidthlanes。所有这些标签都是可选的,你不应期待全球覆盖...

我猜最重要的标准(每条道路都有)是road classification本身。但是你需要考虑国家特定的默认值,这很棘手,需要大量的研究。

您可能希望使用TrafficMining创建自定义路线配置文件,以考虑道路宽度来移动您的HGV车辆。也许Humaniterian OSM Team已经在这些技术上有一些经验来帮助灾难和应急响应。

答案 1 :(得分:1)

杰里米 - 很巧合 - 我也在搜索和救援工作......希望不在同一个国家(波兰),因为这意味着我们要进行并发。

我觉得麻烦在其他地方 - 在大多数情况下,标称道路宽度对于紧急车辆来说足够 - 甚至比如消防车......障碍物通常是一种低宽度桥梁,并且被标记为maxwidth和其他类似max%

回到这一点 - 您正在使用osm2po,这在创建道路网络时非常好,但它没有导入所有标签,例如osm2pgsql - 这就是为什么你看不到这个您数据中的标记。

也许有一些方法可以强制osm2po导入这个标签,但我没有搜索,因为我在一个数据库中同时获得了osm2po和osm2​​pgsql数据集,所以我可以使用简单的空间在这两个数据集之间移动这个标签查询。