开发者社区> 橘子红了呐> 正文

C#实现CAD数据转shape或mdb

简介:
+关注继续查看

jojojojo2002 原文C#实现CAD数据转shape或mdb

 

  本文所指的CAD数据为不带空间参考和扩展数据的数据。如果CAD带了空间参考或是扩展属性数据的话,就要采用图形和属性分离的方法转CAD数据,即图形转完后需要挂接属性数据库。这里就不详细说明了. ArcGIS和CAD对空间数据的归纳有所不同,在AutoCad中,点线面可以在同一个图层中,但是在ArcGIS中,点线面被严格的区分为了point、polyline和polygon三种类型的图层,所以直接用ArcCatalog查看CAD数据时会看到五个图层(点线面、注记和Multipatch) 话不多说了,进入主题吧。

  下面的方法实现了点线面图层转成Shape文件:

复制代码
public bool CadDataToShape(string _cadFilePath)
{        
//工作空间         
IWorkspaceFactory pWorkspaceFactory;
IFeatureWorkspace pFeatureWorkspace;
IFeatureLayer pFeatureLayer;
IFeatureDataset pFeatureDataset;//图层对应数据集

ESRI.ArcGIS.ConversionTools.FeatureClassToFeatureClass feaTofea = new FeatureClassToFeatureClass();
ESRI.ArcGIS.Geoprocessor.Geoprocessor pGeoPro = new ESRI.ArcGIS.Geoprocessor.Geoprocessor();


try
{
string strFullPath = _cadFilePath;
int index = strFullPath.LastIndexOf("\\");
string filePath = strFullPath.Substring(0, index);
string fileName = strFullPath.Substring(index + 1);
string DataSaveFilePath=@"D:\CADToShape\";


cadGISInfo = new stMdbInfo();
cadGISInfo.mdbFeaturesName = new List<string>();
cadGISInfo.mdbname = fileName;


//打开cad数据集
pWorkspaceFactory = new CadWorkspaceFactoryClass();
pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0);


if (Directory.Exists(DataSaveFilePath + @"\\" + fileName))
{  
    DirectoryInfo dirInfo = new DirectoryInfo(DataSaveFilePath + @"\\" + fileName);
    foreach (FileInfo file in dirInfo.GetFiles())
    {
        file.Delete();
    }
    Directory.Delete(DataSaveFilePath + @"\\" + fileName);
}
Directory.CreateDirectory(DataSaveFilePath + @"\\" + fileName);
cadGISInfo.mdbfilepath = DataSaveFilePath + @"\\" + fileName;
//打开一个要素集
pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(fileName);

}
复制代码

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。


    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6017373.html,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ADF_ADF Faces系列3_ADF数据可视化组件简介之建立Master-Detail
2013-05-01 Created By BaoXinjian 一、摘要 本文介绍,通过Oracle演示资料,开发一个Web Application, Data Model基于演示资料FOD,如何使用ADF业务组件 在Web Client Side,使用JavaServer Faces J...
1375 0
ADF_ADF Faces系列6_ADF数据可视化组件简介之建立Thematic Map Component
2013-05-01 Created By BaoXinjian 一、摘要 本文介绍,通过Oracle演示资料,开发一个Web Application, Data Model基于演示资料FOD,如何使用ADF业务组件 在Web Client Side,使用JavaServer F...
1288 0
ADF_ADF Faces系列5_ADF数据可视化组件简介之建立GeographicMap/Pivot Table/Gantt Chart
2013-05-01 Created By BaoXinjian 一、摘要 本文介绍,通过Oracle演示资料,开发一个Web Application, Data Model基于演示资料FOD,如何使用ADF业务组件 在Web Client Side,使用JavaServer Faces J...
1407 0
开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM(三)
开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM
1825 0
开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM(一)
开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM
714 0
开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM(二)
开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM
292 0
+关注
橘子红了呐
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载