选择区域内的地理点

时间:2009-02-15 07:04:46

标签: sql-server-2008 geography

我有一个SQL Server 2008表,其中包含一个geography数据类型的列。该值是一个点(纬度和经度)。

如何查询表格以返回位置在给定坐标的10公里范围内的所有行?

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:1)

此查询最终解决了我的问题:

DECLARE @geoMyPoint geography
SET @geoMyPoint = geography::STGeomFromText('POINT(56.5667 9.0333)', 4326);

SELECT vchZipCode, nvcCity, vchLat, vchLong,
  (geography::STGeomFromText('POINT(' + vchLat + ' ' + vchLong + ')', 4326)).STDistance(@geoMyPoint) 
FROM MyTable