10、ArcEngine环境下的地图符号化材料.ppt

上传人:caoka****i345 文档编号:153199258 上传时间:2020-11-27 格式:PPT 页数:88 大小:2.91MB
返回 下载 相关 举报
10、ArcEngine环境下的地图符号化材料.ppt_第1页
第1页 / 共88页
10、ArcEngine环境下的地图符号化材料.ppt_第2页
第2页 / 共88页
10、ArcEngine环境下的地图符号化材料.ppt_第3页
第3页 / 共88页
10、ArcEngine环境下的地图符号化材料.ppt_第4页
第4页 / 共88页
10、ArcEngine环境下的地图符号化材料.ppt_第5页
第5页 / 共88页
亲,该文档总共88页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《10、ArcEngine环境下的地图符号化材料.ppt》由会员分享,可在线阅读,更多相关《10、ArcEngine环境下的地图符号化材料.ppt(88页珍藏版)》请在金锄头文库上搜索。

1、第十章 ArcEngine环境下的地图符号化,中国石油大学(华东)地球科学与技术学院测绘系,地理信息系统设计与开发,主要内容,地图符号化 ArcEngine环境下的地图符号化,一 地图符号化,地图符号是表达空间数据的基本手段,是地图的语言单位,是可视化表达地理信息内容的基础工具。 不仅能表示事物的空间位置、形状、质量和数量特征,例如在一个城市管线系统中不同的线符号表示不同类型的管线,不同的点符号表示不同类型的设备等等;,1 地图符号,一 地图符号化,而且还可以表示各事物间的相互联系及区域总体特征, 表达与空间位置相关的丰富信息:例如人口密度符号可以直观的表示人口数量的空间分布情况。 所以地图数

2、据的符号化决定着地图以何种“面目”展现给地图的使用者,空间数据的符号化对GIS开发有非常重要的意义。,1 地图符号,一 地图符号化,1 地图符号,地图符号由形状不同、大小不一、色彩有别的图形和文字组成,既是地图的语言,也是一种图形语言。 根据事物分布的特点,地图符号分为点状、线状和面状三种。,一 地图符号化,地图符号库的设计与实现是GIS建设的一项基础性工作。地图符号库即地图符号描述信息的集合,通过地图符号描述代码,完成地图符号的使用、编辑和存储,可相对节省存储空间,提高系统效率。为了提高符号使用的效率,应用系统中对符号的使用一般是将所有单个的符号建库,使得系统对符号的操作在符号库的基础上进行

3、。,2 地图符号库,一 地图符号化,2 地图符号库,地图符号库的构成,一个完整的地图符号库系统应当包括地图符号编辑器、地图符号库管理系统和地图符号的再现调用。 符号编辑器用来制作生成GIS需要的点状、线状和面状地图符号; 地图符号库管理系统负责地图符号的入库、管理和调用;,一 地图符号化,2 地图符号库,地图符号库的构成,地图符号的再现调用则是根据当前矢量数据的属性编码,按照符号搭配表调用符号库中的对应符号来符号化显示该层矢量数据。 符号搭配表包括属性编码、符号代码和符号名称等信息,其中符号代码作为库中符号的标识,用来区别各符号。,一 地图符号化,2 地图符号库,地图符号库的设计,地图符号库的

4、数据包括以下几个方面:基于应用的地物分类的建立、符号库结构设计、符号的设计、符号编辑功能的设计、符号的再现和使用,其中符号库结构设计是关键。,一 地图符号化,2 地图符号库,地图符号库的工作流程,地图符号库的工作流程就是按编码对照表文件中建立的地物编码与符号库中的符号之间一一对应关系,将制图输出范围内的空间实体用指定符号绘制并输出。,二 ArcEngine环境下的地图符号化,ArcEngine环境中提供了丰富的控件(SymbologyControl )和符号组件来满足地图设计中的各种需求,这些组件包括Color、 Renderer、Symbol三大系列。地图符号化就是通过多个组件对象间的合作来

5、完成。 用Color为要素配置显示颜色 用Symbol表示实体要素 用Renderer进行图层渲染,二 ArcEngine环境下的地图符号化,1 Color系列,Color的模型: RGB颜色模型:最常用,所有颜色都是通过红色(Red)、绿色(Green)、蓝色(Blue)这三原色的混合来显示。 CMY颜色模型:青(Cyan)、洋红(Magenta)和黄(Yellow)三种颜色的简写。 HSV颜色模型:色彩(H),纯度(S),明度(V)。 Gray模型:没有彩色的,灰度图像由位信息组成,并使用256级的灰色来模拟颜色层次。 HLS模型:常用,Hue(色相)、Luminance(亮度)、Satu

6、ration(饱和度)。,Color系列主要负责颜色的设置,提供各种形式的Color对象。,二 ArcEngine环境下的地图符号化,1 Color系列,在地图符号化的过程中,需要的颜色常常不是一种,而是随机或有序产生的一组颜色。如果对某一个图层进行符号化需要上百种颜色,程序开发者肯定不能逐个产生出来。ArcGIS Engine提供了ColorRamp对象:,二 ArcEngine环境下的地图符号化,1 Color系列,ColorRamp类的对象可以产生颜色带,这个类实现了IColorRamp接口,它定义了一系列颜色带的属性;ColorRamp类是一个抽象类,它包括4个子类分别是:Random

