API响应时间与过滤器数量呈线性关系

问题描述:

我正在调用本地实例的立交API以获取给定边界框中的所有“道路”。奇怪的是,所有道路/路径/轨道似乎都被归类为“高速公路”键(这不是一个非常糟糕的名字??)。我只对汽车/公共汽车可以驾驶的道路感兴趣,所以我已经确定了一组(大约17种)不同的公路值,并将它们全部添加为查询字符串中的过滤器。这看起来是这样的:API响应时间与过滤器数量呈线性关系

"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]; "

的问题,据我所知,响应时间似乎与每增加一个标签线性增加。是否有更聪明的查询可以加快响应速度?感觉就像应该有一个标签定义这种类型的方式(我会称之为“道路”),这意味着只有一个过滤器。

只需使用一个单一的正则表达式来代替:

way[highway~"^(motorway|trunk|primary|secondary|tertiary)$"];

,当然:当前版本0.7.53建议以获得最佳性能在写这篇的时候。

+0

完美。非常感激 – mchristos