Geolocation 跨多个多边形搜索点的最佳方法
我需要将一个给定点(lat,lon)与几个多边形匹配,以确定是否存在匹配 最简单的方法是对每个多边形进行迭代,并应用多边形中的点检查算法,但这样做的代价太高 我做的下一个优化是为每个多边形定义一个边界矩形(上界、下界),并根据每个边界框迭代检查点(与检查多边形中的所有点相比,比较更少) 是否有其他可能的优化?绑定矩形点上的空间索引或geohash是否有帮助?进一步优化: 边界框的想法很好。检查点是否位于边界框中的速度非常快 如果您仍然需要更高的速度,您可以像这样进行更多的预计算:Geolocation 跨多个多边形搜索点的最佳方法,geolocation,gis,geospatial,Geolocation,Gis,Geospatial,我需要将一个给定点(lat,lon)与几个多边形匹配,以确定是否存在匹配 最简单的方法是对每个多边形进行迭代,并应用多边形中的点检查算法,但这样做的代价太高 我做的下一个优化是为每个多边形定义一个边界矩形(上界、下界),并根据每个边界框迭代检查点(与检查多边形中的所有点相比,比较更少) 是否有其他可能的优化?绑定矩形点上的空间索引或geohash是否有帮助?进一步优化: 边界框的想法很好。检查点是否位于边界框中的速度非常快 如果您仍然需要更高的速度,您可以像这样进行更多的预计算: 为每个多边形创
如果是,请使用您提到的更昂贵的算法检查点是否在多边形中
想想极端情况:
- 一块覆盖整个地图的巨大瓷砖:
您将获得地图中所有元素的一个列表,您必须选中所有边界框 - 非常小的瓷砖(对于每个国家只有一个多边形的地图为1x1米):
你会得到大量的瓷砖。所有多边形将分割为多个平铺,每个平铺将只有一个多边形。但是,一旦您确定了点在哪个平铺中(快速),几乎可以100%确定只有一个多边形需要检查