ArcEngine符号化——点符号
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符号化——点符号相关推荐
- ArcEngine符号化——文本符号
1.前言 在ArcEngine中,文本符号主要用于设置IElement的样式,涉及到的接口为ITextSymbol,下面开始介绍. 2.实现代码 demo的主要功能为:在PageLayoutContr ...
- ArcEngine符号化——点符号选择器
1.前言 前面的博客介绍了在ArcEngine中如何创建各类符号,但是回顾一下ArcMap中的操作,你肯定会想:一个一个创建符号实在是太过麻烦,如果有一个符号选择器供我们使用就好了.这篇博客就来介绍一 ...
- 符号化Symbol(符号)体系
符号化Symbol(符号)体系 ArcGIS Engine9.3为开发人员提供了32种符号,主要分为三大类符号MarkerSymbol(点符号). LineSymbol(线符号)和FillSymbol ...
- 符号化Symbol(符号)体系(转载)
转自:http://blog.sina.com.cn/s/blog_4ce8fd7c0100h4lt.html ArcGIS Engine9.3为开发人员提供了32种符号,主要分为三大类符号Marke ...
- iOS 崩溃日志在线符号化实践
1. 什么是符号化? 在日常开发中,应用难免会发生崩溃.通常,我们直接从用户导出来的崩溃日志都是未符号化或者部分符号化的,都是一堆十六进制内存地址的集合,可读性较差.未符号化或者部分符号化的崩溃日志对 ...
- ArcGIS Engine基础开发教程(转)
ArcGIS Engine基础开发教程(0)--目录 <ArcEngine9.3 基础开发教程>是面向初中级开发者的一份简单易用,功能全面的学习资料及参考文档.教程首先从如何来创建一个Ar ...
- ArcGIS 基础11-专题制图
添加至ArcMap中的数据是以图层的形式来展现,样式单一且颜色随机,往往不能满足实际工作中出图的要求.因此,我们通常需要对图层的显示样式进行设置,包括颜色.线型等等,这称为图层符号化. 图层符号化设置 ...
- python 指针_python入门指针
这篇文章主要记录了我自学python的经历和一些比较有效的方式方法,对于还在门外撞墙的同学来说还是很有帮助的. 自学之初 当初想学习python是因为18年夏天,我参与的创业公司处于一个快速发展阶段, ...
- arcgis分隔图层重复出文件_ArcGIS制图技巧讲解,处理好细节才能让图更专业!
随着GIS在各行各业的深入应用,各信息化部门和生产单位都逐渐建立起自己的GIS的应用,同时积累了大量的地理数据.因此,如何围绕数据制作精美的地图以符合应用需求将是一个重要的课题. ArcGIS的制图技 ...
最新文章
- JAVA垃圾回收机制概要
- python中set怎么循环_python如何遍历set
- linux 测试本地端口是否打开,有效地测试Linux上的端口是否打开?
- 耦合式是什么意思_定向耦合器是如何工作的?能怎样应用?看完就全明白了
- android全局livedata,Android 使用ViewModel,LiveData高效、简
- python学习笔记之lambda表达式
- 基于 snowNLP的微博评论数据情感分析
- 环形电流计算公式_圆环电流的电流密度
- 万年历单片机课程设计百度文库_单片机课程设计-万年历
- 运筹说 第4期|掌握运筹学软件,走遍天下都不怕
- js中 this与that
- 键盘快捷键 —— 有用
- 技术人员如何创业:打造超强执行力团队
- 降暑小程序:40°高温,Python带你“清凉一夏”!!!!
- 2016猴年春联集锦
- 微软正式发布Chromium Edge开发预览版
- 不正方形(四个点构成一个凸四边形)
- 联盟成员猛增近20家 联想超融合架构师预言成真
- nginx做缓存服务器、代理、文件服务器等笔记
- python实现DSA签名数字证书
热门文章
- 桌面程序加sql数据库服务器,在桌面上安装和部署 (SQL Server Compact)
- 从用户心理看游戏运营和推广
- 网络爬虫与信息提取--正则表达式---淘宝商品比价定向爬虫
- ubuntu 搜狗输入法只能打出繁体字
- linux tod时钟,什么是ToD服务器,“时间”(非NTP)
- html css ios系统字体,让iOS在CSS中选择系统字体Helvetica Neue或San Francisco
- 解决笔记本电脑(NV47H18C)必须完全放电才能开机的问题
- 中兴面试经验之谈(结合自己与网上的面经)
- 专业函数绘图软件Origin 7.5中文版
- AjaxPro 在asp.net中提示 ‘XXX’ 未定义 的问题