我想创建一个大型 GPS 坐标数据库,可以通过说“返回 [此坐标] 'n' 米内的所有坐标”来查询。
我想知道如何在Sqlserver2008中实现四叉树索引?
我想编写一个 .net 模块来调用使用四叉树的查询,以便我可以如此快速地检索对象。
如何实现上述功能?
提前致谢
我想创建一个大型 GPS 坐标数据库,可以通过说“返回 [此坐标] 'n' 米内的所有坐标”来查询。
我想知道如何在Sqlserver2008中实现四叉树索引?
我想编写一个 .net 模块来调用使用四叉树的查询,以便我可以如此快速地检索对象。
如何实现上述功能?
提前致谢
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
我知道您的文章特别提到了在 SqlServer2008 中实现 QuadTree,但作为一种选择,您可以使用在托管代码中实现的。
看我的文章: http: //www.codeproject.com/KB/recipes/QuadTree.aspx