地信开发实习报告

上传人:夏** 文档编号:385845065 上传时间:2023-06-29 格式:DOC 页数:28 大小:1.20MB
返回 下载 相关 举报
地信开发实习报告_第1页
第1页 / 共28页
地信开发实习报告_第2页
第2页 / 共28页
地信开发实习报告_第3页
第3页 / 共28页
地信开发实习报告_第4页
第4页 / 共28页
地信开发实习报告_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《地信开发实习报告》由会员分享,可在线阅读,更多相关《地信开发实习报告(28页珍藏版)》请在金锄头文库上搜索。

1、地理信息系统开发与应用实习报告学生# 翟德坤专业年级 09级空间 班级班组一班实习日期指导教师董 超 #农业大学ArcGIS二次开发教学实习一、目的意义通过实习使学生进一步理解地理信息系统的开发模式,熟悉ArcGIS二次开发环境,能够自行定制用户界面,对AO中的主要对象模型,包括Map、Element、MapGrid、Style、Symbol和Geodatabase等对象模型简单应用.进一步巩固和深化理论知识,并利用AO中的MapControl控件结合实际案例进行开发,锻炼学生理论与实践相结合的能力.培养学生的应用能力和创新能力,培养学生严肃认真、实事求是、吃苦耐劳、团结协作的精神.要求学生必

2、须参加每一个实习环节,协作完成实习任务,独立完成实习报告.二、实习内容:1、熟悉地理信息系统软件二次开发环境;2、利用地理信息系统软件或开发平台,进行简单的二次开发;3、利用MapControl控件制作相对鹰眼程序.三、时间安排时间任务周一上午实习动员、熟悉开发环境,练习阅读OMD图.周一下午练习VBA开发实例.见附件AO周二上午练习VBA开发实例.见附件AO周二下午练习课件一、二中的例子.周 三在二次开发环境中,练习第三章:地图是如何组成的实例.熟悉Map等对象模型.周 四练习第五章:AE地图的显示中的实例,熟悉symbol等对象.周 五练习MapControl控件的使用.结合实际,利用Ma

3、pControl控件制作鹰眼程序.最后总结完成实习报告.四、实习内容与成果一熟悉开发环境ArcMap 是 ArcGIS 家族的成员之一,它内置了一种集成编程环境VBAVisaul Basic for Apllications.通过 VBA 编程,用户不但可以扩展 ArcMap的菜单、工具条等,而且可以完成大多数用户的特定需求.ArcMap 中 VBA 编程的方法一般步骤如下:写 VBA 宏直接在 VBA 编辑器中编辑函数和过程 1、如图 1-1-1,单击菜单栏中的命令,选择的项, 直接启动 ArcMap 的 VBA 编辑器;或者选择的项,进入如图 1-1-2 所示 Macro 对话框,在Mac

4、ro Name文本框中输入要创建的宏的名称,并点按钮,启动 VBA 编辑器.图 1-1-1图 1-1-22、在图 1-1-3 所示的窗口中,用户可以根据实际选择在 Normal 节点或者 Project节点的 ThisDocument、Forms、Modules 中编写宏函数或过程,Normal 节点下所写的宏系统自动保存,除非用户删除,否则它将始终存在并在任何工程中都有效;而在 Project 节点下所写得宏随工程保存如不保存工程,则宏也将不被保存,并只在工程中有效.图 1-1-33、运行 VBA 宏 在 VBA 编辑器中写好 VBA 代码后,有两种方式运行:第一,点击 VBA 编辑器工具条

5、中的 运行按钮,可立即运行写好的代码;第二,退出 VBA 编辑器,重新启动 Macro 对话框,如图 2,选择要运行的 VBA 宏名称,点击按钮即可运行相应的 VBA 宏.二练习VBA开发实例.1.实例一功能: 1.显示当前地图名称代码: Sub ZDKmacros Dim pMxDocument As IMxDocument Set pMxDocument = Application.Document MsgBox pMxDocument.FocusMap.Name End Sub结果:2.实例二功能: 1.显示地图集中第一幅地图的地图名称代码:Sub ZDKmacros2 Dim pMxD

