Overpass Turbo:在输出中过滤所需的标签

问题描述 投票:0回答:1

可以通过指定“out Tags;”来仅获取没有几何图形的标签。 然而,它:

  • 不允许我过滤掉不需要的标签(例如,我只需要“名称”和“速度”)——这对我来说非常重要,因为它有助于克服 Overpass 对查询大小的限制。否则,列出所有标签的查询会变得过于庞大。
  • 不允许我也带几何图形,但这对我来说也很重要。

你能推荐我什么?我在 Overpass 中尝试过类似的查询,但到目前为止没有结果。

例如:

[out:json]
[date:"2013-12-31T23:59:59Z"]
[maxsize:1073741824]
[timeout:600]
[bbox:{{bbox}}];
(
  way["highway"~"(motorway|trunk|primary|secondary)"]
  ["name"]
  ["speed"]
  ["geometry"];
);
(._;>;);
out body;

类似的东西也不起作用:

[out:json]
[date:"2013-12-31T23:59:59Z"]
[bbox:{{bbox}}];
(
  nw["highway"~"(motorway|trunk|primary|secondary)"]
  ["name"]
  ["speed"]
  ["geometry"];
);
(._;>;);
out tags;
gis openstreetmap overpass-api
1个回答
0
投票

可以使用

csv
选项返回特定密钥:

[out:csv (name, maxspeed; true; " | ")] 
[timeout:10]
[bbox:{{bbox}}];
way["highway"~"(motorway|trunk|primary|secondary)"];
out;

如果还要输出道路坐标,则需要稍微误用csv输出:

[out:csv (print; false)] 
[timeout:10]
[bbox:{{bbox}}];
way["highway"~"(motorway|trunk|primary|secondary)"];
foreach -> .setWay {
  .setWay; > -> .setNodes;
  make x print = u(t["name"] + " | " + t["maxspeed"]) + " | " + setNodes.set(" " + lat() + ", " + lon()); out;
};

如果输出采用 json 格式,则必须在

make
字符串内相应添加此文本(lat、lon、...)。

© www.soinside.com 2019 - 2024. All rights reserved.