public static MultiPolygon ToGeometry(this MultiPolygonType gmlMultiPolygon)
        {
            List <Polygon> polygons = new List <Polygon>();

            if (gmlMultiPolygon.polygonMember != null)
            {
                foreach (var member in gmlMultiPolygon.polygonMember)
                {
                    polygons.Add(member.Polygon.ToGeometry());
                }
            }

            return(new MultiPolygon(polygons));
        }
        public static MultiPolygonType ToGmlMultiPolygon(this MultiPolygon multiPolygon)
        {
            MultiPolygonType           gmlMultiPolygon = new MultiPolygonType();
            List <PolygonPropertyType> gmlPolygons     = new List <PolygonPropertyType>();

            foreach (var polygon in multiPolygon.Polygons)
            {
                PolygonPropertyType ppt = new PolygonPropertyType();
                ppt.Polygon = ToGmlPolygon(polygon);
                gmlPolygons.Add(ppt);
            }
            gmlMultiPolygon.polygonMember = gmlPolygons.ToArray();
            return(gmlMultiPolygon);
        }
 public static MultiPolygonType ToGmlMultiPolygon(this MultiPolygon multiPolygon)
 {
     MultiPolygonType gmlMultiPolygon = new MultiPolygonType();
     List<PolygonPropertyType> gmlPolygons = new List<PolygonPropertyType>();
     foreach (var polygon in multiPolygon.Polygons) {
         PolygonPropertyType ppt = new PolygonPropertyType();
         ppt.Polygon = ToGmlPolygon(polygon);
         gmlPolygons.Add(ppt);
     }
     gmlMultiPolygon.polygonMember = gmlPolygons.ToArray();
     return gmlMultiPolygon;
 }