当前位置:网站首页>ArcEngine(十)创建矢量图层

ArcEngine(十)创建矢量图层

2022-08-09 12:52:00 稻田里展望者

private void 创建矢量ToolStripMenuItem_Click(object sender, EventArgs e)
        {
    
            //工作空间
            IWorkspaceFactory workspaceFactory = new ShapefileWorkspaceFactory();
            IWorkspace workspace = workspaceFactory.OpenFromFile(@"D:\Data\shp\create", 0);
            IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)workspace;

            //字段
            IFields fields = new Fields();
            IFieldsEdit fieldsEdit = (IFieldsEdit)fields;

            IField field = new Field();
            IFieldEdit fieldEdit = (IFieldEdit)field;
            fieldEdit.Name_2 = "SHAPE";
            fieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry;

            //几何图形
            IGeometryDef geoDef = new GeometryDef();
            IGeometryDefEdit geoDefEdit = (IGeometryDefEdit)geoDef;
            geoDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPoint;//具体的图形为点
            geoDefEdit.SpatialReference_2 = (ISpatialReference)new UnknownCoordinateSystem();//空间参考
            fieldEdit.GeometryDef_2 = geoDef;

            fieldsEdit.AddField(field);

            field = new Field();
            fieldEdit = (IFieldEdit)field;
            fieldEdit.Name_2 = "id";
            fieldEdit.Type_2 = esriFieldType.esriFieldTypeString;
            fieldEdit.Length_2 = 10;

            fieldsEdit.AddField(field);

            IFeatureClass featureClass = featureWorkspace.CreateFeatureClass("newPoint.shp", fields, null, null, esriFeatureType.esriFTSimple, "SHAPE", "");
            IFeatureLayer featureLayer = new FeatureLayer();
            featureLayer.FeatureClass = featureClass;
            featureLayer.Name = "newPoint.shp";
            axMapControl1.AddLayer(featureLayer);
           
        }
原网站

版权声明
本文为[稻田里展望者]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_46441425/article/details/126220031