【发布时间】:2016-03-08 10:13:40
【问题描述】:
我在地图上有两个圆圈,分别是经度、纬度 (point()) 和半径,现在我知道如果这些圆圈相交,是否有返回 true 的 SQL 函数?
谢谢帮助。
【问题讨论】:
标签: mysql geospatial
我在地图上有两个圆圈,分别是经度、纬度 (point()) 和半径,现在我知道如果这些圆圈相交,是否有返回 true 的 SQL 函数?
谢谢帮助。
【问题讨论】:
标签: mysql geospatial
试试:
If(ST_Distance(POINT(Long1, Lat1),POINT(Long2, Lat2))<=Radius1+Radius2, "INTERSECT","NO INTERSECTION")
这基本上是在询问圆心之间的距离是否
【讨论】:
【讨论】:
您确实需要使用 ST_*() 函数 和 空间运算符函数,但 Zamrony 的答案相当模糊。所以,你需要做的是将你的圆转换成几何数据类型,然后你可以使用 st_intersect() 来查看这两个圆是否相交:
返回一个几何图形,它代表距离 几何值 g 小于或等于 d 的距离,如果为 NULL 任何参数都是 NULL。
请阅读ST_Buffer_Strategy() 的描述以及如何确定构成圆几何形状的点。
【讨论】: