C# rectancle和polgyon NTS地形套件的交叉区域

C# rectancle和polgyon NTS地形套件的交叉区域,c#,nettopologysuite,C#,Nettopologysuite,我对固定边框矩形(105x68)内的动态NetTopologySuite.Geometrics.Polygon区域感兴趣 它有时可以打破矩形(这很好),但我只对边界框覆盖的区域感兴趣 所以基本上我想得到的结果是: //Polygon is completely inside my rectangle var FinalArea = Polygon.Area(); // Polygon breaks out of bounding box var FinalArea I Polygong.Are

我对固定边框矩形(105x68)内的动态
NetTopologySuite.Geometrics.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;

要获取矩形外的多边形面积,请执行以下操作:

poly.Intersection(rect).Area;
poly.Area - poly.Intersection(rect).Area;
要获取矩形减去多边形的面积,请执行以下操作:

rect.Difference(poly).Area;