[英]OpenStreetMap pbf files- extracts all street/roads intersections in a bounding box
我写了一个查询,从 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 提取边界框中的所有街道/道路交叉点?
多谢你们。
如果您可以使用 Java,您可以尝试 Atlas: https://github.com/osmlab/atlas
它读取 osm PBF 文件,并在十字路口切断所有通航方式。 那么所有的网络Node
对象都是你正在寻找的交叉点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.