7、ColorRamp(随机颜色带)、PresetColorRamp(预设颜色带)、AlgorithmicColorRamp(起止颜色带)、MultiPartColorRamp(叠加颜色带):,二 ArcEngine环境下的地图符号化,1 Color系列,二 ArcEngine环境下的地图符号化,1 Color系列,二 ArcEngine环境下的地图符号化,1 Color系列,private void button1_Click(object sender, EventArgs e) /创建一个新AlgorithmicColorRampClass对象 IAlgorithmicColorRamp a

8、lgColorRamp = new AlgorithmicColorRampClass(); /创建起始颜色对象 IRgbColor startColor = new RgbColor();startColor.Red = 255;startColor.Green = 0;startColor.Blue = 0; /创建终止颜色对象 IRgbColor endColor = new RgbColor(); endColor.Red = 0;endColor.Green = 255;endColor.Blue = 0; /设置AlgorithmicColorRampClass的起止颜色属性alg

9、ColorRamp.ToColor = startColor;algColorRamp.FromColor = endColor; /设置梯度类型algColorRamp.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; /设置颜色带颜色数量algColorRamp.Size = 5; /创建颜色带 bool bture = true;algColorRamp.CreateRamp(out bture); /使用IEnumColors获取颜色带 IEnumColors pEnumColors = null;pEnumColors =

10、 algColorRamp.Colors; /设置个picturebox的背景色为产生颜色带的个颜色 this.pictureBox1.BackColor = ColorTranslator.FromOle(pEnumColors.Next().RGB); this.pictureBox2.BackColor = ColorTranslator.FromOle(pEnumColors.Next().RGB); this.pictureBox3.BackColor = ColorTranslator.FromOle(pEnumColors.Next().RGB); this.pictureBox

11、4.BackColor = ColorTranslator.FromOle(pEnumColors.Next().RGB); this.pictureBox5.BackColor = ColorTranslator.FromOle(pEnumColors.Next().RGB);,二 ArcEngine环境下的地图符号化,2 Symbol系列,点状要素符号化主要用到MarkerSymbol系列的组件类,它拥有十二个子类,其中不同的子类可以产生不同类型的点符号,所有的MarkerSymbol类都实现了IMarkerSymbol接口。,二 ArcEngine环境下的地图符号化,2 Symbol系列

12、点状要素符号,二 ArcEngine环境下的地图符号化,2 Symbol系列点状要素符号,二 ArcEngine环境下的地图符号化,2 Symbol系列点状要素符号,常用的5种类型,IMarkerSymbol接口:主要负责符号的角度、颜色、大小、X方向、Y方向偏移的距离等。,二 ArcEngine环境下的地图符号化,2 Symbol系列点状要素符号,主要接口,ISimpleMarkerSymbol接口:从IMarkerSymbol接口继承过来,除具有IMarkerSymbol 所有属性和方法外,还具有自身特有的属性,负责对边框属性及符号本身形式的设置。,二 ArcEngine环境下的地图符号化

13、,2 Symbol系列点状要素符号,主要接口,ICharacterMarkerSymbol接口:从IMarkerSymbol接口继承过来,除具有IMarkerSymbol所有属性和方法外,还具有自身特有的两个属性,用来设置特征标志的风格 。,二 ArcEngine环境下的地图符号化,2 Symbol系列点状要素符号,主要接口,IArrowMarkerSymbol接口:负责箭头标记符号的设置。除具有IMarkerSymbol所有属性和方法外,还有三个属性,用于设定箭头标记符号的形式、长度和宽度的设置。,二 ArcEngine环境下的地图符号化,2 Symbol系列点状要素符号,主要接口,IPic

14、tureMarkerSymbol接口:负责使用位图或Windows的图元来表示点要素。,二 ArcEngine环境下的地图符号化,2 Symbol系列点状要素符号,主要接口,ImultiLayerMarkerSymbol接口:用于多个不同的MarkerSymbol组合成一个符号,可以包括多个层,每层都可以有一个MarkerSymbol ,通过各层的叠加实现。,二 ArcEngine环境下的地图符号化,2 Symbol系列点状要素符号,主要接口,private void axMapControl1_OnMouseDown(object sender, ESRI.ArcGIS.Controls.I

15、MapControlEvents2_OnMouseDownEvent e) IElement pElement; IMarkerElement pMarkerElement; ISimpleMarkerSymbol pSimpleMarkerSymbol; IRgbColor pRgbColor; pSimpleMarkerSymbol = new SimpleMarkerSymbolClass(); pRgbColor = new RgbColorClass(); pRgbColor.Red = 255; pSimpleMarkerSymbol.Color = pRgbColor; pSim

16、pleMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSDiamond; pMarkerElement = new MarkerElementClass(); pMarkerElement.Symbol = pSimpleMarkerSymbol; pElement = new MarkerElement(); pElement = pMarkerElement as IElement; pElement.Geometry = axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(e.x, e.y); IGraphicsContainer pGraphicsContainer = axMapControl1.ActiveView.FocusMap as IGraphicsContainer; pGraphicsContainer.A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号