已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AE 加载Shapefile、栅格、CAD、PersonGDB、SDE数据ArcEngine加载图层的五个步骤1.创建一个类工厂2.使用类工厂创建一个要使用的工作区3.使用工作区打开并得到图层的dataset4.把dataset装入到新建的图层实例5.把图层加载到MapControl控件1. 加载Shapefile数据IWorkspaceFactorypWorkspaceFactory;IFeatureWorkspacepFeatureWorkspace;IFeatureLayerpFeatureLayer;/获取当前路径和文件名OpenFileDialogdlg=newOpenFileDialog();dlg.Filter=Shape(*.shp)|*.shp|AllFiles(*.*)|*.*;dlg.Title=OpenShapefiledata;dlg.ShowDialog();stringstrFullPath=dlg.FileName;if(strFullPath=)return;intIndex=strFullPath.LastIndexOf(/);stringfilePath=strFullPath.Substring(0,Index);stringfileName=strFullPath.Substring(Index+1);/打开工作空间并添加shp文件pWorkspaceFactory=newShapefileWorkspaceFactoryClass(); pFeatureWorkspace=(IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath,0);pFeatureLayer=newFeatureLayerClass();pFeatureLayer.FeatureClass=pFeatureWorkspace.OpenFeatureClass(fileName);pFeatureLayer.Name=pFeatureLayer.FeatureClass.AliasName;axMapControl1.Map.AddLayer(pFeatureLayer);axMapControl1.ActiveView.Refresh();2.加载栅格数据IWorkspaceFactorypWorkspaceFactory;IRasterWorkspacepRasterWorkspace;OpenFileDialogdlg=newOpenFileDialog();dlg.Filter=LayerFile(*.lyr)|*.jpg;*.bmp;*.tiff;dlg.Title=OpenRasterDataFile;dlg.ShowDialog();/获取当前路径和文件名stringstrFullPath=dlg.FileName;if(strFullPath=)return;intIndex=strFullPath.LastIndexOf(/);stringfileName=strFullPath.Substring(Index+1);stringfilePath=strFullPath.Substring(0,Index);pWorkspaceFactory=newRasterWorkspaceFactoryClass();pRasterWorkspace=(IRasterWorkspace)pWorkspaceFactory.OpenFromFile(filePath,0);IRasterDatasetpRasterDataset=(IRasterDataset)pRasterWorkspace.OpenRasterDataset(fileName);IRasterLayerpRasterLayer=newRasterLayerClass();pRasterLayer.CreateFromDataset(pRasterDataset);axMapControl1.Map.AddLayer(pRasterLayer);axMapControl1.ActiveView.Refresh();3.加载CAD数据1IWorkspaceFactorypWorkspaceFactory;2IFeatureWorkspacepFeatureWorkspace;3IFeatureLayerpFeatureLayer;4IFeatureDatasetpFeatureDataset;5/获取当前路径和文件名6OpenFileDialogdlg=newOpenFileDialog();7dlg.Filter=CAD(*.dwg)|*.dwg|AllFiles(*.*)|*.*;8dlg.Title=OpenCADDatafile;9dlg.ShowDialog();10stringstrFullPath=dlg.FileName;11if(strFullPath=)return;12intIndex=strFullPath.LastIndexOf(/);13stringfilePath=strFullPath.Substring(0,Index);14stringfileName=strFullPath.Substring(Index+1);15/打开CAD数据集16pWorkspaceFactory=newCadWorkspaceFactoryClass();17pFeatureWorkspace=(IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath,0);18/打开一个要素集19pFeatureDataset=pFeatureWorkspace.OpenFeatureDataset(fileName);20/IFeaturClassContainer可以管理IFeatureDataset中的每个要素类21IFeatureClassContainerpFeatClassContainer=(IFeatureClassContainer)pFeatureDataset;22/对CAD文件中的要素进行遍历处理23for(inti=0;ipFeatClassContainer.ClassCount-1;i+)2425IFeatureClasspFeatClass=pFeatClassContainer.get_Class(i);26if(pFeatClass.FeatureType=esriFeatureType.esriFTCoverageAnnotation)27/如果是注记,则添加注记层28pFeatureLayer=newCadAnnotationLayerClass();29else/如果是点、线、面,则添加要素层3031pFeatureLayer=newFeatureLayerClass();32pFeatureLayer.Name=pFeatClass.AliasName;33pFeatureLayer.FeatureClass=pFeatClass;34axMapControl1.Map.AddLayer(pFeatureLayer);35axMapControl1.ActiveView.Refresh();36374.加载PersonGeodatabase数据1IWorkspaceFactorypAccessWorkspaceFactory;2IFeatureWorkspacepFeatureWorkspace;3IFeatureLayerpFeatureLayer;4IFeatureDatasetpFeatureDataset;56/获取当前路径和文件名7OpenFileDialogdlg=newOpenFileDialog();8dlg.Filter=PersonalGeodatabase(*.mdb)|*.mdb|AllFiles(*.*)|*.*;9dlg.Title=OpenPersonGeodatabasefile;10dlg.ShowDialog();11stringstrFullPath=dlg.FileName;12if(strFullPath=)return;1314/打开personGeodatabase,并添加图层15pAccessWorkspaceFactory=newAccessWorkspaceFactoryClass();16/打开工作空间并遍历数据集17IWorkspacepWorkspace=pAccessWorkspaceFactory.OpenFromFile(strFullPath,0);18IEnumDatasetpEnumDataset=pWorkspace.get_Datasets(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTAny);19pEnumDataset.Reset();20IDatasetpDataset=pEnumDataset.Next();21/如果数据集是IFeatureDataset,则遍历它下面的子类22if(pDatasetisIFeatureDataset)2324pFeatureWorkspace=(IFeatureWorkspace)pAccessWorkspaceFactory.OpenFromFile(strFullPath,0);25pFeatureDataset=pFeatureWorkspace.OpenFeatureDataset(pDataset.Name);26IEnumDatasetpEnumDataset1=pFeatureDataset.Subsets;27pEnumDataset1.Reset();28IDatasetpDataset1=pEnumDataset1.Next();29/如果子类是FeatureClass,则添加到axMapControl1中30if(pDataset1isIFeatureClass)3132pFeatureLayer=newFeatureLayerClass();33pFeatureLayer.FeatureClass=pFeatureWorkspace.OpenFeatureClass(pDataset1.Name);34pFeatureLayer.Name=pFeatureLayer.FeatureClass.AliasName;35axMapControl1.Map.AddLayer(pFeatureLayer);36axMapControl1.ActiveView.Refresh();3738else3940MessageBox.Show(NoFeatureLayer!);414243else4445pFeatureWorkspace=(IFeatureWorkspace)pWorkspace;46pFeatureLayer=newFeatureLayerClass();47pFeatureLayer.FeatureClass=pFeatureWorkspace.OpenFeatureClass(图层名);48pFeatureLayer.Name=pFeatureLayer.FeatureClass.AliasName;49axMapControl1.Map.AddLayer(pFeatureLayer);50axMapControl1.ActiveView.Refresh();515.加载SDE数据库数据1publicESRI.ArcGIS.Geodatabase.IWorkspacearcSDEWorkspaceOpen(Stringserver,Stringinstance,Stringuser,Stringpassword,Stringdatabase,Stringversion)23try45/Createandpopulatethepropertyset6ESRI.ArcGIS.esriSystem.IPropertySetpropertySet=newESRI.ArcGIS.esriSystem.PropertySetClass();7propertySet.SetProperty(SERVER,server);8propertySet.SetProperty(INSTANCE,instance);9propertySet.SetProperty(DATABASE,database);10propertySet.SetProperty(USER,user);11propertySet.SetProperty(PASSWORD,password);12propertySet.SetProperty(VERSION,version);1314ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2workspaceFacto
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安庆安徽省岳顺人力资源服务有限公司公开招聘8名建设笔试模拟试题及答案解析
- 2026福建省闽投资产管理有限公司招聘3人建设笔试备考试题及答案解析
- 2026广东广州市越秀区珠光街道综合事务中心招聘管理员1人建设考试参考题库及答案解析
- 2026中国水利水电第四工程局有限公司招聘建设考试备考题库及答案解析
- 2026年陕西中烟工业招聘岗位表(澄城卷烟厂招22人)建设考试参考试题及答案解析
- 2026榆林人力资源服务有限公司招聘(12人)建设笔试参考题库及答案解析
- 2026河北兴冀人才资源开发有限公司招聘护理助理30人建设笔试参考题库及答案解析
- 2026SKAO国际组织职员招聘 (第2批)建设考试备考题库及答案解析
- 2026年黑龙江中医药大学附属第二医院哈南分院招聘10人建设笔试备考题库及答案解析
- 2026年大连市教育基金会招聘工作人员建设笔试模拟试题及答案解析
- 2026年高考数学二轮复习专题13 椭圆、双曲线与抛物线(复习讲义)(解析版)
- 南瑞集团在线测评试题
- 智慧城市与数字化转型:全域赋能城市高质量发展
- 管道支架施工专项措施
- 设计院安全生产管理制度
- DB15∕T 2158-2021 彩色马铃薯品种“紫彩1号”栽培技术规程
- 八年级必背古诗词合集
- 2024-2025学年湖南省长沙市浏阳市八年级下学期期中语文试题
- SY-T 4214-2024 石油天然气建设工程施工质量验收规范 油气田非金属管道工程
- 2025级全科转岗出科考核试题及答案(消化科)
- 《老年人能力评估实务》智慧健康养老服务全套教学课件
评论
0/150
提交评论