1. 功能简介
在PIE SDK中,所有的制图元素、视图范围以及排版等都可以保存成一个模板,以供多次重复使用。使用模板时只需要打开该模板,加载相应数据,就可以直接出图,省去了重复制作图幅的麻烦,方便快捷。
每个地图模板都是一个地图文档(PmdContents),它被保存为*.pmd文件。
[模板文件] [植被指数模板]
2. 功能实现说明
2.1. 保存模板
使用IMapDocument接口的Save()方法保存地图文档。
2.2. 实现思路及原理说明
第一步 |
获取当前地图文档 |
第二步 |
调用IMapDocument的Save方法 |
2.3. 核心接口与方法
接口/类 |
方法 |
说明 |
IMapDocument |
Save () |
保存地图文档 |
IMapDocument |
GetDocumentFilename() |
获取当前文档路径 |
2.4. 示例代码
项目路径 |
百度云盘地址下/PIE示例程序/09.专题制图/02保存模板 |
代码位置 |
FormPagelayoutDemo. barButtonItem_save_ItemClick方法 |
视频位置 |
百度云盘地址下/PIE示例程序/09.专题制图/02保存模版.avi |
示例代码 |
|
1 /// <summary> 2 /// 保存地图工程 3 /// </summary> 4 private void SavePmd() 5 { 6 //获取当前地图文档 7 IMapDocument mapDocument = (pageLayoutControl1 as Control).Tag as IMapDocument; //PIE DesktopCommand中可用m_Application.MapDocument来获取 8 if (mapDocument == null) 9 { 10 mapDocument = new MapDocument(); 11 mapDocument.ReplaceContents(pageLayoutControl1); 12 } 13 14 //保存文档 15 string pmdFilePath = mapDocument.GetDocumentFilename(); 16 if (string.IsNullOrEmpty(pmdFilePath)) 17 { 18 SaveFileDialog saveFileDialog = new SaveFileDialog(); 19 saveFileDialog.Title = "地图文档保存为:"; 20 saveFileDialog.Filter = "PMD|*.pmd"; 21 if (saveFileDialog.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; 22 pmdFilePath = saveFileDialog.FileName; 23 if (string.IsNullOrEmpty(pmdFilePath)) return; 24 25 if (!pmdFilePath.EndsWith(".pmd")) 26 { 27 pmdFilePath = pmdFilePath + ".pmd"; 28 } 29 } 30 mapDocument.SaveAs(pmdFilePath, false, false); 31 } |