Example #1
0
        private static MG_MultiPolygon AsMultiPolygon(Geometry g)
        {
            MG_MultiPolygon multiPolygon  = new MG_MultiPolygon();
            int             geometryCount = g.GetGeometryCount();

            for (int i = 0; i < geometryCount; i++)
            {
                MG_Polygon polygon = AsPolygon(g.GetGeometryRef(i));
                multiPolygon.Add(polygon);
            }
            return(multiPolygon);
        }
Example #2
0
        public MG_Feature(MG_Feature f)
        {
            this.FieldSet = new MG_FieldSet();
            this.ValueSet = new MG_ValueSet();
            this.Geometry = new MG_Geometry();
            this.Symbol = new MG_Symbol();

            for (int i = 0; i < f.GetFieldCount();i++ )
            {
                MG_Field field = f.GetFieldSet().GetAt(i);
                MG_Field newField = new MG_Field(field);
                this.FieldSet.Add(newField);

                MG_Value value = f.GetValue(i);
                MG_Value newValue = new MG_Value(value);
                this.ValueSet.Add(newValue);
            }
            MG_Geometry g = f.GetGeometry();
            MG_Geometry newGeom = new MG_Geometry();
            switch (g.Type)
            {
                case MG_GeometryType.NONE:
                    break;
                case MG_GeometryType.POINT:
                    newGeom = new MG_Point(g as MG_Point);
                    break;
                case MG_GeometryType.MULTIPOINT:
                    newGeom = new MG_MultiPoint(g as MG_MultiPoint);
                    break;
                case MG_GeometryType.LINESTRING:
                    newGeom = new MG_LineString(g as MG_LineString);
                    break;
                case MG_GeometryType.MULTILINESTRING:
                    newGeom = new MG_MultiLineString(g as MG_MultiLineString);
                    break;
                case MG_GeometryType.POLYGON:
                    newGeom = new MG_Polygon(g as MG_Polygon);
                    break;
                case MG_GeometryType.MULTIPOLYGON:
                    newGeom = new MG_MultiPolygon(g as MG_MultiPolygon);
                    break;
            }
            this.Geometry = newGeom;
            MG_Symbol newSymbol = new MG_Symbol(f.GetSymbol());
            this.Symbol = newSymbol;
        }
Example #3
0
 public static void RenderMultiPolygon(Graphics g, Pen pen, MG_MapView mapview, MG_MultiPolygon multiPolygon)
 {
     for (int i = 0; i < multiPolygon.Count(); i++)
     {
         RenderPolygon(g, pen, mapview, multiPolygon.GetAt(i));
     }
 }
Example #4
0
 public static void RenderMultiPolygon(Graphics g, Pen pen, MG_MapView mapview, MG_MultiPolygon multiPolygon)
 {
     for (int i = 0; i < multiPolygon.Count(); i++)
     {
         RenderPolygon(g, pen, mapview, multiPolygon.GetAt(i));
     }
 }