使用立交桥多边形查询是否比边界框具有计算优势?
Does using the Overpass polygon query have a computational advantage over a bounding box?
对于地理空间数据分析项目,我们目前正在使用立交桥的多边形查询(我们通过周围的缓冲区定义道路)来提取轨道沿线某些道路的道路类型和限速数据。问题是,在单独轨道的情况下,我们最终会得到断开连接的多边形,这通常会导致计算时间显着增加。在这种情况下,我们想知道 Overpass 的多边形查询实际上是如何工作的。该算法实际上只查询此 polygon/these 多边形内的数据,还是在边界框内查询,然后过滤掉多边形内的数据?
该算法检查节点是否在定义的多边形内,或者道路是否穿过多边形。它不是基于您提到的边界框。
根据您的描述,还不太清楚断开连接的多边形为何会造成问题。您应该使用基于 lz4 的后端和 (poly: )
过滤器中合理数量的 lat/lon 对获得不错的性能(您提供的对越多,计算成本越高)。
顺便说一句:解决这个问题的最佳方法是我在这篇博客 post 中描述的方法:https://www.openstreetmap.org/user/mmd/diary/42055 - unfortunately, this feature is not yet available in the official branch. If you see some use for it, please upvote here: https://github.com/drolbr/Overpass-API/issues/418
对于地理空间数据分析项目,我们目前正在使用立交桥的多边形查询(我们通过周围的缓冲区定义道路)来提取轨道沿线某些道路的道路类型和限速数据。问题是,在单独轨道的情况下,我们最终会得到断开连接的多边形,这通常会导致计算时间显着增加。在这种情况下,我们想知道 Overpass 的多边形查询实际上是如何工作的。该算法实际上只查询此 polygon/these 多边形内的数据,还是在边界框内查询,然后过滤掉多边形内的数据?
该算法检查节点是否在定义的多边形内,或者道路是否穿过多边形。它不是基于您提到的边界框。
根据您的描述,还不太清楚断开连接的多边形为何会造成问题。您应该使用基于 lz4 的后端和 (poly: )
过滤器中合理数量的 lat/lon 对获得不错的性能(您提供的对越多,计算成本越高)。
顺便说一句:解决这个问题的最佳方法是我在这篇博客 post 中描述的方法:https://www.openstreetmap.org/user/mmd/diary/42055 - unfortunately, this feature is not yet available in the official branch. If you see some use for it, please upvote here: https://github.com/drolbr/Overpass-API/issues/418