PIE SDK矢量分級渲染

 

1. 功能簡介

    分級渲染是矢量的一種數據表達方式。經過選取一個字段,並根據實際須要對字段的數據進行分級,並對每一級設置不一樣的符號,已達到區分顯示的效果。ide

2. 功能實現說明

2.1. 實現思路及原理說明

第一步spa

實例化矢量分級渲染對象code

第二步視頻

設置分級渲染的字段對象

第三步blog

設置分級數教程

第四步接口

設置不一樣分級的值及對應的符號ip

第五步ci

矢量渲染器接口轉換

第六步

矢量圖層渲染賦值

2.2.  核心接口與方法

接口/類

方法

說明

 

 

Carto. IFeatureClassBreaksRender

Field

分級字段

ClassCount

分級數

SetBreak ()

設置分級對應數值

SetSymbol()

設置不一樣級別對應的符號

2.3. 示例代碼

項目路徑

百度雲盤地址下/PIE示例程序/07圖層渲染/02.矢量分級渲染

數據路徑

百度雲盤地址下/PIE示例數據/矢量數據/Shape/省級行政區.shp

視頻路徑

百度雲盤地址下/PIE視頻教程/07圖層渲染/02.矢量分級渲染.avi

示例代碼

 1 /// <summary>
 2 /// 分級渲染方法
 3 /// </summary>
 4 /// <param name="sender"></param>
 5 /// <param name="e"></param>
 6 private void toolStripButton_Classify_Click(object sender, EventArgs e)
 7 {
 8     if (mapControlMain.ActiveView.CurrentLayer == null) return;               
 9     IFeatureLayer featureLayer = mapControlMain.ActiveView.CurrentLayer as IFeatureLayer;
10     if (featureLayer == null) return;
11             
12     //一、分級字段,根據實際狀況進行修改
13     string classifyField ="Total_Coll";           
14     //建立FeatureClassBreaksRender,設置參數
15     IFeatureClassBreaksRender featureClassBreaksRender = new FeatureClassBreaksRender();
16     featureClassBreaksRender.Field = classifyField;  //設置渲染字段
17     featureClassBreaksRender.ClassCount = 3;//設置分級數
18     featureClassBreaksRender.SortClassesAscending = true;
19 
20     //分級數、分級的值,根據實際狀況自定義修改便可
21     //二、設置分級級別
22     featureClassBreaksRender.SetBreak(0, 20);
23     featureClassBreaksRender.SetBreak(1, 40);
24     featureClassBreaksRender.SetBreak(2, 70);
25 
26     //三、 定義簡單填充符號
27     IFillSymbol fillSymbol0 = new SimpleFillSymbol();
28     fillSymbol0.Color = Color.FromArgb(255, 0, 0);
29     IFillSymbol fillSymbol1 = new SimpleFillSymbol();
30     fillSymbol1.Color = Color.FromArgb(0, 255, 0);
31     IFillSymbol fillSymbol2 = new SimpleFillSymbol();
32     fillSymbol2.Color = Color.FromArgb(0, 0, 255);
33 
34     //設置分級符號
35     featureClassBreaksRender.SetSymbol(0, fillSymbol0);
36     featureClassBreaksRender.SetSymbol(1, fillSymbol1);
37     featureClassBreaksRender.SetSymbol(2, fillSymbol2);
38 
39     //四、設置分級標籤
40     featureClassBreaksRender.SetLabel(0, "第一級");
41     featureClassBreaksRender.SetLabel(1, "第二級");
42     featureClassBreaksRender.SetLabel(2, "第三級");
43 
44     //五、進行渲染並刷  新
45     featureLayer.Render = featureClassBreaksRender as IFeatureRender;
46     mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
47 }
View Code

2.4. 示例截圖

相關文章
相關標籤/搜索