PIE SDK元素位置和显示样式的修改

 

1功能简介

    在数据的处理中会出现根据需求进行元素的位置和显示样式的修改,使元素的形状,空间位置得到改变,下面将介绍基于PIE SDK的元素位置和显示样式的修改。

2功能实现说

2.1.1 实现思路及原理说明

第一步

设置元素Geometry的信息

第二步

获取元素的ID和设置修改后的元素Geometry信息

第三步

修改显示样式

第四步

更新元素

2.1.2 核心接口与方法

接口/类

方法/属性

说明

IGraphicsContainer

UpdateElement(string id, IElement element)

 更新元素

2.1.3示例代码

项目路径

百度云盘地址下/PIE示例程序/08元素绘制/08元素的修改

视频路径

百度云盘地址下/PIE视频教程/08元素绘制/08元素的修改.avi

示例代码

 1         /// <summary>
 2         /// 修改元素的位置和形状 以面元素为例
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void toolStripButton_ModifyElement_Click(object sender, EventArgs e)
 7         {
 8             //1.设置空间信息
 9             IPointCollection polygon = new Polygon();
10             polygon.AddPoint(100, 100, 0);
11             polygon.AddPoint(100, 200, 0);
12             polygon.AddPoint(200, 200, 0);
13             polygon.AddPoint(200, 100, 0);
14             polygon.AddPoint(100, 100, 0);
15 
16             //2.设置面元素信息并在地图控件中显示
17             IPolygonElement polyElement = new PolygonElement();
18             polyElement.Geometry = polygon as IGeometry;
19             polyElement.Symbol = SystemSymbolSetting.Instance.DefaultFillSymbol;
20             string id = polyElement.GetID();            mapControlMain.ActiveView.GraphicsContainer.AddElement(polyElement);           mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
21 
22             //3.设置修改空间信息
23             IPolygonElement polyElement2 = new PolygonElement();
24             IPointCollection polygon1 = new Polygon();
25             polygon1.AddPoint(100, 100, 0);
26             polygon1.AddPoint(100, 300, 0);
27             polygon1.AddPoint(400, 200, 0);
28             polygon1.AddPoint(400, 100, 0);
29             polygon1.AddPoint(100, 100, 0);
30             polyElement2.Geometry = polygon1 as IGeometry;
31 
32             //4.设置修改的符号信息
33             ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbol();
34             simpleFillSymbol.Style = SimpleFillStyle.SFSDense2Pattern;
35             IFillSymbol fillSybol = simpleFillSymbol as IFillSymbol;
36             fillSybol.Color = Color.Green;
37             polyElement2.Symbol = fillSybol;
38 
39             //5修改更新元素            mapControlMain.ActiveView.GraphicsContainer.UpdateElement(id, polyElement2);//更新元素 
40         }
View Code

2.1.4示例截图

 

图一 修改前

 

图二 修改后

posted @ 2018-12-25 10:26  PIESAT  阅读(575)  评论(0编辑  收藏  举报