我在 SQL 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 函数列表,我看不到一个似乎提供了我需要的结果的函数?