ArcGIS Engine地理信息系统开发教程 第5章 地图制图.pptx

上传人:zf 文档编号:30843042 上传时间:2024-01-31 格式:PPTX 页数:142 大小:2.12MB
下载 相关 举报
ArcGIS Engine地理信息系统开发教程 第5章 地图制图.pptx_第1页
第1页 / 共142页
ArcGIS Engine地理信息系统开发教程 第5章 地图制图.pptx_第2页
第2页 / 共142页
ArcGIS Engine地理信息系统开发教程 第5章 地图制图.pptx_第3页
第3页 / 共142页
ArcGIS Engine地理信息系统开发教程 第5章 地图制图.pptx_第4页
第4页 / 共142页
ArcGIS Engine地理信息系统开发教程 第5章 地图制图.pptx_第5页
第5页 / 共142页
点击查看更多>>
下载资源
资源描述

ArcGIS Engine地理信息系统开发教程 第5章 地图制图.pptx

《ArcGIS Engine地理信息系统开发教程 第5章 地图制图.pptx》由会员分享,可在线阅读,更多相关《ArcGIS Engine地理信息系统开发教程 第5章 地图制图.pptx(142页珍藏版)》请在冰豆网上搜索。

ArcGIS Engine地理信息系统开发教程 第5章 地图制图.pptx

第5章地图制图,目录,1,目录,1,颜色模型,2,3,地图标注,地图符号化,6,制图模板,7,8,打印输出,空间参考,4,专题地图制图,5,地图整饰,颜色模型分类,为了满足不同的制图需求,通常使用不同的颜色模型来模拟现实世界的颜色,主要有以下4种模型:

RGB模型CMYK模型HSV模型Gray模型,1.颜色模型,2,颜色模型分类,RGB模型是一种最常用的颜色模型所有的颜色都是通过红色(Red)、绿色(Green)和蓝色(Blue)这三原色的混合来显示通过显示红、绿、蓝光的像素,计算机显示器就可以描绘上百种、上千种甚至几百万种不同的颜色要定义一个表示为RGB值的颜色,用户需要分别给出光的红、绿、蓝三原色的值,1.颜色模型,3,颜色模型分类,RGB模型用于RGB颜色模型的一些规则:

如果所有的RGB值相等,则产生的颜色是灰色调的如果所有的RGB值为0,则产生的颜色为黑色如果所有的RGB值为255,则产生的颜色为白色,1.颜色模型,4,颜色模型分类,CMYK模型是一种颜色模式,是印刷时必须使用的一种模式C、M、Y、K分别指的是青色(Cyan)、洋红色(Magenta)、黄色(Yellow)和黑色(Black)四种颜色的油墨,值可取0100,也就是颜色从最浅到最深的数值数值越小颜色越浅,反之颜色则越深当每种颜色都达到最高值100时则为深黑色,1.颜色模型,5,颜色模型分类,HSV模型

(1)即色调(Hue)、饱和度(Saturation)和明度(Value)颜色模型

(2)色调值指明了颜色在色环中的位置,以度表示饱和度描述了颜色的纯度。

饱和度的取值范围为0100明度(Value)也称为亮度,亮度高,色彩明亮,亮度低,色彩暗淡,明度的取值范围为0100,1.颜色模型,6,颜色模型分类,HSV模型用于HSV颜色模型的一些规则:

(1)如果Value=0,产生的颜色为黑色

(2)如果Saturation=0,产生的颜色为暗灰色(3)如果Value=100且Saturation=0,产生的颜色为白色,1.颜色模型,7,颜色模型分类,Gray模型

(1)又称为灰度图像,由8位信息组成,并使用256级的灰色来模拟颜色层次

(2)灰度值为0表示黑色,值为255表示白色,1.颜色模型,8,颜色对象,ArcGISEngine中颜色的设置分为以下两种:

由Color对象设置,生成单一颜色由ColorRamp对象设置,生成随机的或有序的渐变色,1.颜色模型,9,颜色对象,Color对象Color类是一个抽象类,包括以下5个颜色子类:

(1)CmykColor类,实现了ICmykColor接口

(2)RgbColor类,实现了IRgbColor接口(3)HsvColor类,实现了IHsvColor接口(4)HlsColor类,实现了IHlsColor接口(5)GrayColor类,实现了IGrayColor接口在ArcGISEngine中最常用的是RGB和HSV这两种颜色模型,1.颜色模型,10,颜色对象,Color类及其子类,1.颜色模型,11,颜色对象,Color对象获取模型色彩,核心代码,1.颜色模型,12,颜色对象,ColorRamp对象

