rectancle和polgyon NTS TopologySuite的交叉区域

时间:2017-02-02 12:12:17

标签: c# nettopologysuite

我对固定边界框矩形(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拓扑套件实现这一目标?

Illustration

1 个答案:

答案 0 :(得分:1)

获取矩形内多边形的区域:

poly.Intersection(rect).Area;

要获得矩形外的多边形区域:

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

获取矩形区域减去多边形:

rect.Difference(poly).Area;