0

我是地理数据的新手,我正在玩谷歌地图、asp.net 和 SQL Server,但我有点卡住了。

我有一个带有经度和纬度标记的 SQL Server 表。

我想从数据库中获取相对于起点的 10 个最近的标记。

做这个的最好方式是什么。

服务器是 SQL 2005,值存储在两列数据类型 nvarchar(300) 中

4

1 回答 1

0

由于这个原因,您不需要使用 C# 或 ASP.NET,只需使用 SQL 请求即可。以下是AdventureDataworks示例数据库中用于查找邻近位置的示例:

USE AdventureWorks2008R2
GO
DECLARE @g geography = 'POINT(-121.626 47.8315)';
SELECT TOP(7) SpatialLocation.ToString(), City FROM Person.Address
WHERE SpatialLocation.STDistance(@g) IS NOT NULL
ORDER BY SpatialLocation.STDistance(@g);
于 2011-12-13T23:56:26.940 回答