1. 功能简介

在数据的处理中会用到点元素的绘制,目前PIE SDK支持IMarkerSymbol的点元素的绘制,MarkerSymbol对象是用于修饰点状对象的符号,它包括ArrowMarkerSymbol(箭头形式的符号)、CharacterMarkerSymbol(字符形式的点符号)、MultiLayerMarkerSymbol(多个符号叠加生成的新的点符号)、PictureMarkerSymbol(以图片为背景的点符号)、SimpleMarkerSymbol(简单类型的点符号)这5个不同类型点符号的子类。下面对点元素的绘制功能进行介绍。

2. 功能实现说明

2.1. SimpleMarkerSymbol类型的点元素的绘制

2.1.1.  实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置点的符号

第三步

绘制元素

2.1.2.  核心接口与方法

接口/类

方法/属性

说明

IMarkerElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加要素

ISimpleMarkerSymbol

Style属性

样式

2.1.3. 示例代码

项目路径

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

视频路径

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

示例代码

          /// <summary>
/// 简单点样式的点绘制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawSimplePoint_Click(object sender, EventArgs e)
{
//1.设置空间信息
IPoint point = new PIE.Geometry.Point();
point.PutCoords(, , );
IMarkerElement markerElement = new MarkerElement();
markerElement.Geometry = point as IGeometry; //2.设置符号信息
ISimpleMarkerSymbol simpleMarkerSymbol = new SimpleMarkerSymbol();
simpleMarkerSymbol.Style = SimpleMarkerStyle.SMSCircle;
markerElement.Symbol = simpleMarkerSymbol as IMarkerSymbol; //3.绘制元素,刷新显示 mapControlMain.ActiveView.GraphicsContainer.AddElement(markerElement); mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.1.4. 示例截图

2.2.  ArrowMarkerSymbol类型的点元素的绘制

2.2.1. 实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置点的符号

第三步

绘制元素

2.2.2 . 核心接口与方法

接口/类

方法/属性

说明

IMarkerElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加要素

IArrowMarkerSymbol

Length属性

符号的长度

Width属性

符号的宽度

2.2.3. 示例代码

项目路径

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

视频路径

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

示例代码

         /// <summary>
/// 箭头填充样式的点绘制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawArrowMarkerSyPoint_Click(object sender, EventArgs e)
{
IPoint point = new PIE.Geometry.Point();
point.PutCoords(, , );
IMarkerElement markerElement = new MarkerElement();
markerElement.Geometry = point as IGeometry; //2.设置符号信息
IArrowMarkerSymbol arrowMarkSymbol = new ArrowMarkerSymbol();
arrowMarkSymbol.Length = ;
arrowMarkSymbol.Width = ;
markerElement.Symbol = arrowMarkSymbol as IMarkerSymbol; //3.绘制元素,刷新显示 mapControlMain.ActiveView.GraphicsContainer.AddElement(markerElement); mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.2.4. 示例截图

2.3. CharacterMarkerSymbol类型的点元素的绘制

2.3.1. 实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置点的符号

第三步

绘制元素

2.3.2.  核心接口与方法

接口/类

方法/属性

说明

IMarkerElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加要素

ICharacterMarkerSymbol

CharacterIndex属性

获取或设置字体符号的编号

Font属性

获取或设置字体

IMarkerSymbol

Color,Size等属性

颜色,大小等属性

2.3.3. 示例代码

项目路径

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

视频路径

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

示例代码

         /// <summary>
/// 字符样式填充的点绘制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawCharacterSyPoint_Click(object sender, EventArgs e)
{
//1.设置空间信息
IPoint point = new PIE.Geometry.Point();
point.PutCoords(, , );
IMarkerElement markerElement = new MarkerElement();
markerElement.Geometry = point as IGeometry;
//定义点状符号
ICharacterMarkerSymbol characterMSymbol = new CharacterMarkerSymbol();
characterMSymbol.CharacterIndex = ;//飞机
System.Drawing.Font font = new Font("ESRI Default Marker", );
characterMSymbol.Font = font;
//characterMSymbol,颜色,偏移量
IMarkerSymbol markSymbol = characterMSymbol as IMarkerSymbol;
markSymbol.XOffset = ;
markSymbol.YOffset = ;
markSymbol.Size = ;
markSymbol.Color = Color.Red;
markerElement.Symbol = markSymbol;
mapControlMain.ActiveView.GraphicsContainer.AddElement(markerElement); mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.3.4. 示例截图

2.4.  PictureMarkerSymbol类型的点元素的绘制

2.4.1.  实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置点的符号

第三步

绘制元素

2.4.2. 核心接口与方法

接口/类

方法/属性

说明

IMarkerElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加要素

IPictureMarkerSymbol

CreateFromFile(string filePath)

从文件创建

2.4.3. 示例代码

项目路径

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

视频路径

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

示例代码

         /// <summary>
/// 图片样式填充的点绘制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawPicSyPoint_Click(object sender, EventArgs e)
{
//1.设置空间信息
IPoint point = new PIE.Geometry.Point();
point.PutCoords(, , );
IMarkerElement markerElement = new MarkerElement();
markerElement.Geometry = point as IGeometry; //2.设置符号信息
IPictureMarkerSymbol picMarkSymbol = new PictureMarkerSymbol();
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Picture File|*.bmp";//jpg的格式不支持
openFileDialog.Title = "选择一张图片:";
openFileDialog.Multiselect = false;
if (openFileDialog.ShowDialog() != DialogResult.OK) return;
string picFilePath = openFileDialog.FileName;
bool ok = picMarkSymbol.CreateFromFile(picFilePath);
if (ok)
{
markerElement.Symbol = picMarkSymbol as IMarkerSymbol;
mapControlMain.ActiveView.GraphicsContainer.AddElement(markerElement);
mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
}

2.4.4. 示例截图

2.5.  MultiLayerMarkerSymbol类型的点元素的绘制

2.5.1.  实现思路及原理说明

第一步

设置点的Geometry信息

第二步

设置点的符号

第三步

绘制元素

2.5.2. 核心接口与方法

接口/类

方法/属性

说明

IMarkerElement

Geometry属性

获取或设置Geometry

Symbol属性

获取或设置符号样式

IGraphicsContainer

AddElement(IElement element)

添加要素

IMultiLayerMarkerSymbol

AddLayer(…)

添加点符号样式图层

IMarkerSymbol

Size,Color等属性

获取或设置大小和颜色等属性值

2.5.3. 示例代码

项目路径

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

视频路径

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

示例代码

          /// <summary>
/// 多图层样式填充的点绘制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_DrawMultiLayeSyPoint_Click(object sender, EventArgs e)
{
//1.设置空间信息
IPoint point = new PIE.Geometry.Point();
point.PutCoords(, , );
IMarkerElement markerElement = new MarkerElement();
markerElement.Geometry = point as IGeometry; //2.设置符号信息
// 定义第一个字体符号
ICharacterMarkerSymbol characterMSymbol1 = new CharacterMarkerSymbol();
characterMSymbol1.CharacterIndex = ;//飞机形状
System.Drawing.Font font = new Font("ESRI Default Marker", );
characterMSymbol1.Font = font; // 设置颜色、大小、偏移,角度
IMarkerSymbol markerSymbol1 = characterMSymbol1 as IMarkerSymbol;
markerSymbol1.Size = ;
markerSymbol1.Color = System.Drawing.Color.Red;
markerSymbol1.XOffset = ;
markerSymbol1.YOffset = ;
// markerSymbol1.Angle = 30; // 定义第二个字体符号
ICharacterMarkerSymbol characterMSymbol2 = new CharacterMarkerSymbol();
characterMSymbol2.CharacterIndex = ;//正方形框
characterMSymbol2.Font = font; // 设置颜色、大小、偏移,角度
IMarkerSymbol markerSymbol2 = characterMSymbol2 as IMarkerSymbol;
markerSymbol2.Size = ;
markerSymbol2.Color = System.Drawing.Color.Blue;
markerSymbol2.XOffset = ;
markerSymbol2.YOffset = ;
// markerSymbol2.Angle = 30; IMultiLayerMarkerSymbol multiLayerMSymbol = new MultiLayerMarkerSymbol();
multiLayerMSymbol.AddLayer(markerSymbol2, false);
multiLayerMSymbol.AddLayer(markerSymbol1, false); markerElement.Geometry = point as IGeometry;
markerElement.Symbol = multiLayerMSymbol as IMarkerSymbol;
//3.绘制元素,刷新显示
mapControlMain.ActiveView.GraphicsContainer.AddElement(markerElement);
mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.5.4. 示例截图

PIE SDK点元素的绘制的更多相关文章

  1. PIE SDK线元素的绘制

    1. 功能简介 在数据的处理中会用到线元素的绘制,目前PIE SDK支持ILineSymbol的线元素的绘制,LineSymbol对象是用于修饰线状对象的符号,它包括CartographicLineS ...

  2. PIE SDK文本元素的绘制

    1. 功能简介 在数据的处理中会用到文本元素的绘制,利用ITextElement文本元素接口进行绘制,目前PIE SDK支持ITextSymbol符号接口,TextSymbol对象是用于修饰文字元素对 ...

  3. PIE SDK图片元素的绘制

    1. 功能简介 在数据的处理中会用到图片元素的绘制,利用IPictureElement图片元素接口进行绘制,目前PIE SDK支持IPictureElement元素接口的绘制,下面对图片元素的绘制进行 ...

  4. PIE SDK临时元素的绘制

    1. 功能简介 在数据的处理中会用到临时元素的绘制,用于当前显示:临时元素包括点.线.面.文本.图片五种元素:目前PIE SDK支持这五种元素的绘制,下面对五种临时元素的绘制功能进行介绍. 2. 功能 ...

  5. PIE SDK元素的删除

    1功能简介 元素删除是将根据需求将不符合的元素进行删除,PIE SDK支持元素的删除操作,下面对元素的删除功能进行介绍. 2功能实现说明 2.1.1 实现思路及原理说明 第一步 获取已经选择的元素 第 ...

  6. PIE SDK元素的选择和取消选择

    1功能简介 在数据的查看等时候会用到元素的选择, 目前PIE SDK支持元素的选择和去取消选择功能,下面对这两种功能如何使用进行介绍. 2功能实现说明 2.1元素的选择 2.1.1 实现思路及原理说明 ...

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

    1功能简介 在数据的处理中会出现根据需求进行元素的位置和显示样式的修改,使元素的形状,空间位置得到改变,下面将介绍基于PIE SDK的元素位置和显示样式的修改. 2功能实现说明 2.1.1 实现思路及 ...

  8. PIE SDK元素的保存与打开

    1.功能简介 绘制元素之后需要对元素进一步的保存操作,可以利用PIE SDK的ExportElementsCommand命令保存成xml格式的文件,打开元素可以利用ImportElementsComm ...

  9. PIE SDK面元素的绘制

    1. 功能简介 在数据的处理中会用到线元素的绘制,目前PIE SDK支持IFillSymbol接口,FillSymbol对象是用于修饰填充面状对象的符号,它包括MarkerFillSymbol(由点状 ...

随机推荐

  1. hdu 4741 Save Labman No.004 (异面直线的距离)

    转载学习: #include <cstdio> #include <cstdlib> #include <cstring> #include <algorit ...

  2. 几个SQL小知识(转)

    出处:http://www.cnblogs.com/wuguanglei/p/4205976.html 写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码,系 ...

  3. 如何处理与开发有争议的Bug?

     工作中,测试人员有时会遇到类似的问题:提交了一份软件缺陷报告,可由于某种原因,无论是开发人员还是开发经理就是不愿修改程序.应如何处理这类问题呢?我认为,当对报告出现分歧意见后,测试工程师应首先做如下 ...

  4. C# JackLib系列之字体使用

    字体的使用一般我们都是使用系统字体,这样比较方便,直接 Font font=new Font("微软雅黑",16f,FontStyle.Bold); 但是当我们用到一个系统没有的字 ...

  5. 《Wonderland: A Novel Abstraction-Based Out-Of-Core Graph Processing System》章明星

    在2018年3月28日于美国弗吉尼亚州威廉斯堡结束的ACM ASPLOS 2018会议上,计算机系高性能所师生发表了两篇长文.一篇是我系博士生章明星为第一作者,导师武永卫为通讯作者的“Wonderla ...

  6. vi常用快捷键汇总

      第一部分:光标移动.复制粘贴.查找替换 [Ctrl] + [f]  下一页 [Ctrl] + [b]  上一页  0或[home]  到行首 $或[end]  到行尾  G  到最后一行  gg ...

  7. easyui SWFUpload

    业务背景:实现一个用药人的增加功能,用药人信息中包含附件.如题所示,主要讨论easyui上传的实现.jsp页面代码(弹出框),一个简单的增加页面 div id=addMedicationDlg cla ...

  8. Android 应用检查更新并下载

    1.在Android应用当中都有应用检查更新的要求,往往都是在打开应用的时候去更新下载. 实现的方法是:服务器端提供接口,接口中可以包含在最新APK下载的URL,最新APK的VersionCode,等 ...

  9. C#Thread学习

    一.Thread的使用方式 1.不带参数 (1)使用lambda public static void fun1() { Console.WriteLine($"Main ThreadId: ...

  10. [转]B+Tree图解

    一,    M阶B+树的定义(M阶是指一个节点最多能拥有的孩子数,M>2): 图1.1 3阶B+树 (1)根结点只有1个,分支数量范围[2,m]. (2)除根以外的非叶子结点,每个结点包含分支数 ...