我正在调用Overpass API的本地实例来获取所有"道路"在给定的边界框中。奇怪的是,所有的道路/道路/轨道似乎都属于"高速公路"关键(不是一个非常糟糕的名字??)。我只对汽车/公共汽车可以行驶的道路感兴趣,所以我确定了一堆(大约17个)不同的高速公路值,并将它们全部添加为我的查询字符串中的过滤器。看起来像这样:
"way[highway = motorway];
way[highway = trunk];
way[highway = primary];
way[highway = secondary];
way[highway = tertiary];
way[highway = unclassified];
way[highway = residential];
way[highway = service];
way[highway = motorway_link];
way[highway = trunk_link];
way[highway = primary_link];
way[highway = secondary_link];
way[highway = tertiary_link];
way[highway = living_street];
way[highway = bus_guideway];
way[highway = road];
way[highway = track]; "
问题是,据我所知,响应时间似乎随每个添加的标签线性增加。我能做出更智能的查询来加快响应速度吗?感觉应该有一个标签定义这种方式(我会称之为#34; road"),这意味着只有一个过滤器。
答案 0 :(得分:2)
只需使用一个正则表达式:
way[highway~"^(motorway|trunk|primary|secondary|tertiary)$"];
当然:在撰写本文时,建议使用当前版本0.7.53以获得最佳性能。