(1)ColorRamp类的对象可以产生颜色带

(2)实现了IColorRamp接口定义了一系列颜色带的属性如Size(产生多少种颜色),Colors(颜色带IEnumColor)ColorRamp是抽象类,包括以下4个子类:

AlgorithmicColorRamp(起止渐变色)MultiPartColorRamp(叠加渐变色)RandomColorRamp(随机渐变色)PresetColorRamp(预设渐变色),1.颜色模型,13,颜色对象,ColorRamp类及其子类,1.颜色模型,14,颜色对象,1.颜色模型,15,ColorRamp类及其子类4种颜色带说明,颜色对象,ColorRamp类及其子类-AlgorithmicColorRamp类通过起止颜色来确定多个在这两个颜色之间的色带实现了两个主要的接口:

IColorRamp和IAlgorithmicColorRamp这两个接口之间是接口继承关系,后者包含了前者所有的方法和属性IAlgorithmicColorRamp接口的属性:

FromColor属性-用于设置或返回起始颜色值ToColor属性-用于设置或返回终止颜色值,1.颜色模型,16,颜色对象,ColorRamp类及其子类-AlgorithmicColorRamp类IAlgorithmicColorRamp接口的属性和方法,1.颜色模型,17,颜色对象,ColorRamp类及其子类-AlgorithmicColorRamp类核心代码,1.颜色模型,18,颜色对象,ColorRamp类及其子类-MultiPartColorRamp类

(1)是由两个色带叠加生成一个新的色带

(2)实现了IMultiPartColorRamp接口AddRamp方法-用于添加一个基础色带,该色带可以在表达具有零点的现象(如人口增长或温度)时使用。

1.颜色模型,19,颜色对象,ColorRamp类及其子类-RandomColorRamp类产生随机颜色带也需要设定一个范围这个范围是HSV颜色模型的,颜色将在这个范围内随机出现实现了IRandomColorRamp接口,1.颜色模型,20,颜色对象,ColorRamp类及其子类-RandomColorRamp类IRandomColorRamp接口的属性和方法,1.颜色模型,21,简介,

(1)ArcGISEngine中的所有地图数据及其修饰要素的显示样式都是由Symbol,2.地图符号化,22,类控制的。

(2)绘制地理要素的几何图形的三大类符号:

MarkerSymbol(点符号)、LineSymbol(线符号)和FillSymbol(填充符号)(3)两种特殊类型的符号:

TextSymbol-用于文字标注ChartRender-用于显示饼图、条形图、柱状图等表示统计图表类型,简介,改变地图中原有的点、线、面要素的符号并将其转变为指定的符号样式的基本思路如下:

2.地图符号化,23,获取要素所在图层使用IMapControl2接口的get_Layer方法设置要素的符号样式使用Symbol进行设置渲染符号所在图层使用ISimpleRenderer接口的Symbol属性和IGeoFeatureLayer接口的Renderer属性对符号所在图层进行渲染,即可更改要素符号样式,点要素符号化,

(1)通过MarkerSymbol类实现

(2)MarkerSymbol类有多种子类:

SimpleMarkerSymbol、ArrowMarkerSymbol、CharacterMarkerSymbol、PictureMarkerSymbol和MultiLayerMarkerSymbol等不同的子类可以产生不同类型的点符号(3)所有的MarkerSymbol类都实现了IMarkerSymbol接口,该接口定义了一系列点符号的公共属性Angle属性-用于设置或返回点符号的角度Color属性-用于设置或返回点符号的颜色Size属性-用于设置或返回点符号的大小XOffset、YOffset属性-分别用于设置或返回点符号的X、Y偏移量,2.地图符号化,24,点要素符号化,相关类-SimpleMarkerSymbol用于设置简单类型的点符号实现了ISimpleMarkerSymbol接口Style属性用于设置点类型的样式,它有五种类型:

esriSMSCircle(圆形)esriSMSSquare(矩形)esriSMSCross(十字形)esriSMSX(X型)esriSMSDiamond(菱形)不同的esriSimpleMarkerStyle可以生成与之对应形状的点状符号,2.地图符号化,25,点要素符号化,相关类-ArrowMarkerSymbol

(1)可以将点要素显示为一个箭头形状

