繁体   English   中英

OpenStreetMap pbf 文件 - 在边界框中提取所有街道/道路交叉点

[英]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.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM