我在Server 2008中有很多数据类型的Polygons Geometry。下面的图片显示了所有这些几何形状的选择是如何可视化的。

我需要做的是创建一个多边形,它代表所有这些多边形的外部边界。因此,我使用了我要求的对前一个空间问题的答复来创建以下代码:
DECLARE @test TABLE(geom GEOMETRY);
INSERT INTO @test SELECT geom FROM ForceBoundary
DECLARE @geom GEOMETRY
SELECT @geom = (SELECT TOP 1 geom FROM @test)
SELECT @geom = @geom.STUnion(geom) FROM @test
SELECT @geom这产生了以下结果,其中由于多边形之间的孔而产生裂缝:

因此,我用以下更改更新了我的查询:
INSERT INTO @test SELECT geom.Reduce(0.001).STBuffer(100) FROM ForceBoundary这改善了结果,但并没有完全解决问题,也损害了外部边界的精度。

,实现这一目标的正确方法是什么?通过查看一个似乎无法提供所需结果的STxxxx函数列表,可以看出?
发布于 2011-12-05 13:22:56
GIS StackExchange的 地理石墨石 提供的答案
听起来您想要删除条子。在FilterArtifactsGeometry.项目中Server空间工具项目中有一个函数。
关于使用该函数的博客文章可以找到这里。
这有一个使用ringTolerance参数筛选出小龙的选项:
拆卸所有比提供的公差更薄的多边形环(例如ring.STArea < ringTolerance x ring.STLength)。值为0不会移除任何环。
在实践中,这允许非常薄的多边形环(条)被检测和删除,而留下更典型的形状多边形环单独。当然,假设是条子是不受欢迎的,但非条环是可取的.
发布于 2011-12-01 12:27:24
您试过geom.STExteriorRing()命令了吗?
https://stackoverflow.com/questions/8329110
复制相似问题