6

我想创建一个大型 GPS 坐标数据库,可以通过说“返回 [此坐标] 'n' 米内的所有坐标”来查询。

我想知道如何在Sqlserver2008中实现四叉树索引?

我想编写一个 .net 模块来调用使用四叉树的查询,以便我可以如此快速地检索对象。

如何实现上述功能?

提前致谢

4

2 回答 2

5
CREATE TABLE mytable (id INT NOT NULL, mypoint GEOGRAPHY NOT NULL, ...)

CREATE SPATIAL INDEX SX_mytable_mypoint ON mytable (mypoint)

SELECT  *
FROM    mytable
WHERE   mypoint.STDistance(geography::STGeomFromText(N'POINT (latitude longitude)', 4326) <= @N
于 2009-08-26T13:27:30.727 回答
1

我知道您的文章特别提到了在 SqlServer2008 中实现 QuadTree,但作为一种选择,您可以使用在托管代码中实现的。

看我的文章: http: //www.codeproject.com/KB/recipes/QuadTree.aspx

于 2009-08-30T18:37:11.110 回答