SQL-Server Geography删除重叠

时间:2014-09-26 15:05:15

标签: sql sql-server polygon geography

我正在尝试删除与SQL-Server 2012的重叠,但我不知道如何做到这一点。

示例:

CREATE TABLE #temp(
[Geo] [geography] NOT NULL)
INSERT INTO #temp
VALUES (geography::STGeomFromText('POLYGON((0 0, 0.1 0, 0.1 0.1, 0 0.1,0 0))', 4326))
INSERT INTO #temp
VALUES (geography::STGeomFromText('POLYGON((0.05 0.05, 0.15 0.05, 0.15 0.15, 0.05 0.15, 0.05 0.05 ))', 4326))
SELECT * FROM #temp

我的想法是使用STIntersection()函数来获取重叠的多边形,然后以某种方式将其从一个多边形中删除。

1 个答案:

答案 0 :(得分:0)

根据上面的评论,STDifference会做到这一点。也就是说,给定两个地理实例a& b可能有也可能没有重叠,设置a = a.STDifference(b)将删除与b相交的任何区域。