5

我对处理多边形数据(在 C# 中使用NetTopologySuite)有点陌生,并且想要获得几个多边形的边界框,具体取决于每个多边形的边界框是否与另一个多边形重叠(多边形聚类)。

在这个演示中,我有 3 个多边形,它们的边界框与其他多边形重叠,并且希望将红色边界框作为最终结果。

拳击

基本上我已经被困住了多边形的边界框。我试过Geometry.Boundary了,但这只是把外圈还回来了......

最后我可以遍历坐标,但我想知道GeometryorPolygon类是否具有此功能(或者库是否具有此功能)。

4

1 回答 1

6

这是获取一组 NTS 几何的边界框的最快方法:

var bbox = geoms[0].EnvelopeInternal;
for (int i = 1; i < geoms.Length; i++)
    bbox.ExpandToInclude(geoms[i].EnvelopeInternal);

// if you need it as a geometry finalize doing
var bboxGeom = geoms[0].Factory.ToGeometry(bbox);
于 2020-12-08T07:28:42.623 回答