矩形与多边形交集面积 JTS Topology Suite

Area of intersection of rectancle and polgyon NTS TopologySuite

我对固定边界框矩形 (105x68) 内的动态 NetTopologySuite.Geometries.Polygon 区域感兴趣。

它有时可以打破矩形(这很好),但我只对边界框覆盖的区域感兴趣。

基本上我想得到的结果是:

//Polygon is completely inside my rectangle
var FinalArea = Polygon.Area();

// Polygon breaks out of bounding box
var FinalArea I Polygong.Area() - (double)AreaOutsideTheBoundingBox;

如何使用 C# 中的 NTS 拓扑套件实现此目的?

获取矩形内多边形的面积:

poly.Intersection(rect).Area;

获取矩形外多边形的面积:

poly.Area - poly.Intersection(rect).Area;

要得到矩形减去多边形的面积:

rect.Difference(poly).Area;