我想創建一個大型數據庫的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的四叉樹,但作爲一個選項,您可以使用一個託管代碼實現。
感謝that.But我SQLServer2008的數據類型幾何不geography.Actually,我想知道的四叉樹的實現是SQLSERVER2008如果我在我的表上創建索引空間索引?這意味着它是四叉樹實現嗎? – user98454 2009-08-26 13:49:38
不,這是一個「B-樹」,用於索引tesselated表面上的單元格。 「SQL Server」本身不支持「R-Tree」或「Q-Tree」。但是,它仍然有不俗的表現。對於'GPS'數據,最好將位置保留爲'GEOGRAPHY',因爲'GEOMETRY'假定爲簡單座標(而不是球形)。 – Quassnoi 2009-08-26 13:58:19
意味着q-tree實現在sqlserver2008中是不可能的? – user98454 2009-08-26 14:05:37