博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gis数据格式转换(数据导入)ConvertFeaCls
阅读量:6893 次
发布时间:2019-06-27

本文共 2914 字,大约阅读时间需要 9 分钟。

本文主要对数据导入等里 常用的不同格式数据创建、转换等 进行代码示例。主要用到IFeatureDataConverter.ConvertFeatureClass方法。

 

代码如下,难度不大,只是个技巧问题:

 

函数:

private void ConvertFeaCls(IWorkspace workspaceSource, IWorkspace workspaceTar, stringsSorceFeaClsName, string sTarFeaClsName, string sFeaDTName)        {            IFeatureClass feaCls = (workspaceSource asIFeatureWorkspace).OpenFeatureClass(sSorceFeaClsName);            String shapeFieldName = feaCls.ShapeFieldName;            int shapeFieldIndex = feaCls.FindField(shapeFieldName);            IField shapeField = feaCls.Fields.get_Field(shapeFieldIndex);            IGeometryDef geometryDef = shapeField.GeometryDef;             //create source workspace name              IDataset sourceWorkspaceDataset = (IDataset)workspaceSource;            IWorkspaceName sourceWorkspaceName = (IWorkspaceName)sourceWorkspaceDataset.FullName;            //create source dataset name              IFeatureClassName sourceFeatureClassName = new FeatureClassNameClass();            IDatasetName sourceDatasetName = (IDatasetName)sourceFeatureClassName;            sourceDatasetName.WorkspaceName = sourceWorkspaceName;            sourceDatasetName.Name = sSorceFeaClsName;             //create target workspace name              IDataset tarWorkspaceDataset = (IDataset)workspaceTar;            IWorkspaceName tarWorkspaceName = (IWorkspaceName)tarWorkspaceDataset.FullName;            //create target dataset name              IFeatureClassName tarFeatureClassName = new FeatureClassNameClass();            IDatasetName tarDatasetName = (IDatasetName)tarFeatureClassName;            tarDatasetName.WorkspaceName = tarWorkspaceName;            tarDatasetName.Name = sTarFeaClsName;             IFeatureDatasetName tarFeatureDatasetName = new FeatureDatasetNameClass();            (tarFeatureDatasetName as IDatasetName).WorkspaceName = tarWorkspaceName;            (tarFeatureDatasetName as IDatasetName).Name = sFeaDTName;             if (string.IsNullOrEmpty(sFeaDTName))            {                tarFeatureDatasetName = null;            }             IFeatureDataConverter featureDataConverter = new FeatureDataConverterClass();            featureDataConverter.ConvertFeatureClass(sourceFeatureClassName, null, tarFeatureDatasetName, tarFeatureClassName, geometryDef, feaCls.Fields, "", 1000, 0);    // Check for errors.        }

 

 

调用:

           

IWorkspaceFactory2 workspaceFactory = new ShapefileWorkspaceFactoryClass() asIWorkspaceFactory2;            IWorkspace workspace = workspaceFactory.OpenFromFile(@"E:\jhl", 0);            IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)workspace;            IFeatureClass featureClass = featureWorkspace.OpenFeatureClass(Functions.g_ROAD);                       IWorkspace workspace2 = workspaceFactory.OpenFromFile(@"E:\", 0);            DeleteShapeFileIFExist(@"E:\", "test6");            ConvertFeaCls(workspace, workspace2, Functions.g_ROAD,  "test6",string.Empty);

 

转载地址:http://bkkdl.baihongyu.com/

你可能感兴趣的文章
《软件工程(第4版?修订版)》—第1章1.3节什么是好的软件
查看>>
《PHP、MySQL和Apache入门经典(第5版)》一一2.7 基本安全规则
查看>>
《无线网络:理解和应对互联网环境下网络互连所带来的挑战》——2.5 3GPP2...
查看>>
《深入理解JavaScript》——2.6 JavaScript是广泛使用的吗
查看>>
Velocity官方指南-应用程序的属性
查看>>
《流量的秘密: Google Analytics网站分析与优化技巧(第3版)》一1.7 网站分析在企业中的位置...
查看>>
Xmemcached 1.2.2发布——支持遍历所有key
查看>>
API网关,让Serverless服务开放更加迅速
查看>>
如何使用OSS事件通知功能?
查看>>
Linux Shell十一 脚本安装Discuz
查看>>
贝叶斯算法
查看>>
Spark Streaming 1.6 流式状态管理分析
查看>>
ANTLR快餐教程(2) - ANTLR其实很简单
查看>>
Windows 7 中放大镜的使用方法和快捷键
查看>>
Git基础01
查看>>
dhtmlxCombo ztree
查看>>
C# WCF DataContractSerializer 类
查看>>
数据库数据迁移失败,如何进行修复操作
查看>>
二叉树递归分形,牛顿分形图案
查看>>
impdp在同一个数据库中将一个用户下的对象复制到另一个用户下
查看>>