1.    功能简介

专题图是突出且较完备的表示一种或几种自然或社会经济现象,从而使地图起到专门化的作用。与普通地图不同,专题图的表示内容丰富多彩,多种多样。在实际业务应用中经常会用同一张地图出很多个专题图,为此PIESDK提供了不同模板之间切换的功能。

2. 功能实现说明

2.1.切换模板

切换模板最主要的就是地图的克隆,以及地图文档的释放与加载。

2.2. 实现思路及原理说明

第一步

选择模板文件

第二步

创建一个mapDocument,并打开模板文件

第三步

克隆当前视图中的Map,并获取模板的PageLayout

第四步

调用IPageLayout的ReplaceMaps方法替换为当前地图

第五步

将IPageLayoutControl.PageLayout属性替换为新的PageLayout

第六步

释放原来的地图文档

第七步

刷新视图

2.3 . 核心接口与方法

接口/类

方法

说明

IMapDocument

Save ()

保存地图文档

IPageLayout

ReplaceMaps()

替换地图

2.4. 示例代码

项目路径

百度云盘地址下/PIE示例程序/09.专题制图//04切换模板

代码位置

FormPagelayoutDemo. barButtonItem_change_ItemClick方法

视频位置

百度云盘地址下/PIE示例程序/09.专题制图/04切换模板.avi

示例代码

 1          /// <summary>
 2         /// 切换模板
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void barButtonItem_change_ItemClick(object sender, ItemClickEventArgs e)
 7         {
 8              //1.选择模板文件
 9             OpenFileDialog openFileDialog = new OpenFileDialog();
10             openFileDialog.Title = "请选择要打开的模板:";
11             openFileDialog.Multiselect = false;
12             openFileDialog.Filter = "pmd|*.pmd|All Files|*.*";
13             if (openFileDialog.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
14
15             string filePath = openFileDialog.FileName;
16             string fileName = System.IO.Path.GetFileNameWithoutExtension(filePath);
17             //2.打开模板
18             IMapDocument mapDocument = new MapDocument();
19             if (!mapDocument.Open(filePath)) return;
20
21             //克隆map;
22             IMap map = m_pageLayoutControl.FocusMap.Clone();
23             IList<IMap> listMap = new List<IMap>();
24             listMap.Add(map);
25             //替换地图
26             mapDocument.GetPageLayout().ReplaceMaps(listMap);
27             m_pageLayoutControl.PageLayout = mapDocument.GetPageLayout();
28             //释放地图文档
29             ((m_pageLayoutControl as Control).Tag as IDisposable).Dispose();
30             (m_pageLayoutControl as Control).Tag = mapDocument;           m_pageLayoutControl.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
31         }

View Code

2.5. 示例截图

转载于:https://www.cnblogs.com/PIESat/p/10177521.html

PIE SDK专题制图切换模板相关推荐

  1. PIE SDK CommandTool工具命令一览表

    PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...

  2. Phpcms v9专题分类增加模板设置的方法

    Phpcms v9专题设置里面,默认专题子分类是无模板设置的,本文教你通过官方论坛给出的教程实现专题分类增加模板设置.先来看看默认专题子分类设置界面: 修改后的的专题子分类设置界面多了模板设置: 修改 ...

  3. PIE SDK点元素的绘制

    1. 功能简介 在数据的处理中会用到点元素的绘制,目前PIE SDK支持IMarkerSymbol的点元素的绘制,MarkerSymbol对象是用于修饰点状对象的符号,它包括ArrowMarkerSy ...

  4. PIE SDK影像坏线修复

    1.算法功能简介 坏条带的由来:2003年5月31日,Landsat-7ETM+机载扫描行校正器(SLC) 故障,导致此后获取的影像出现了数据条带丢失,严重影响了Landsat ETM遥感影像的使用. ...

  5. PIE SDK与OpenCV结合说明文档

    1.功能简介 OpenCV是基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 ...

  6. PIE SDK矢量数据的读取

    1.功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联.栅 ...

  7. 大漠多账号循环登录任务自动切换模板大漠绑定后台绑定游戏

    采用了一键后台绑定游戏窗口,包含了游戏窗口句柄的获取,采用EnumWindowByProcess枚举窗口句柄,采用SetWindowState 激活窗口,绑定可以根据自己的游戏,这里采用BindWin ...

  8. 大漠多线程循环任务自动切换模板判断账号登陆成功

    本判断游戏角色是否登陆成功,录制了模拟日常任务,是否出现游戏画面,退出游戏等等小的环节,因为是自动登录,自动切换账号,所以,判断游戏是否登录成功,这一环节就是必须的,我们不能根据游戏进程是否存在,以为 ...

  9. 大漠多账号循环登录任务自动切换模板免注册调用大漠

    免注册调用大漠类模块,采用了大漠VIP类模块生成工具,快速导入易语言,生成大漠的类模块,免注册的好处,就是不用注册到系统,减少杀软的拦截. 免注册调用大漠源码: .版本 2 .支持库 iext.局部变 ...

  10. PIE SDK傅里叶变换

    1.算法功能简介 傅里叶变换能把遥感图像从空域变换到只包含不同频域信息的频域中.原图像上的灰度突变部位(如物体边缘).图像结构复杂的区域.图像细节及干扰噪声等,经傅里叶变换后,其信息大多集中在高频区: ...

最新文章

  1. 【怎样写代码】实现对象的复用 -- 享元模式(二):解决方案
  2. Linux系统中FTP的配置(图文详解-全)
  3. Date扩展 正则匹配
  4. 【转】1:C#的三种异步的详细介绍及实现
  5. matlab案例_基于matlab和frost平台的cassie案例足式机器人运动学和动力学计算实现过程...
  6. Qt工作笔记-UDP多线程数据处理及发送(简单实例)
  7. ora03135连接失去联系 进程id 0_Daemon 进程的创建
  8. Guava学习笔记(1)--安全地使用null(Using and avoiding null)
  9. Google浏览器清理缓存快捷键是什么
  10. arcgis实现cad图斑批量导入后,图斑颜色设置cad图层颜色保持一致
  11. split 逗号或分号_分号或不分号
  12. linux查看目录是不是btrfs,Linux之btrfs详解2015082901
  13. amd用不了android studio,解决AMD无法使用Android studio问题
  14. YTU 3921 游戏
  15. 物联网发展方向(复制来的)
  16. CartoonShader
  17. 陌上花开,可缓缓归矣——2016年校招总结
  18. background-attachment 没有效果
  19. RoboMaster遥控器调参以及左上角拨轮开启教程
  20. 基于ARM处理器的LCD控制及触摸屏接口设计

热门文章

  1. 系统缓存全解析2:页面输出缓存
  2. Linux内核网络参数的意义及应用
  3. 功能增强的进度条控件(源码)
  4. phone html5,[操作系统]HTML5 On Windows Phone (2) windows phone mango上使用HTML5并与HTML5交互...
  5. python大作业五子棋人人对战_五子棋总结(人人对战)
  6. 虚拟机中qemu模拟开发板启动过程,使用nfs挂载根文件系统
  7. linux 线程同步与互斥:互斥锁 多线程访问共享资源时,使用互斥锁进行控制
  8. macos安装vscode_什么!你还没有安装Flutter!
  9. ubuntu安装python库_ubuntu下的python请求库的安装
  10. leftjoin多了性能下降_SBR胶乳改性剂用量对乳化沥青及微表处性能影响