使用 SQL Server 2008 地理类型的查询点

Posted

技术标签:

【中文标题】使用 SQL Server 2008 地理类型的查询点【英文标题】:Query points using SQL Server 2008 geography type 【发布时间】:2010-05-07 15:05:58 【问题描述】:

我有一个地理类型的表,我想运行查询以查找特定纬度/经度 25 英里范围内的所有行。完成此操作的查询是什么样的?

【问题讨论】:

【参考方案1】:

我就是这样做的:

select *
from local_events
where _your_geography_column_.STDistance(geography::Point(_your_lat_,_your_long_, 4326)) < ((_your_miles_ * 1000) * 0.621371192)

【讨论】:

*1000 将米转换为公里,*.621371192 将公里转换为英里 - 以防您像我一样好奇

以上是关于使用 SQL Server 2008 地理类型的查询点的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2008 - 从记录中获取地理位置

SQL Server 2008 地理空间查询

将有效的几何形状保存到 Sql Server 2008 地理列中

如何将地理批量插入新的 sql server 2008 表

查询以将在特定地理距离内的行返回到给定行(使用 sql server 2008)

SQL2008 中用于地理数据类型的距离算法