使用sql查明一个点的半径是否与另一个点的半径相交

时间:2015-02-18 09:32:22

标签: sql sql-server math geocoding

我有位置存储在数据库(SQL-server)中,它们的位置被声明为地理位置,另一列声明它的半径。
给出地理(或经度/纬度)作为参数我希望得到半径与参数半径(一个常数值)相交的位置。

有关如何解决此问题的任何信息表示赞赏。

1 个答案:

答案 0 :(得分:0)

首先请注意,当且仅当半径之和大于两点之间的距离时,半径才会相互拦截。

我不熟悉语法,但你想要这样的东西 - 我正在使用Transact SQL地理数据类型的STDistance函数。

SELECT * FROM TABLE
WHERE TABLE.RADIUS + @radius >= @geog.STDistance(TABLE.GEOGRAPHY);