1. 功能简介
在数据种类较多、渲染规则复杂的情况下,逐个设置其渲染方式是一件繁琐的工作。PIE SDK提供了一种省力省心的办法,
PIE SDK提供栅格数据渲染方案的打开与保存。能够将配色方案存储为xml文件,并能通过读取xml文件,实例化出Render对象,这将简化同类数据的渲染配置工作,并减少开发人员的代码维护。
栅格数据渲染方案控制主要是在程序开发之前,根据数据分类组织对应的渲染方案,实现在程序中能够动态的加载显示方案文件,对指定图层进行渲染的。
2. 功能实现说明
2.1 实现思路及原理说明
渲染方案保存 |
|
第一步 |
选中要导出渲染方案的图层。 |
第二步 |
选择渲染方案存储的路径,调用Pie SDK导出渲染方案的方法即可 |
渲染方案打开 |
|
第一步 |
选择渲染方案文件和目标栅格图层 |
第二步 |
调用Pie生产Render的方法,赋值目标栅格图层的Render属性 |
第三步 |
地图视图刷新 |
渲染方案控制 |
|
第一步 |
组织渲染方案文件进行存储。 |
第二步 |
程序中进行加载和界面显示 |
第三步 |
通过事件触发加载渲染方案方法。 |
第四步 |
地图视图刷新 |
2.2 核心接口与方法
接口/类 |
方法 |
说明 |
渲染方案保存与打开 |
||
Carto.RenderFactory |
ImportFromFile() |
通过渲染方案生成Render |
ExportToFile |
将渲染方案存为xml文件 |
|
渲染方案控制 |
||
Carto.RenderFactory |
ImportFromFile() |
通过渲染方案生成Render |
2.3 示例代码
项目路径 |
百度云盘地址下/PIE示例程序/07图层渲染/13.栅格渲染方案管理 |
数据路径 |
百度云盘地址下/PIE示例数据/栅格数据/ FY/FY4A/ |
视频路径 |
百度云盘地址下/PIE视频教程/07图层渲染/13.栅格渲染方案管理.avi |
示例代码 |
|
1 方法(一)保存显示方案 2 if (mapControlMain.ActiveView.CurrentLayer == null)return; 3 IRasterLayer rasterLayer = mapControlMain.ActiveView.CurrentLayer as IRasterLayer; 4 if (rasterLayer == null)return; 5 SaveFileDialog save = new SaveFileDialog(); 6 save.Title = "保存显示方案"; 7 save.Filter = "Xml文件(*.xml)|*.xml"; 8 if (save.ShowDialog() == DialogResult.OK) 9 { 10 IRasterRender pRender = rasterLayer.Render; 11 PIE.Carto.RenderFactory.ExportToFile(pRender, save.FileName); 12 } 13 14 方法(二)加载显示方案 15 if (mapControlMain.ActiveView.CurrentLayer == null)return; 16 IRasterLayer rasterLayer = mapControlMain.ActiveView.CurrentLayer as IRasterLayer; 17 if (rasterLayer == null) return; 18 OpenFileDialog open = new OpenFileDialog(); 19 open.Title = "加载显示方案"; 20 open.Filter = "Xml文件(*.xml)|*.xml"; 21 if (open.ShowDialog() == DialogResult.OK) 22 { 23 IRasterRender pRender = PIE.Carto.RenderFactory.ImportFromFile(open.FileName); 24 rasterLayer.Render = pRender; 25 } mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); |