1、前言

GIS系统的开发过程中,地图符号化其实是非常重要的一块内容。ArcEngine为我们提供了很多种符号样式,现在就来介绍一下ArcEngine中的点状符号。

2、常用的点符号

2.1、简单符号

2.2、箭头符号

2.3、叠加符号

2.4、字符标记符号
2.5、图片符号

3、实现代码

using System;
using System.Windows.Forms;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Display;
using stdole;namespace Win
{public partial class frmMain : Form{public frmMain(){InitializeComponent();axMapControl1.AddShapeFile(@"C:\Users\DSF\Desktop\data", @"point.shp");}/// <summary>/// 简单点符号/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnSimpleMarkerSymbol_Click(object sender, EventArgs e){// 点符号颜色IRgbColor pMarkerSymbolColor = new RgbColor();pMarkerSymbolColor.Red = 255;pMarkerSymbolColor.Green = 0;pMarkerSymbolColor.Blue = 0;// 轮廓线颜色IRgbColor pOutlineColor = new RgbColor();pOutlineColor.Red = 0;pOutlineColor.Green = 0;pOutlineColor.Blue = 255;// 创建符号ISimpleMarkerSymbol pSimpleMarkerSymbol = new SimpleMarkerSymbol();pSimpleMarkerSymbol.Angle = 30;pSimpleMarkerSymbol.Color = pMarkerSymbolColor;pSimpleMarkerSymbol.Size = 15;pSimpleMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSSquare;pSimpleMarkerSymbol.Outline = true;pSimpleMarkerSymbol.OutlineColor = pOutlineColor;pSimpleMarkerSymbol.OutlineSize = 3;// 设置符号IGeoFeatureLayer pGeoFeatureLayer = axMapControl1.get_Layer(0) as IGeoFeatureLayer;IFeatureRenderer pFeatureRenderer = pGeoFeatureLayer.Renderer;ISimpleRenderer pSimpleRenderer = pFeatureRenderer as ISimpleRenderer;pSimpleRenderer.Symbol = pSimpleMarkerSymbol as ISymbol;// 刷新地图axMapControl1.Refresh();axTOCControl1.Update();}/// <summary>/// 箭头符号/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnArrowMarkerSymbol_Click(object sender, EventArgs e){// 点符号颜色IRgbColor pRgbColor = new RgbColor();pRgbColor.Red = 255;pRgbColor.Green = 0;pRgbColor.Blue = 0;// 创建符号IArrowMarkerSymbol pArrowMarkerSymbol = new ArrowMarkerSymbol();pArrowMarkerSymbol.Angle = 0;pArrowMarkerSymbol.Color = pRgbColor;pArrowMarkerSymbol.Length = 20;pArrowMarkerSymbol.Size = 30;pArrowMarkerSymbol.Style = esriArrowMarkerStyle.esriAMSPlain;pArrowMarkerSymbol.Width = 20;// 设置符号IGeoFeatureLayer pGeoFeatureLayer = axMapControl1.get_Layer(0) as IGeoFeatureLayer;IFeatureRenderer pFeatureRenderer = pGeoFeatureLayer.Renderer;ISimpleRenderer pSimpleRenderer = pFeatureRenderer as ISimpleRenderer;pSimpleRenderer.Symbol = pArrowMarkerSymbol as ISymbol;// 刷新地图axMapControl1.Refresh();axTOCControl1.Update();}/// <summary>/// 叠加符号/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnMultiLayerMarkerSymbol_Click(object sender, EventArgs e){// 创建简单符号颜色IRgbColor pSimpleMarkerSymbolColor = new RgbColor();pSimpleMarkerSymbolColor.Red = 255;pSimpleMarkerSymbolColor.Green = 0;pSimpleMarkerSymbolColor.Blue = 0;// 创建箭头符号颜色IRgbColor pArrowMarkerSymbolColor = new RgbColor();pArrowMarkerSymbolColor.Red = 0;pArrowMarkerSymbolColor.Green = 255;pArrowMarkerSymbolColor.Blue = 0;// 创建简单符号ISimpleMarkerSymbol pSimpleMarkerSymbol = new SimpleMarkerSymbol();pSimpleMarkerSymbol.Color = pSimpleMarkerSymbolColor;pSimpleMarkerSymbol.Size = 30;pSimpleMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCross;// 创建箭头符号IArrowMarkerSymbol pArrowMarkerSymbol = new ArrowMarkerSymbol();pArrowMarkerSymbol.Color = pArrowMarkerSymbolColor;pArrowMarkerSymbol.Length = 20;pArrowMarkerSymbol.Size = 20;pArrowMarkerSymbol.Style = esriArrowMarkerStyle.esriAMSPlain;pArrowMarkerSymbol.Width = 20;// 创建叠加符号IMultiLayerMarkerSymbol pMultiLayerMarkerSymbol = new MultiLayerMarkerSymbol();pMultiLayerMarkerSymbol.AddLayer(pSimpleMarkerSymbol);pMultiLayerMarkerSymbol.AddLayer(pArrowMarkerSymbol);// 设置符号IGeoFeatureLayer pGeoFeatureLayer = axMapControl1.get_Layer(0) as IGeoFeatureLayer;IFeatureRenderer pFeatureRenderer = pGeoFeatureLayer.Renderer;ISimpleRenderer pSimpleRenderer = pFeatureRenderer as ISimpleRenderer;pSimpleRenderer.Symbol = pMultiLayerMarkerSymbol as ISymbol;// 刷新地图axMapControl1.Refresh();axTOCControl1.Update();}/// <summary>/// 字符标记符号/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnCharacterMarkerSymbol_Click(object sender, EventArgs e){// 点符号颜色IRgbColor pRgbColor = new RgbColor();pRgbColor.Red = 255;pRgbColor.Green = 0;pRgbColor.Blue = 0;// 创建字体IFontDisp pFontDisp = new StdFont() as IFontDisp;pFontDisp.Name = "楷体";pFontDisp.Size = 40;// 创建符号ICharacterMarkerSymbol pCharacterMarkerSymbol = new CharacterMarkerSymbol();pCharacterMarkerSymbol.Angle = 0;pCharacterMarkerSymbol.CharacterIndex = 10084;pCharacterMarkerSymbol.Color = pRgbColor;pCharacterMarkerSymbol.Font = pFontDisp;pCharacterMarkerSymbol.Size = 40;// 设置符号IGeoFeatureLayer pGeoFeatureLayer = axMapControl1.get_Layer(0) as IGeoFeatureLayer;IFeatureRenderer pFeatureRenderer = pGeoFeatureLayer.Renderer;ISimpleRenderer pSimpleRenderer = pFeatureRenderer as ISimpleRenderer;pSimpleRenderer.Symbol = pCharacterMarkerSymbol as ISymbol;// 刷新地图axMapControl1.Refresh();axTOCControl1.Update();}/// <summary>/// 图片符号/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnPictureMarkerSymbol_Click(object sender, EventArgs e){// 创建符号IPictureMarkerSymbol pPictureMarkerSymbol = new PictureMarkerSymbol();pPictureMarkerSymbol.Angle = 0;pPictureMarkerSymbol.CreateMarkerSymbolFromFile(esriIPictureType.esriIPicturePNG, @"C:\Users\DSF\Desktop\Driving_Directions32.png");pPictureMarkerSymbol.Size = 25;// 设置符号IGeoFeatureLayer pGeoFeatureLayer = axMapControl1.get_Layer(0) as IGeoFeatureLayer;IFeatureRenderer pFeatureRenderer = pGeoFeatureLayer.Renderer;ISimpleRenderer pSimpleRenderer = pFeatureRenderer as ISimpleRenderer;pSimpleRenderer.Symbol = pPictureMarkerSymbol as ISymbol;// 刷新地图axMapControl1.Refresh();axTOCControl1.Update();}}
}

ArcEngine符号化——点符号相关推荐

  1. ArcEngine符号化——文本符号

    1.前言 在ArcEngine中,文本符号主要用于设置IElement的样式,涉及到的接口为ITextSymbol,下面开始介绍. 2.实现代码 demo的主要功能为:在PageLayoutContr ...

  2. ArcEngine符号化——点符号选择器

    1.前言 前面的博客介绍了在ArcEngine中如何创建各类符号,但是回顾一下ArcMap中的操作,你肯定会想:一个一个创建符号实在是太过麻烦,如果有一个符号选择器供我们使用就好了.这篇博客就来介绍一 ...

  3. 符号化Symbol(符号)体系

    符号化Symbol(符号)体系 ArcGIS Engine9.3为开发人员提供了32种符号,主要分为三大类符号MarkerSymbol(点符号). LineSymbol(线符号)和FillSymbol ...

  4. 符号化Symbol(符号)体系(转载)

    转自:http://blog.sina.com.cn/s/blog_4ce8fd7c0100h4lt.html ArcGIS Engine9.3为开发人员提供了32种符号,主要分为三大类符号Marke ...

  5. iOS 崩溃日志在线符号化实践

    1. 什么是符号化? 在日常开发中,应用难免会发生崩溃.通常,我们直接从用户导出来的崩溃日志都是未符号化或者部分符号化的,都是一堆十六进制内存地址的集合,可读性较差.未符号化或者部分符号化的崩溃日志对 ...

  6. ArcGIS Engine基础开发教程(转)

    ArcGIS Engine基础开发教程(0)--目录 <ArcEngine9.3 基础开发教程>是面向初中级开发者的一份简单易用,功能全面的学习资料及参考文档.教程首先从如何来创建一个Ar ...

  7. ArcGIS 基础11-专题制图

    添加至ArcMap中的数据是以图层的形式来展现,样式单一且颜色随机,往往不能满足实际工作中出图的要求.因此,我们通常需要对图层的显示样式进行设置,包括颜色.线型等等,这称为图层符号化. 图层符号化设置 ...

  8. python 指针_python入门指针

    这篇文章主要记录了我自学python的经历和一些比较有效的方式方法,对于还在门外撞墙的同学来说还是很有帮助的. 自学之初 当初想学习python是因为18年夏天,我参与的创业公司处于一个快速发展阶段, ...

  9. arcgis分隔图层重复出文件_ArcGIS制图技巧讲解,处理好细节才能让图更专业!

    随着GIS在各行各业的深入应用,各信息化部门和生产单位都逐渐建立起自己的GIS的应用,同时积累了大量的地理数据.因此,如何围绕数据制作精美的地图以符合应用需求将是一个重要的课题. ArcGIS的制图技 ...

最新文章

  1. JAVA垃圾回收机制概要
  2. python中set怎么循环_python如何遍历set
  3. linux 测试本地端口是否打开,有效地测试Linux上的端口是否打开?
  4. 耦合式是什么意思_定向耦合器是如何工作的?能怎样应用?看完就全明白了
  5. android全局livedata,Android 使用ViewModel,LiveData高效、简
  6. python学习笔记之lambda表达式
  7. 基于 snowNLP的微博评论数据情感分析
  8. 环形电流计算公式_圆环电流的电流密度
  9. 万年历单片机课程设计百度文库_单片机课程设计-万年历
  10. 运筹说 第4期|掌握运筹学软件,走遍天下都不怕
  11. js中 this与that
  12. 键盘快捷键 —— 有用
  13. 技术人员如何创业:打造超强执行力团队
  14. 降暑小程序:40°高温,Python带你“清凉一夏”!!!!
  15. 2016猴年春联集锦
  16. 微软正式发布Chromium Edge开发预览版
  17. 不正方形(四个点构成一个凸四边形)
  18. 联盟成员猛增近20家 联想超融合架构师预言成真
  19. nginx做缓存服务器、代理、文件服务器等笔记
  20. python实现DSA签名数字证书

热门文章

  1. 桌面程序加sql数据库服务器,在桌面上安装和部署 (SQL Server Compact)
  2. 从用户心理看游戏运营和推广
  3. 网络爬虫与信息提取--正则表达式---淘宝商品比价定向爬虫
  4. ubuntu 搜狗输入法只能打出繁体字
  5. linux tod时钟,什么是ToD服务器,“时间”(非NTP)
  6. html css ios系统字体,让iOS在CSS中选择系统字体Helvetica Neue或San Francisco
  7. 解决笔记本电脑(NV47H18C)必须完全放电才能开机的问题
  8. 中兴面试经验之谈(结合自己与网上的面经)
  9. 专业函数绘图软件Origin 7.5中文版
  10. AjaxPro 在asp.net中提示 ‘XXX’ 未定义 的问题