SQL Server Geography(Spatial)查找实例之间的差距

时间:2014-09-30 12:25:12

标签: sql sql-server geography

我还没有找到一种方法来发现地理实例之间的差距,我希望你们可以帮助我。目的是找到“间隙多边形”。我正在研究SQL-Server 2012。

这是一个简单的例子:

CREATE TABLE #temp1
(
    [ID] [int],
    [Geo] [geography] NOT NULL
)

INSERT INTO #temp1
VALUES (1,geography::STGeomFromText('POLYGON((0 0, 0.1 0, 0.1 0.1, 0 0.1,0 0))', 4326))

INSERT INTO #temp1
VALUES (2,geography::STGeomFromText('POLYGON((0.11 0.05, 0.15 0.05, 0.15 0.15, 0.11 0.15, 0.11 0.05 ))', 4326))

INSERT INTO #temp1
VALUES (3,geography::STGeomFromText('POLYGON((0 0.1, 0.11 0.1, 0.11 0.15, 0 0.15, 0 0.1))', 4326))

INSERT INTO #temp1
VALUES (4,geography::STGeomFromText('POLYGON((0.1 0.05, 0.1 0, 0.15 0, 0.15 0.05, 0.1 0.05))', 4326))

SELECT * 
FROM #temp1

1 个答案:

答案 0 :(得分:1)

我没有真正的2012(或更高版本)实例,但如果您这样做,这应该有用:

select EnvelopeAggreate([Geo]).STDifference( UnionAggregate([Geo]) )
from #temp