C# rectancle和polgyon NTS地形套件的交叉区域
我对固定边框矩形(105x68)内的动态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
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;