0

我发现以下mysql 空间函数可以检查给定的纬度和经度是否在多边形内。

1 - MBR_Contains

2 - MBR_Within

请指导我,这将提供快速准确的结果,通过查询本身检查给定点是否在 MySql 服务器中的多边形内部或外部。

也建议我,如果您找到比这更好的解决方案(应该通过在 Mysql Server 中的查询来检查。)?

问候, 阿伦拉吉

4

1 回答 1

1

它们可能相同(就速度而言),但您应该使用这两个函数运行自己的测试。

也就是说,假设您可以使用 MySQL 5.6.1,您应该避免使用 MBR 函数并使用 ST 函数:

ST_Contains()
ST_Within()

原因,MBR代表最小边界矩形,因此一个点可以在最小边界矩形内,但实际上不在多边形内。ST 方法是精确的形状,会给你一个更精确的答案。

编辑,解决我应该使用哪一个?我相信您可以在测试多边形内的点时使用其中任何一种,但为了安全起见,再次测试您知道在多边形中的点。

于 2014-02-28T17:10:02.127 回答