6、ocument As IMxDocumentDim pMaps As IMapsDim pMap As IMapSet pMxDocument = Application.Document Set pMaps = pMxDocument.MapsIf pMaps.Count 1 Set pMap = pMaps.Item MsgBox pMap.Name End If End Sub结果:3.实例三功能: 1.显示当前地图层要素层层数代码:Sub ZDKmacros3 Dim pMxDocument As IMxDocument Dim pMap As IMap Dim lCount As L

7、ong Dim lIndex As Long Set pMxDocument = Application.Document Set pMap = pMxDocument.FocusMap lCount = 0 For lIndex = 0 To If TypeOf pMap.Layer Is IFeatureLayer Then lCount = lCount + 1 计数器加1 End If Next lIndex MsgBox Number of the feature layers & _ in the active map: & lCount End Sub结果:4.实例四功能: 1.

8、 显示地图集中第一幅地图的地图名称2. 显示错误数和错误信息代码:Sub ZDKmacros4Dim pMxDocument As IMxDocument Dim pMaps As IMaps Dim pMap As IMap On Error GoTo SUB_ERRORSet pMxDocument = Application.Document Set pMaps = pMxDocument.MapsSet pMap = pMaps.Item MsgBox pMap.Name Exit SubSUB_ERROR:MsgBox Error: & Err.Number & - & Err.De

9、scription End Sub结果:1无错误2有错误5.实例五功能: 1. 使当前地图的第一图层变为可视可视的话不变,不可视变为可视2. 刷新当前视图并刷新视图表代码:Public Sub ZDKmacros5Dim pMxDocument As IMxDocumentDim pMap As IMapDim pFeatureLayer As IFeatureLayerDim pActiveView As IActiveViewDim pContentsView As IContentsViewSet pMxDocument = ThisDocument Set pMap = pMxDocu

10、ment.FocusMap Set pFeatureLayer = pMap.Layer If Not pFeatureLayer.Visible ThenpFeatureLayer.Visible = TrueEnd If Set pActiveView = pMap pActiveView.Refresh Set pContentsView = pMxDocument.CurrentContentsViewpContentsView.Refresh pFeatureLayer End Sub结果:1. 未使用前2. 使用后6.实例六功能: 1. 按NAME 查询要素,查找shandong字

11、段.代码:Sub ZDKmacros6Dim pColor As IRgbColorDim pMxdocument As IMxDocumentSet pMxdocument = Application.DocumentDim pMap As IMapSet pMap = pMxdocument.FocusMapDim pFeaturelayer As IFeatureLayerSet pFeaturelayer = pMap.LayerDim Cityname As StringCityname = ShandongDim pFeature As IFeatureSet pFeature =

12、 GetCityFeatureDim pFeatureS As IFeatureSelectionSet pFeatureS = pFeaturelayerpFeatureS.Add pFeatureSet pFeatureS.SelectionColor = getRGB Dim pDoc As IMxDocumentDim pActiveView As IActiveView Set pDoc = Application.Document Set pActiveView = pDoc.activeView pActiveView.Extent = pDoc.activeView.FullE

13、xtent pActiveView.Refresh End SubPrivate Function GetCityFeature As IFeatureDim pFeatureClass As IFeatureClassDim pQueryFilter As IQueryFilterDim pFeatureCursor As IFeatureCursor Set pFeatureClass = pFeaturelayer.FeatureClassSet pQueryFilter = New QueryFilter pQueryFilter.WhereClause = NAME_1 = & strCityName & Set pFeatureCursor = pFeatureClass.SearchDim pFeature As IFeature Set pFeature = pFeatureCursor.NextFeature If pFeature Is Nothing Then Set GetCityFeature = Nothing ElseSet GetCityFeature = pFeature End IfEnd FunctionPublic Function getRGB As IColor

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号