使用sql判断一个点的半径是不是与另一点的半径相交
Posted
技术标签:
【中文标题】使用sql判断一个点的半径是不是与另一点的半径相交【英文标题】:Use sql to find out if the radius of one point intersects the radius of another point使用sql判断一个点的半径是否与另一点的半径相交 【发布时间】:2015-02-18 09:32:21 【问题描述】:我已经将位置存储在数据库(SQL 服务器)中,它们的位置被声明为地理,另一列声明它的半径。 将地理(或经度/纬度)作为参数我想获得半径与参数半径相交的位置(一个常数值)作为回报。
感谢任何有关如何解决此问题的信息。
【问题讨论】:
Finding a geography point within a range of another - SQL Server 的可能重复项 【参考方案1】:首先请注意,当且仅当半径之和大于两点之间的距离时,半径才会相互交叉。
我对语法不太熟悉,但您想要这样的东西 - 我正在使用 Transact SQL 地理数据类型的 STDistance 函数。
SELECT * FROM TABLE
WHERE TABLE.RADIUS + @radius >= @geog.STDistance(TABLE.GEOGRAPHY);
【讨论】:
以上是关于使用sql判断一个点的半径是不是与另一点的半径相交的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB:如何确定 GeoJson LineString 和具有半径的点的交集
BigQuery SQL / GIS:扩展半径直到计数大于/等于“N”