第51讲 组件式GIS二次开发关键技术.pptVIP

第51讲 组件式GIS二次开发关键技术.ppt

  1. 1、本文档共194页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五讲 组件式GIS二次开发关键技术 张宝一 csuzby@ 主要内容 ArcGIS控件 地图表现 数据操作 地图编辑 地图分析 第一节 ArcGIS控件 ArcGIS为用户提供了若干控件,包括MapControl、PageLayoutControl、TOCControl、ToolbarControl和ReaderControl等,并将一系列的命令、工具和菜单包含在控件命令中,用来同控件配合使用。 ArcGIS控件一旦被嵌入到容器Container中,就可以和命令按钮、组合框等其他可嵌入构件一起调整大小和位置,在应用程序中形成用户界面。 ArcGIS控件不仅提供用户界面,而且提供对其所含组件的直接访问,成为开发应用程序的典型起点。 VC++中使用ArcGIS控件 VC++中使用ArcGIS控件 VC++中使用ArcGIS控件 VC++中使用ArcGIS控件 设置地图控件大小 void CMyMapView::OnSize(UINT nType, int cx, int cy) { int nBorderSize = 1; CFormView::OnSize(nType, cx, cy); // TODO: Add your message handler code here if(m_ctrlMap.GetSafeHwnd() != NULL) { m_ctrlToolbar.MoveWindow(nBorderSize, nBorderSize, cx-2*nBorderSize, 20); m_ctrlTOC.MoveWindow(nBorderSize, 20+2*nBorderSize, int(cx*0.4), cy-3*nBorderSize-20); m_ctrlMap.MoveWindow((int(cx*0.4))+(2*nBorderSize), 20+2*nBorderSize, ((int)(0.6*cx))-(3*nBorderSize), cy-20-3*nBorderSize); } } VC++中使用ArcGIS控件 建立各控件的关联 //设置同伴控件buddy control m_ctrlToolbar.SetBuddyControl(m_ctrlMap.GetObject()); m_ctrlTOC.SetBuddyControl(m_ctrlMap.GetObject()); 第二节 地图表现 地图浏览 图层渲染 显示注记 第二节 地图表现 地图可视化揭示的空间联系: 哪些特征与其他特征连接; 哪些特征与其他特征毗邻; 哪些特征包含在一个面中; 哪些特征相交; 哪些特征在其他特征附近; 特征高程上的差异; 特征间的相对位置。 第二节 地图表现 地图能做什么? 识别在某个位置有某物 定位你在何处 识别分布、关系不易看清的趋势 将各种来源的数据集成到一个公共的地理参考中 通过组合和叠置数据来解决空间问题 找到一地到另一地的最佳路径 对未来的事件进行建模 第二节 地图表现——地图浏览 地图浏览包括漫游、缩放、全图显示、显示前一视图、显示后一视图等,是包括一个图形系统的最基本的功能。 ArcGIS提供数据视图(Data View)与页面视图(Layout View)两种地图表现方式,地图的这两个视图都应该提供相应的浏览工具。 实现基本的浏览功能 1. 添加资源 2. 添加枚举型成员变量 enum BROWSERTASK { eViewUndefined, eViewZoomIn, eViewZoomOut, eViewPan } m_eCurView; 实现基本的浏览功能 实现基本的浏览功能 void CMyMapView::OnViewFullview() { // TODO: Add your command handler code here m_ctrlMap.SetExtent(m_ctrlMap.GetFullExtent()); } void CMyMapView::OnViewPan() { // TODO: Add your command handler code here m_eCurView = eViewPan; m_ctrlMap.SetMousePointer(53); } void CMyMapView::OnViewZoomin() { // TODO: Add your command handler code here m_eCurView = eViewZoomIn; m_ctrlMap.SetMo

文档评论(0)

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

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

1亿VIP精品文档

相关文档