2012-05-15 55 views
0

我需要計算同一個表中多邊形之間的重疊度。理想情況下,我想爲此使用mssql空間功能(如@ a.SHAPe.STIntersections(@ b.SHAPE).STArea())。計算同一表格中多邊形之間的重疊度

但我不知道如何做到這一點在同一層的多邊形。

謝謝!

房地美

回答

0

我敲了一個小例子給你,告訴您如何可以完成此。

SELECT 

    a.Geog1.STIntersection(b.Geog2) AS OverlapGeog 
, a.Geog1.STIntersection(b.Geog2).STArea() AS AreaOverlap 
FROM 
(
    SELECT 
    GEOGRAPHY::STGeomFromText('POINT(0.0 0.0)',4326).STBuffer(100) AS Geog1 
) a 
INNER JOIN 
(
    SELECT 
    GEOGRAPHY::STGeomFromText('POINT(0.001 0.0)',4326).STBuffer(100) AS Geog2 
) b 
On 
a.Geog1.STIntersects(b.Geog2) = 1