OpenStreetMap pbf 文件 - 在边界框中提取所有街道/道路交叉点
Posted
技术标签:
【中文标题】OpenStreetMap pbf 文件 - 在边界框中提取所有街道/道路交叉点【英文标题】:OpenStreetMap pbf files- extracts all street/roads intersections in a bounding box 【发布时间】:2020-08-05 09:26:53 【问题描述】:我编写了一个查询,从 OpenStreetMaps 中提取边界框中的所有街道/道路交叉点,如下所示:
<osm-script>
<query type="way" into="hw">
<has-kv k="highway"/>
<has-kv k="highway" modv="not" regv="footway|cycleway|path|service|track"/>
<bbox-query e="51.0" n="50.748" s="50.746" w="7.154"/>
</query>
<foreach from="hw" into="w">
<recurse from="w" type="way-node" into="ns"/>
<recurse from="ns" type="node-way" into="w2"/>
<query type="way" into="w2">
<item set="w2"/>
<has-kv k="highway"/>
<has-kv k="highway" modv="not" regv="footway|cycleway|path|service|track"/>
</query>
<difference into="wd">
<item set="w2"/>
<item set="w"/>
</difference>
<recurse from="wd" type="way-node" into="n2"/>
<recurse from="w" type="way-node" into="n3"/>
<query type="node">
<item set="n2"/>
<item set="n3"/>
</query>
<print/>
</foreach>
</osm-script>
但是,我想在本地处理 pbf 文件,所以我需要弄清楚如何去做。 是否可以使用 OSMFILTER/OSMCONVERT/Osmosis/OTHER 提取边界框中的所有街道/道路交叉点?
谢谢大家。
【问题讨论】:
【参考方案1】:如果你使用 Java 没问题,你可以试试 Atlas:https://github.com/osmlab/atlas
它读取osm PBF文件,并在十字路口切断所有通航方式。那么所有的网络Node
对象就是你要找的路口。
【讨论】:
以上是关于OpenStreetMap pbf 文件 - 在边界框中提取所有街道/道路交叉点的主要内容,如果未能解决你的问题,请参考以下文章
Mapbox - 如何在 Mapbox 中添加 .pbf 文件作为图层?