(2)实现了IArrowMarkerSymbol接口Length属性-用于设置或返回箭头顶点到底边的距离Width属性-用于设置或返回箭头底边的宽度Style属性-用于设置或返回箭头符号的样式,2.地图符号化,26,点要素符号化,相关类-CharacterMarkerSymbol可以将点要素显示为字符实现了ICharacterMarkerSymbol接口Font属性-用于设置或返回字体类型Characterindex属性-用于设置或返回要显示的字符(设置显示的字符由ASCII码决定,如:

Characterindex的值为65,则显示为“A”),2.地图符号化,27,点要素符号化,相关类-PictureMarkerSymbol使用图片来显示点要素实现了IPictureMarkerSymbol接口CreatMarkerSymbolFromFill方法-用于设置点符号图片的样式和来源,2.地图符号化,28,点要素符号化,相关类-MultiLayerMarkerSymbol可以将点要素显示为组合型符号将多个符号进行叠加,产生新的组合符号,以增强表达效果实现了IMultiLayerMarkerSymbol接口AddLayer方法-用于添加不同类型的符号,并将其组合为新的符号,2.地图符号化,29,点符号实例,核心代码,2.地图符号化,30,点符号实例,效果展示,2.地图符号化,31,线要素符号化,

(1)修改线要素的符号由LineSymbol类实现

(2)LineSymbol类有多个子类:

SimpleLineSymbol、CartographicLineSymbol、MultiLayerLineSymbol、PictureLineSymbol、HashLineSymbol等不同的子类用于产生不同类型的线符号所有的LineSymbol类都实现了ILineSymbol接口Color属性-用于设置线要素的颜色Width属性-用于设置线要素的宽度,2.地图符号化,32,线要素符号化,相关类-SimpleLineSymbol实现简单线要素的符号化实现了ISimpleLineSymbol接口主要属性是Style-用于设置或返回线要素的显示样式支持7种线类型,存储在esriSimpleLineStyle常量集合中,2.地图符号化,33,线要素符号化,相关类-SimpleLineSymbolesriSimpleLineStyle常量说明,2.地图符号化,34,线要素符号化,相关类-CartographicLineSymbol

(1)实现制图线的符号化

(2)实现了以下两个接口:

ICartographicLineSymbol接口Cap属性-用于设置或返回线要素首尾端点样式Join属性-用于设置或返回线要素转折处的样式ILineProperties接口Offset属性-用于设置或返回符号的偏移量Template属性-用于设置或返回线要素的模板,由ITemplate实现,2.地图符号化,35,线要素符号化,相关类-MultiLayerLineSymbol与MultiLayerMarkerSymbol类似,可以采用不同的线符号组合生成新的线符号进行表达:

设置需要的两种或两种以上的线符号使用IMultiLayerMarkerSymbol的AddLayer方法,将其组合在一起,2.地图符号化,36,线要素符号化,相关类-PictureLineSymbol

(1)与PictureMarkerSymbol相似,该类可以生成由图片组成的线符号

(2)实现了IPictureLineSymbol接口CreateLineSymbolFromFile方法-用于设置线符号图片的样式和来源,2.地图符号化,37,线要素符号化,相关类-HashSymbol用于生成离散的线符号实现了IHashSymbol和ILineProperties两个接口,2.地图符号化,38,线符号化实例,核心代码,2.地图符号化,39,线符号化实例,效果展示,2.地图符号化,40,面要素符号化,通过FillSymbol类来完成FillSymbol类是一个抽象类,有多个子类:

SimpleFillSymbol、LineFillSymbol、MarkerFillSymbol、GradientFillSymbol、PictureFillSymbol和MultiLayerFillSymbol等。

(3)FillSymbol类实现了IFillSymbol接口Color属性-用于设置或返回填充颜色Outline属性-用于设置或返回填充符号的外边框(外边框是一个线对象,需要使用ILineSymbol对象修饰,在默认的情况下它是一个Soild类型的简单线符号),2.地图符号化,41,面要素符号化,相关类-SimpleFillSymbol实现简单填充符号实现了ISimpleFillSymbol接口Style属性-用于设置或返回填充格式支持8种填充类型,存储在esriSimpleFillStyle常量集合中,2.地图符号化,42,面要素符号化,esriSFSHollowesriSFSHorizontalesriSFSVerticalesriSFSForwardDiagonalesriSFSBackwardDiagonalesriSFSCrossesriSFSDiagonalCross,空心填充(同esriSFSNull)水平线填充垂直线填充45度下斜线填充45度上斜线填充水平十字线填充45度交叉线填充,相关类-SimpleFillSymbolesriSimpleFillStyle常量说明,2.地图符号化,43,面要素符号化,相关类-LineFillSymbol

(1)实现了在面要素中填充一定间隔的重复线条

