获取多个多边形的总边界框(使用C# NetCore NetTopologySuite)
Get total bounding box of several polygons (using C# NetCore NetTopologySuite)
我对使用多边形数据有点陌生(在 C# 中使用 NetTopologySuite
),想要获取多个多边形的边界框,具体取决于每个多边形的边界框是否重叠与另一个多边形(多边形聚类)。
在这个演示中,我有 3 个多边形,它们的边界框与其他多边形重叠,并且希望将红色边界框作为最终结果。
基本上我已经无法获取多边形的边界框了。
我试过 Geometry.Boundary
,但那只会返回外环...
最后我可以迭代坐标,但我想知道 Geometry
或 Polygon
类 是否内置了此功能(或者库是否内置了此功能).
这是获取一组 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);
我对使用多边形数据有点陌生(在 C# 中使用 NetTopologySuite
),想要获取多个多边形的边界框,具体取决于每个多边形的边界框是否重叠与另一个多边形(多边形聚类)。
在这个演示中,我有 3 个多边形,它们的边界框与其他多边形重叠,并且希望将红色边界框作为最终结果。
基本上我已经无法获取多边形的边界框了。
我试过 Geometry.Boundary
,但那只会返回外环...
最后我可以迭代坐标,但我想知道 Geometry
或 Polygon
类 是否内置了此功能(或者库是否内置了此功能).
这是获取一组 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);