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);

    }

  • 相关阅读:
    软件错误,软件缺陷,软件故障与软件失效
    QEMU命令创建KVM Guest(bridge桥接)
    Linux下设置网卡随系统启动
    RHEL查看CPU等机器信息
    QEMU/KVM功能测试
    CentOS 删除自带的OpenJDK 和 安装SunJDK
    将Centos的yum源更换为国内的阿里云源
    Centos6.8下安装oracle_11gr2版主要过程
    Centos6.8下安装oracle_11gr2版主要过程
    opendrive.com提供的免费网盘
  • 原文地址:https://www.cnblogs.com/oftenlin/p/2672003.html
Copyright © 2011-2022 走看看