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

时间:2010-06-01 20:33:07

标签: sql geography

我是SQL Server 2008中使用地理类型的新手。我的数据库中有一个名为“Location”的表。 “位置”包含以下列和类型:

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);

这给了我硬编码文本值的起点。但是,我不知道如何将lat / long从我的Location表转换为geography实例。

如何将数据库中的lat / long转换为地理位置实例,以便继续处理我的查询?

谢谢!

1 个答案:

答案 0 :(得分:2)

select geography :: Point (Latitude,  Longtitude, 4326)
from Location.Location