コード例 #1
0
ファイル: MG_Feature.cs プロジェクト: huaminglee/minigis
        private MG_FieldSet FieldSet; // same as Layer.FieldSet

        #endregion Fields

        #region Constructors

        public MG_Feature(MG_FieldSet fs)
        {
            this.FieldSet = fs;
            this.ValueSet = new MG_ValueSet();
            this.Geometry = new MG_Geometry();
            this.Symbol = new MG_Symbol();
        }
コード例 #2
0
 public MG_Feature(MG_FieldSet fs)
 {
     this.FieldSet = fs;
     this.ValueSet = new MG_ValueSet();
     this.Geometry = new MG_Geometry();
     this.Symbol   = new MG_Symbol();
 }
コード例 #3
0
ファイル: MG_BaseRender.cs プロジェクト: huaminglee/minigis
 public static void RenderGeometry(Graphics g, Pen pen, Brush brush, MG_MapView mapview, MG_Geometry geometry)
 {
     switch (geometry.Type)
     {
         case MG_GeometryType.NONE:
             break;
         case MG_GeometryType.POINT:
             MG_MapRender.RenderPoint(g, brush, MG_Constant.PointRadius, mapview, geometry as MG_Point);
             break;
         case MG_GeometryType.MULTIPOINT:
             MG_MapRender.RenderMultiPoint(g, brush, MG_Constant.PointRadius, mapview, geometry as MG_MultiPoint);
             break;
         case MG_GeometryType.LINESTRING:
             MG_MapRender.RenderLineString(g, pen, mapview, geometry as MG_LineString);
             break;
         case MG_GeometryType.MULTILINESTRING:
             MG_MapRender.RenderMultiLineString(g, pen, mapview, geometry as MG_MultiLineString);
             break;
         case MG_GeometryType.POLYGON:
             MG_MapRender.RenderPolygon(g, brush, mapview, geometry as MG_Polygon);
             //MG_MapRender.RenderPolygon(g, pen, mapview, geometry as MG_Polygon);
             break;
         case MG_GeometryType.MULTIPOLYGON:
             MG_MapRender.RenderMultiPolygon(g, brush, mapview, geometry as MG_MultiPolygon);
             //MG_MapRender.RenderMultiPolygon(g, pen, mapview, geometry as MG_MultiPolygon);
             break;
     }
 }
コード例 #4
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;
        }
コード例 #5
0
ファイル: MG_Feature.cs プロジェクト: huaminglee/minigis
        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;
        }
コード例 #6
0
 public void SetGeometry(MG_Geometry geometry)
 {
     this.Geometry = geometry;
 }
コード例 #7
0
ファイル: MG_Feature.cs プロジェクト: huaminglee/minigis
 public void SetGeometry(MG_Geometry geometry)
 {
     this.Geometry = geometry;
 }
        private void sql_Insert(string table, MG_ValueSet valueSet, MG_Geometry geometry, out string strSQL, out NpgsqlParameter[] sqlParams)
        {
            // oid, field1, field2, field3, field4,...fieldN, geom
            //  INSERT INTO point(f1, f2, f3, geom) VALUES('v1', 'v2', 'v3', ST_GeometryFromText('POINT (100 200)',0));
            string str1 = "INSERT INTO {0}(";
            str1 = String.Format(str1, table);

            // oid name geom cityno length
            // name cityno length
            ArrayList columns = this.GetTableColumnNames(table);
            string str2 = "";
            string str4 = "";
            if (columns!= null && valueSet!=null)
            {
                string temp1 = "{0}, ";
                string temp2 = "'{0}', ";
                int countField = columns.Count; //5
                int countValue = valueSet.Count(); // 3
                if (countField-2 == countValue) // oid geom
                {
                    for (int i = 0; i < countField; i++)
                    {
                        string column = columns[i].ToString();
                        if (!column.Equals("oid") && !column.Equals("geom"))
                        {
                            str2 += String.Format(temp1, column);
                        }
                    }
                    for (int j = 0; j < countValue;j++ )
                    {
                        str4 += String.Format(temp2, valueSet.GetAt(j).Value);
                    }
                }
            }
            string str3 = "geom) VALUES(";
            string str5 = "ST_GeometryFromText('{0}',0));";
            str5 = String.Format(str5, geometry.AsWKT());

            strSQL = str1+str2+str3+str4+str5;
            sqlParams = null;
        }
 public int Insert(string table, MG_ValueSet valueSet, MG_Geometry geometry)
 {
     this.sql_Insert(table, valueSet, geometry, out m_strSQL, out m_sqlParams);
     return this.RunSQL(m_strConn, m_strSQL, m_sqlParams);
 }