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

Posted

技术标签:

【中文标题】SQL Server 2008 - 从记录中获取地理位置【英文标题】:SQL Server 2008 - Get Geography From Record 【发布时间】:2010-06-01 20:33:07 【问题描述】:

我不熟悉在 SQL Server 2008 中使用地理类型。我的数据库中有一个名为“位置”的表。 “位置”具有以下列和类型:

Location
--------
City nvarchar(256)
State nvarchar(256)
PostalCode nvarchar(25)
Latitude decimal(9, 6)
Longitude decimal(9, 6)

每个位置都与我数据库中的一条商店记录相关。我正在尝试查找用户输入的 10 英里半径或邮政编码或城市/州内的商店。要做到这一点,我知道我需要依赖地理位置。此时我有:

DECLARE @startingPoint geography;
SET @startingPoint=geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);

这为我提供了硬编码文本值的起点。但是,我不知道如何将位置表中的纬度/经度转换为地理实例。

如何将数据库中的纬度/经度转换为地理实例,以便继续处理查询?

谢谢!

【问题讨论】:

【参考方案1】:
select geography :: Point (Latitude,  Longtitude, 4326)
from Location.Location

【讨论】:

以上是关于SQL Server 2008 - 从记录中获取地理位置的主要内容,如果未能解决你的问题,请参考以下文章

获取最后插入记录的 ID - Access DAO、ODBC、SQL Server 2008 身份字段

SQL Server 2008 R2:使用多个 CTE 获取日期明智的记录

SqlDataReader 使用 sql server 2008 不返回任何记录

SQL Server 2008 除了语句

实战 SQL Server 2008 数据库误删除数据的恢复

SQL Server 2008 - 性能慢查询