转载别人(ZZ)创建要素集

 感觉写的很实在且内容较多,转来,可以用于以后检索

3月19日

ArGis实现创建要素类

        public IFeatureClass createFeatureClass( string strBrowseName)
        {
            IWorkspaceFactory pWSF;
            pWSF = new AccessWorkspaceFactoryClass();
            IWorkspace pWS;
            pWS = pWSF.OpenFromFile(@"E:\T.mdb", 0);
            IFeatureWorkspace pFWS;
            pFWS = pWS as IFeatureWorkspace;
           
            IGeometryDefEdit pGeomDef;
            pGeomDef = new GeometryDefClass();

            pGeomDef.GeometryType_2 = esriGeometryType.esriGeometryPolygon;
            pGeomDef.SpatialReference_2 = new UnknownCoordinateSystemClass();
            pGeomDef.SpatialReference.SetDomain(0, 10000000, 0, 10000000);
            pGeomDef.SpatialReference.SetZDomain(0, 100);//创建要素类一定要加上空间阈,否则不会创建成功!!!


            IFieldEdit pField;
            IFieldsEdit pFieldsEdit;
            pFieldsEdit = new FieldsClass();
           
            pField = new FieldClass();
            pField.Type_2 = esriFieldType.esriFieldTypeGeometry;
            pField.GeometryDef_2 = pGeomDef;
            pField.Name_2 = "shape";
            pFieldsEdit.AddField(pField);
           
            pField = new FieldClass();
            pField.Type_2 = esriFieldType.esriFieldTypeDouble;
            pField.Name_2 = "ID";
            pFieldsEdit.AddField(pField);

            pField = new FieldClass();
            pField.Name_2 = "OBJECTID";
            pField.Type_2 = esriFieldType.esriFieldTypeOID;
            pFieldsEdit.AddField(pField);
            MessageBox.Show("Cuole");
            return  pFWS.CreateFeatureClass(strBrowseName, pFieldsEdit, null, null, esriFeatureType.esriFTSimple, "Shape", "");
        }

        private void button4_Click(object sender, EventArgs e)
        {
     //       string s=@"E:\T.mdb";
            string t="Had";
            IFeatureClass pFeature = createFeatureClass(t);
            MessageBox.Show("Cuole");
        }
14:30 | 写入日志
原文地址:https://www.cnblogs.com/zhangjun1130/p/1753385.html