我还没有找到一种方法来发现地理实例之间的差距,我希望你们可以帮助我。目的是找到“间隙多边形”。我正在研究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
答案 0 :(得分:1)
我没有真正的2012(或更高版本)实例,但如果您这样做,这应该有用:
select EnvelopeAggreate([Geo]).STDifference( UnionAggregate([Geo]) )
from #temp