public Polygon TwoPieces(Polygon polygon1, Polygon polygon2, LineString line1, LineString line2)
 {
     if (polygon1.Intersects(polygon2) || polygon1.Touches(polygon2))
     {
         return polygon1.Union(polygon2) as Polygon;
     }
     else
     {
         var pg = GetConvexHull(line1, line2);
         return pg.Union(polygon1).Union(polygon2) as Polygon;
     }
 }