SQL Server 2008には多くのPolygons
データ型がありGeometry
ます。下の画像は、これらすべてのジオメトリの選択がどのように視覚化されているかを示しています。
私がする必要があるのは、これらすべてのポリゴンの外側の境界を表す Polygon を作成することです。そこで、以前の空間に関する質問に対する回答を使用して、次のコードを作成しました。
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 関数のリストを調べたところ、必要な結果が得られると思われる関数が見つかりませんでした。