欢迎来到天天文库
浏览记录
ID:22583029
大小:1.68 MB
页数:40页
时间:2018-10-30
《gis软件设计与实现实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、GIS软件设计与实现实验报告姓名:王兴平班级:测绘1103班学号:0145110620指导老师:李光强2015/1/5实验一数据加载与图层控制、实验目的1.了解组件ArCEngine9.3开发环境的构建,以及相关软件的安装;2.掌握AE组件实现数据加载、缩放、平移等简单的功能;3.掌握程序代码实现数据加载、缩放、〒移、拉窗放大等功能;4.掌握使用程序代码控制阁层讨视性、阁层移动、阁层移除等操作。二、实验准备完成时间:2学吋预备知识:实验的操作系统环境为WindowsXP以上操作系统,要基于ArcEngine进行应用开发,系统中需要安装有:Ar
2、cGIS9.3、ArcEngine9.3和C#2005以上版本相应软件。实验数据:文件夹“中国地图”三、实验步骤及方法1.创建C#工程,添加窗体及相关AE组件,窗体设计如下阁所示:aForml口‘Lb念白或攻⑬O二®日与Map彐0BOUNTjine彐0BOUNT-poly□□0bou2j4p□运行程序,并点击工貝栏上按钮,记读各功能按钮的操作。1.利用程序代码添加SHP文件,并完成SHP加载、地图缩放、全图、平移、拉窗放大等操作,设计界則如下图所示:要求:1)工具栏上的“打丌”按钮,功能是通过打开文件对话框,允许一次加载多个SHP文件,而且在
3、对话框屮仅显示SHP文件;2)平移、放大、缩小功能按钮的操作顺序过程必须是用户先点击按钮,然后再点击地图时才完成相应功能操作;3)工具栏上的最后一个按钮为拉銜放大,即用户点击该按钮吋,在地图可以画出一个矩形,然后将矩形内的地阁放大。2.使川稈序代码控制图层可见性及移动图层,界面设计如K图所示:注意:1)工具栏后叫个按钮依次为:上移选中图层、K移选中图层、移除选中图层操作;2)图层列表里,依据图层是否选中而设置图层的可见性。3.为地图添加右键菜单,在右键菜单中实现全图、平移、放大、缩小、信息(identity)功能,使用鼠标中键实现地图平移。_
4、7jcounlies—china,shp五.实验主耍代码privatcvoidLoadFi1c_Click(objoctsender,EvcntArgse){OpcnEilcDialogdlg=ne'vOpenh'ilel)ialog();dig.Filter="Shapefilc(*.shp)
5、*.shp,z;dig.Title=〃打开Shape数据文档";dig.Multiselect=true;//记义存放打开TFeatureClass的字符中数组stringLJFilePath;if(dig.ShowDialogO==DialogRc
6、sult.OK){FilePath=newstring[dlg.FilcNames.Length]:FilePath=dig.FileNames:if(FilePath.Length〉0){stringWorkSpacePath=System.10.Path.GetDirectoryName(FilePath[0]);string[]ShapcFilcPath=newstring[FilePath.Length];//获得打开IFeatureClass的字符串数组for(inti=0;i7、ilePath[i]=System.10.Path.GetFileName(FilePath[i]);}IWorkspriceFactorypWorkspaceFactory=newSh叩efi1eWorkspaceFacLoryClass():IWorkspacepWorkspace=pWorkspaceh'actory.OpcnFroinb'i1e(WorkSpaccPath,0);IFcaturcWorkspaccpFeaturcWorkspace=pWorkspaceasIFcaturcWorkspacc:for(inti=0;KSh8、apeFilePath.Length;i++){TFeatureClasspEeatureClass=pFeatureWorkspace.OpenFeatureClass(ShapeFilePath[i]):IDataselpDataset=pFeatureClassasIDataset;IFeatureLayerpFeatureLayer=newFeatureLayerClass();pFeatureLayer.FeatureClass=pFeatureClass;pFcatureLayer.Name=pDataset.Name;TLaye9、rpLayer=pEeatureLayerasTLayer:this.axMapControll.Map.AddLayer(pLayer):this.axMapCo
7、ilePath[i]=System.10.Path.GetFileName(FilePath[i]);}IWorkspriceFactorypWorkspaceFactory=newSh叩efi1eWorkspaceFacLoryClass():IWorkspacepWorkspace=pWorkspaceh'actory.OpcnFroinb'i1e(WorkSpaccPath,0);IFcaturcWorkspaccpFeaturcWorkspace=pWorkspaceasIFcaturcWorkspacc:for(inti=0;KSh
8、apeFilePath.Length;i++){TFeatureClasspEeatureClass=pFeatureWorkspace.OpenFeatureClass(ShapeFilePath[i]):IDataselpDataset=pFeatureClassasIDataset;IFeatureLayerpFeatureLayer=newFeatureLayerClass();pFeatureLayer.FeatureClass=pFeatureClass;pFcatureLayer.Name=pDataset.Name;TLaye
9、rpLayer=pEeatureLayerasTLayer:this.axMapControll.Map.AddLayer(pLayer):this.axMapCo
此文档下载收益归作者所有