mysql生成图层_文件图层创建(可用于创建临时图层)

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

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值