【发布时间】:2014-09-26 15:05:15
【问题描述】:
我正在尝试删除与 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() 函数来获取重叠的多边形,然后以某种方式从其中一个多边形中删除它。
【问题讨论】:
-
你最终想要一个只是所有区域联合的区域吗?如果是这样,请查看 STUnion。
-
不,我想从其中一个多边形中删除重叠区域,以便 STIntersects = 0。
-
然后看看STDifference。也就是说,创建一个新的地理瞬间定义为 a.STDifference(b)
-
哦,是的,这就是解决方案 :) 非常感谢。
标签: sql sql-server polygon geography