0

同じテーブル内のポリゴン間の重なりを計算する必要があります。理想的には、これには mssql の空間機能 (@a.SHAPe.STIntersections(@b.SHAPE).STArea() など) を使用したいと考えています。

しかし、同じレイヤー内のポリゴンに対してこれを行う方法がわかりません。

ありがとう!

フレディ

4

1 に答える 1

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
于 2012-05-16T13:37:48.913 に答える