(2)实现了ILineFillSymbol接口Angle属性-用于设置或返回填充线与水平方向的夹角OffSet属性-用于设置或返回偏移量LineSymbol属性-用于设置或返回填充线的样式Separation属性-用于设置或返回填充线的间隔距离,2.地图符号化,44,面要素符号化,相关类-MarkerFillSymbol

(1)实现了在面要素中填充一定数量的点

(2)实现了以下两个接口:

IMarkerFillSymbol接口-用于设置填充点的属性MarkerSymbol属性-用于设置或返回填充的点符号样式Style属性-用于设置或返回填充样式IFillProperties接口-用于设置点在填充区域的分布情况在默认情况下,填充区域的原点处应该是一个填充点的圆心,不会发生偏移,但若设置了XOffset和YOffset属性,则将会发生改变。

2.地图符号化,45,面要素符号化,相关类-GradientFillSymbol实现了用渐变色填充面要素实现了IGradientFillSymbol接口ColorRamp属性-用于设置填充的颜色带GradientAngle属性-用于设置或返回颜色的填充方向GradientPercentage属性-用于设置或返回色彩的饱和度IntervalCount属性-用于设置或返回填充颜色带的数目Style属性-用于设置或返回颜色带填充样式,2.地图符号化,46,面要素符号化,相关类-PictureFillSymbol实现了用图片填充面要素实现了IPictureFillSymbol接口CreateFillSymbolFromFile方法-用于设置填充图片的类型和来源Outline属性-用于设置面要素边线Angle属性-用于设置图片的显示方向,2.地图符号化,47,面要素符号化,相关类-MultiLayerFillSymbol

(1)与MultiLayerLineSymbol类似,该类实现了组合符号填充面要素

(2)实现了IMultiLayerFillSymbol接口,2.地图符号化,48,面符号化实例,核心代码,2.地图符号化,49,面符号化实例,效果展示,2.地图符号化,50,文本符号化,

(1)文本符号样式设置由TextSymbol类实现

(2)实现了ITextSymbol接口Size属性-用于设置或返回文本大小Text属性-用于设置或返回文本内容Angle属性-用于设置或返回文本倾斜角度RightToLeft属性-用于设置文本是否从右往左显示VerticalAlignment属性-用于设置或返回垂直方向的对齐方式HorizontalAlignment属性-用于设置或返回水平方向的对齐方式,2.地图符号化,51,文本符号化,核心代码,2.地图符号化,52,文本符号化,效果展示,2.地图符号化,53,符号选择器,ArcGIS中可以使用符号选择器和样式管理器来设置更复杂和更具有行业特征的符号。

2.地图符号化,54,符号选择器,实现思路,2.地图符号化,55,

(1)加载符号库到SymbologyControl控件中

(2)在载入的符号库中选择需要的符号(3)将现有的符号替换为已选择的的符号,符号选择器,核心代码,2.地图符号化,56,样式管理器,样式库通常是在ArcGISDesktop中设计好,在ArcGISEngine编程环境中直接调用。

ESRI样式库文件位于*ArcGISDesktop10.0Styles文件夹下,主要包含了以下两种格式文件:

*.style-在ArcGISDesktop中使用*.ServerStyle-在ArcGISEngine中使用注:

将*.style文件转换为*.ServerStyle文件,才可以在ArcGISEngine中使用符号样式列表,2.地图符号化,57,简介,地图标注是表示制图对象的名称、数量与质量特征的文字和数字等文字语言,用于说明制图对象的名称、种类、性质和数量等具体特征。

ArcGISEngine中提供了两种使用文字信息标注地图要素的方式:

标注和注记。

3.地图标注,58,TextElement标注,TextElement标注类似于ArcGIS中的“标注”功能,即将地理实体的某个属性值添加到地图上。

实现思路,3.地图标注,59,使用IFeatureCursor获取并遍历要素使用get_Value方法获取并遍历要素的属性值(3)将获取的属性值以文本形式赋值给Text属性(4)将文字以Element的形式加入地图容器中,TextElement标注,核心代码,3.地图标注,60,TextElement标注,效果展示,3.地图标注,61,Annotation注记,实现Annotation注记涉及到以下几个接口:

IAnnotateLayerPropertiesCollection、IAnnotateLayerProperties、ILabelEngineLayerProperties等AnnotateLayerPropertiesCollection类是一个要素图层的属性由AnnotationProperties属性获取是标注对象集的集合,可以放置多个不同的LabelEngineLayerProperties(标注对象),3.地图标注,62,Annotation注记,LabelEngineLayerProperties类与某个要素图层关联用于描述要素图层的标注实现了ILabelEngineLayerProperties接口Expression属性-用于通过VBScript或Jscript表达式设置或格式化标注字段BasicOverposterLayerProperties属性-用于设置或返回标注的位置,有处理标注冲突的功能Symbol属性-用于设置或返回标注字体的格式,3.地图标注,63,Annotation注记,核心代码,3.地图标注,64,MapTips显示,

