GIS程序设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实习一 创建空间书签 重点提示:Windows7(64位)电脑此处应该修改为否则会出错 实习准备: 文件—新建—项目。在Engine中找到下图项目,新建。 在地图控件中,加载世界地图。 点击鼠标右键—属性,找到你该文件所在的位置。(下图为我的路径) 有以上准备后,开始实习,创建空间书签 知识背景: 利用IAOIBookmark 接口获得一个书签的名称以及其位子(如下简单表示) ISpatialBookmark接口,定义了各种书签的所有公共功能(如书签的名称属性和缩放到相应位置的功能) IEnumSpatialBookmark接口,获取书签序列(Provides access to members that control the spatial bookmark list. ) ZoomTo函数通过IActiveView::Extent改变地图的显示范围 需要添加ESRI.ArcGIS.Geometry类库 设计思路: 利用IAOIBookmark 接口获得一个书签的名称以及其位子,将该接口实例化 新建创建书签窗口生成响应函数 把创建好的书签添加到地图对象Map中 在创建完书签后,对其进行调用,将书签的名称添加到主窗口中的组合框中 最后实现书签的调用,以及地图显示范围的改变 实习步骤: 在主窗体菜单栏中添加菜单项(单击即可),文本属性设为“创建书签”(亦可直接双击修改);控件名为“miBookmark”如下图,在属性中设置 添加组合框,用于保存已创建的书签名和依据其所对应的书签改变地图的显示范围,控件名设为“cbBookmark” 添加引用(Reference):在解决方案资源管理器中,右键单击项目,找到,单击进入后找到该实习需要的ESRI.ArcGIS.Geometry,如下图 接下来添加“书签名称设置”窗体:项目—添加Windows窗体中找到下图项目;然后在Windows窗体上,添加按钮以及文本框(工具栏中找) 放到Windows窗体比较合适的位置。当然此处仍需设置相关属性。方法:在属性栏中修改;button控件名为“btnOk”;textbox控件名为“tbName”。 Windows窗体 双击“创建”,生成点击事件函数,添加响应函数,用于创建书签。代码如下: 注:在生成点击函数中我们可以知道该项目的空间名即_Click到之前第一个空格,例如此处为btnOK,下文若遇到有没有提到控件名的情况可依此理解 private void btnOK_Click(object sender, EventArgs e) { string name = tbName.Text.Trim(); if (string.Empty == name) { MessageBox.Show(书签名不能为空!); } else { //访问地图所包含的书签,并获取书签序列。 IMapBookmarks bookmarks = m_map as IMapBookmarks; IEnumSpatialBookmark enumSpatialBookmark = bookmarks.Bookmarks; //对地图所包含的书签进行遍历,判断是否有重名。 enumSpatialBookmark.Reset(); ISpatialBookmark spatialBookmark = enumSpatialBookmark.Next(); while (spatialBookmark != null) { //如果书签名称已经存在 if (name == spatialBookmark.Name) { MessageBox.Show(名称已存在,请重新命名!); this.Close(); return; } spatialBookmark = enumSpatialBookmar

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档