PIE SDK渲染方案管理

 

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);
View Code

2.4 示例截图

猜你喜欢

转载自www.cnblogs.com/PIESat/p/10168071.html
pie