zoukankan      html  css  js  c++  java
  • 文件图层创建(可用于创建临时图层)

    public void CreateNewLayer(AxMapControl ax, string layerName, esriGeometryType layerType)

    {

       // 空间参考系 得到当前地图的空间参考系

      ISpatialReference spatialReference = ax.ActiveView.FocusMap.SpatialReference;

      // 设定保持的路径

      string strShapeFolder = @"F:\fuzhou\";

      // 设定图层文件名

      string strShapeFile = layerName + ".shp";

      string shapeFileFullName = strShapeFolder + strShapeFile;

      // 定义工作空间

      IWorkspaceFactory workspaceFactory = new ShapefileWorkspaceFactory();

      // 矢量工组空间

         IFeatureWorkspace featureWorkspace =(IFeatureWorkspace) workspaceFactory.OpenFromFile(strShapeFolder, 0);

      IFeatureClass featureClass;

      // 如何已存在当前文件

      if (File.Exists(shapeFileFullName))

      {

        featureClass = featureWorkspace.OpenFeatureClass(strShapeFile);

        // 数据集对象的删除

        IDataset dataset = (IDataset)featureClass;

        dataset.Delete();

      }

      // 定义矢量数据的属性字段

      IFields fields = new FieldsClass();

      IFieldsEdit fieldsEdit = (IFieldsEdit)fields;

      IField field = new FieldClass();

      IFieldEdit fieldEdit = (IFieldEdit)field;

      fieldEdit.Name_2 = "SHAPE";

      fieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry;

      IGeometryDefEdit geoDef = new GeometryDefClass();

      IGeometryDefEdit geoDefEdit = (IGeometryDefEdit)geoDef;

      geoDefEdit.GeometryType_2 = layerType;//设置图层类型

      geoDefEdit.SpatialReference_2 = spatialReference;

      fieldEdit.GeometryDef_2 = geoDef;

      fieldsEdit.AddField(field);

      field = new FieldClass();

      fieldEdit = (IFieldEdit)field;

      fieldEdit.Name_2 = "data";

      fieldEdit.Type_2 = esriFieldType.esriFieldTypeString;

      fieldsEdit.AddField(field);

          // 创建对象

      featureClass = featureWorkspace.CreateFeatureClass(strShapeFile, fields, null, null, esriFeatureType.esriFTSimple, "SHAPE", "");

      ax.AddShapeFile(strShapeFolder, strShapeFile);

    }

  • 相关阅读:
    u-swipe-action报错Error: Not Found:Page[2][-1,20-9;9] at view.umd.min.js:1
    vue ui框架
    windows下简单部署django+vue项目(打包后)
    vue+django开发配置(vue转发请求、跨域携带cookie)
    python做定时任务schedule、aspscheduler、celery
    第四章练习题
    软件开发目录规范
    常用模块学习(六)
    常用模块学习(五)
    常用模块学习(二)
  • 原文地址:https://www.cnblogs.com/oftenlin/p/2672003.html
Copyright © 2011-2022 走看看