supermapobjects开发实习报告.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
supermapobjects开发实习报告

课程设计报告 实习课程:《SuperMap Objects组件式开发》 姓 名: 学 号: 专 业: 地理信息系统 班 级: 指导教师: 2011年 12月 2日 一、实习目的 掌握利用SuperMap Objects + C#来开发GIS系统。 熟练应用SuperMap来操作地图,并对数据进行处理。掌握SuperMap Objects开发GIS系统的接口,方法。 通过课程设计进一步掌握了地理信息系统与应用课程的有关知识,掌握了GIS系统程序设计与开发课程的相关知识,掌握了进行系统定义、系统总体设计方法、系统详细设计、空间数据库设计方法,掌握了利用开发语言和GIS组件开发进行地理信息系统二次开发的能力,实现地理信息系统的基本功能和扩展功能,掌握面向对象进行程序设计的方法,并且可以建立空间数据库完成图形数据和属性数据的统一管理,将所学的内容加以综合,并且对GIS的二次开发有了整体的理解,真正实现从课本到实践的应用。 二、实习地点 国防科技大楼602 三、实习内容 C#是一种现代的面向对象语言。它使程序员快速便捷地创建基于Microsoft.NET平台的解决方案。a、控件的关联和断开: 调用接口SuperMap.Connect()、SuperWkspMamager.Connect()、SuperLegend.Connct()实现上述控件的关联。 例:this.axSuperMap1.Connect(this.axSuperWorkspace1.CtlHandle); //关联SuperMap,SuperWorkspaceManager控件bool blnOpen = this.axSuperWorkspace1.Open(strOpenPath, );//打开工作空间axSuperWorkspace1.Close();//关闭工作空间 d、打开数据源: 调用SoLayers.AddDataset()打开选中的数据集。 例:soLayer objLy = oaxSuperMap1.Layers.AddDataset(objDt, true);//添加指定数据集到地图窗口中 axSuperMap1.Action = SuperMapLib.seAction.scaSelect; ControlState(seAction.scaSelect);//设置菜单项的状态 f、地图量算: 通过接口SuperMap.TrackingLayer获得跟踪对象;然后通过设置 SuperMap.Action的值将当前鼠标的操作状态为跟踪层上的绘制线;最后在绘制事件SuperMap.Tracking()中获得量算结果,并显示在状态栏中。 量算距离的程序: soTrackingLayer objTLayer = axSuperMap1.TrackingLayer;//获得跟踪层对 axSuperMap1.Action = seAction.scaTrackPolyline; //设置当前鼠标状态为在内存中画折线 (4)准备的数据: 执行属性显示功能的结果 2、查询功能 (1)本章通过使用一幅美国行政区划图实现查找Missouri河、查询Missouri河穿过的州、查询Missouri河200公里以内的县、查询South Dakota州包含的州和关联查询South Dakota州的人口数的功能。本章是在上一功能的基础上开发的,且不需要添加特殊的控件,所以控件和上一功能的一样。 (2)准备的数据: (3)主要使用的接口和操作: a、查找Missouri河: 通过查询操作soDatasetVector.Query(),soRecordset.GetGeometry()获得查询到的对象soGeometry,调用soTrackingLayer.AddEvent()将查询到的对象添加到临时图层上显示。 例: soRecordset objRecordset =((soDatasetVector)axSuperMap.Layers [RiversL@us].Dataset).Query(RIVER_NAME = Missouri1, true, null, );//查询到Missouri河 soGeometry objGeo = objRecordset.GetGeometry();//获得几何对象 axSuperMap1.TrackingLayer .AddEvent(objGeo, null, Missouri1);//显示 b、查询Missouri河穿过的州: 先用a

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档