I have lots of
Polygons of datatype
Geometry in SQL Server 2008. The image below shows how a select of all these Geometrys looks visualized.
What I need to do is create a Polygon which represents the outer boundary of all these polygons. So I used the response given to a previous spatial question I asked to create the following code:
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
This produced the following result, which has cracks in it due to holes between the polygons:
So I updated my query with the following change:
INSERT INTO @test SELECT geom.Reduce(0.001).STBuffer(100) FROM ForceBoundary
Which improved the result, however it's not solving the issue completely and it also damages the outer boundary accuracy.
What is the correct way to achieve this? From looking through a list of the STxxxx functions I couldn't see one that seemed to provide the results I need?
SELECT @geom.STExteriorRing() but it doesn't return anything. Appending it with
.STAsText() returns null.