在MySQL数据库中,假设我有一对经/纬度点,它们在地图上创建了数以万计的多边形。给定一对经/纬度点,我如何找出它在哪个多边形中?
这似乎表明了如何判断多边形中是否有一对经纬度坐标:MySQL: Spatial Query to find whether a latitude/longitude point is located within a given boundary。如果我只需要针对一个多边形检查经/纬对,那太好了,但是我有很多多边形。
我的感觉是我无法即时执行此操作(我假设SQL查询太大,以至于我超出了MySQL在字符数方面的限制)。也许我需要遍历每个多边形并针对经纬度对进行测试-然后存储某种布尔值标志以指示该对是否在多边形内。对我来说这似乎效率很低。
有什么建议吗?
最佳答案
我假设这些对还具有相应的值,可以将它们分组为多边形。如果给每个组两对在多边形周围刻有“矩形”的坐标,则可以通过简单的SQL比较显着地限制搜索。
仅使用SQL在实际中似乎不可能对点是否包含在实际的多边形中进行后者的计算。
这是一个建议。