(1)MapTips是一种与地图数据交互的访问方式

(2)可以查看鼠标停留处的要素的属性值具体显示的哪一个字段的值,由该图层的主显示字段决定,实现思路,3.地图标注,65,获取要素图层设置要显示的属性字段(3)设置ShowMapTips属性,MapTips显示,核心代码,3.地图标注,66,单一符号化,采用大小、形状和颜色都统一的点状、线状或面状符号来表示某一个图层只能反映制图要素的地理位置在表达制图要素的地理位置方面具有一定的优势单一符号化的实现与点、线、面简单符号化类似,4.专题地图制图,67,唯一值符号化,根据要素属性值来设置地图符号的将具有相同属性值的地理要素赋予相同的符号,并用符号来区分不同的属性值能够反映出地图要素的数量或者质量的差异(3)唯一值符号化由UniqueValueRenderer类实现(4)该类实现了IUniqueValueRenderer接口FieldCount属性-用于设置或返回渲染字段的个数(0-3个)AddValue方法-将要素的某个字段值和与之匹配的着色符号加入UniqueValueRenderer中,4.专题地图制图,68,唯一值符号化,实现思路,4.专题地图制图,69,

(1)获取渲染字段的属性值

(2)生成填充样式(3)使用Render方法完成渲染,唯一值符号化,核心代码,4.专题地图制图,70,唯一值符号化,核心代码,4.专题地图制图,71,唯一值符号化,效果展示,4.专题地图制图,72,唯一值多字段符号化,与单字段唯一值符号化的实现类似不同:

(1)需要设置IUniqueValueRenderer接口的FieldDelimiter属性作用是将多个组合字段的属性值分开

(2)AddValue方法的参数也不同AddValue需添加的参数为不同属性字段的组合值、字段与其对应的符号,4.专题地图制图,73,分级色彩符号化,

(1)使用不同的颜色来表示不同级别

(2)明确反映制图要素的数量差异分级色彩表示法中色彩选择和分级方案是很重要的这种方法多用于人口密度分布图、粮食产量分布图等。

4.专题地图制图,74,分级色彩符号化,分级色彩由ClassBreaksRenderer类实现,该类实现了IClassBreaksRenderer接口。

Field属性-用于设置分级的字段BreakCount属性-用于设置分级的数目SortClassesAscending属性-用于设置分级后的图例按升级顺序排列,4.专题地图制图,75,分级色彩符号化,核心代码,7,4.专题地图制图,6,分级色彩符号化,核心代码,4.专题地图制图,77,分级色彩符号化,效果展示,4.专题地图制图,78,分级符号化,与分级色彩类似,都是由IClassBreakRenderer接口下的ClassBreakRenderer类实现。

不同:

分级色彩根据不同的值赋予不同的颜色分级符号根据不同的值赋予大小不同的符号,4.专题地图制图,79,分级符号化,效果展示,4.专题地图制图,80,比例符号化,由ProportionalSymbolRenderer类实现实现了IProportionalSymbolRenderer接口Field属性-用于设置或返回渲染字段MaxDataValue属性-用于设置渲染中的最大值MinDataValuel属性-用于设置渲染中的最小值MinSymbol属性-用于设置或返回最小值对应的符号,4.专题地图制图,81,比例符号化,

(1)获取渲染字段的最大值和最小值并赋值

(2)为设置好的点符号赋值(3)完成渲染,实现思路,4.专题地图制图,82,比例符号化,核心代码,4.专题地图制图,83,比例符号化,效果展示,4.专题地图制图,84,点密度符号化,根据制图要素属性值的大小,用随机分布的一定数量且大小相同的点来表示要素空间分布。

注:

属性值越大则表明该区域的点越多,属性越小则表明该地区的点越少由DotDensityRenderer类实现实现了IDotDensityRenderer和IRendererFields这两个接口AddField方法-用来添加渲染字段DotDensitySymbol属性-用来设置或返回点的样式DotValue属性-用来设置每个点所代表的值注:

点密度只能用于面状要素图层,4.专题地图制图,85,点密度符号化,设置渲染字段设置填充点的样式并赋值设置DotValue属性,完成渲染,实

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1