第四章 地图制图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地图符号由形状不同、大小不一、色彩有别的图形和文字组 成,既是地图的语言,也是一种图形语言。 根据事物分布的特点,地图符号分为点状、线状和面状三种。
.
地图符号化
地图符号化:给地图上的要素赋予特定的符号,这些符号具 有明显的意义,并能把地图上的信息正确的表达出来。
比如:县级市人民政府驻地,可以统一用“圆环符号”标识。
.
4.1 颜色对象 Color
AlgorithmicColorRamp颜色带实例
通过起止颜色来确定多个在这两个颜色之间的
色带。AlgorithmicColorRamp类实现了两个
接口:IColorRamp和 IAlgorithmicColorRamp,两个接口之间是
接口继承关系,后者包含了前者所有的方法和
Hue-色调 Saturation-饱和度 Value-明度
.
6-16
Gray模型 (8位信息)
Gray模型:没有彩色的,灰度图像由8位信息组成,并
使用256级的灰色来模拟颜色层次。
.
6-17
4.1 颜色对象 Color
(2) Color对象
Color对象是抽象类,有5个颜色子类(组件类) CMYKColor、RGBColor、HSVColor、HLSColor、GrayColor,
ESRI.ArcGIS.Controls类库
Controls类库 包含了应用程序开发中用到的控件,包括在控件中 使用的命令和工具。如MapControl、 ToolbarControl 、 PageLayoutControl和LicenseControl 等。
.
6-2
课前回顾
Carto 类库负责创建地图、显示图层。包括显示多个地图图层,提供
Renderer对象。Renderer对象的属性控制着数据在地图中的显示方式。常用的渲 染器( Renderer )对象: SimpleRenderer UniqueValueRenderer ClassBreaksRenderer ProportionalSymbolRenderer DotDensityRenderer . ChartRenderer BiUniqueValveRenderer
属性。
.
4.1 颜色对象 Color
private void btnCreateColorRamp_Click(object sender, EventArgs e) { //创建一个新AlgorithmicColorRampClass对象 IAlgorithmicColorRamp pAlgColorRamp = new AlgorithmicColorRampClass(); //创建起始颜色对象 pAlgColorRamp.FromColor = getRGBColor(0, 255, 0); //创建终止颜色对象 pAlgColorRamp.ToColor = getRGBColor(255,0, 0); //设置梯度类型 pAlgColorRamp.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; pAlgColorRamp.Size = 5;//设置颜色带颜色数量 //创建颜色带 bool bture = true; pAlgColorRamp.CreateRamp(out bture); //使用IEnumColors获取颜色带 IEnumColors pEnumColors = null; pEnumColors = pAlgColorRamp.Colors; //设置5个picturebox的背景色为产生颜色带的5个颜色 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.pictureBox4.BackColor = ColorTranslator.FromOle(pEnumColors.Next().RGB); this.pictureBox5.BackColor = ColorTranslator.FromOle(pEnumColors.Next().RGB);
地级市人民政府驻地,用“粗圆环符号”突出人口最多的一个 地级市。
地图的符号化分为点、线、面三大类要素的符号化。标注也 是符号化的一项重要内容。 一般情况下,一个图层配置相同的符号即可。但也有特殊需 求,在同一图层中给某几个特殊要素配置特定的符号。
在地图符号化的基础上,为了突出体现某种特殊信息,就需 要专题图制作。专题图实际上是为了表达某种空间信息而进 行的特殊符号化,一般有分类图、分级图、统计图、密度图 等。
.
6-12
4.1 颜色对象 Color
(1) ArcGIS 颜色模型
ArcGIS提供的颜色模型有:
RGB模型 CMYK模型(印刷) HSV模型 HIS模型 Gray模型
(8位信息)
.
RGB颜色模型
RGB颜色模型:最常用,所有颜色都是通过红色(Red)、绿色 (Green)、蓝色(Blue)这三原色的混合来显示。
.
6-15
HSV模型、HIS模型
HSV模型:每一种颜色都 是由色相(Hue,简H)、 饱和度(Saturation,简S) 和色明度(Value,简V) 所表示的
HIS色彩空间是从人的视觉 系统出发,用色调(Hue) 、色饱和度(Saturation或 Chroma)和亮度 ( Intensity或Brightness)来描 述色彩
GIS开发与应用 —基于ArcEngine方法
课前回顾
ContextMenuStrip1.Show( )
ITOCControl HitTest( ) ICommand 属于哪个类库?
ESRI.ArcGIS.SystemUI
SystemUI类库 定义了一些被ArcGIS用户界面组件所使用的对象 ,如ICommand、Itool、ItoolControl等。
.
4.1 颜色对象 Color
4.1.1
4.1.2 4.1.3
ArcGIS 颜色模型
Color 对象
ColorRamp 对象
.
4.1 颜色对象 Color
(1) ArcGIS 颜色模型
ArcGIS Engine中有以下5种颜色对象,每种颜色对象都实现 了IColor接口。
从这个表中也可以看出ArcGIS Enine中存在五种颜色模型 RGB,HSV,HIS,GARY和CMYK.
Carto类库包含用于数据显示的组件,PageLayout,Map及各种形 式的Layer、Renderer由此库提供。
.
6-7
地图符号化
在我们拿到地图的时候,映入眼帘的是花花绿绿的符号。地 图符号是表达空间数据的基本手段,是我们沟通地图的语言 。符号化可以认为是给我们的空间数据披上多彩的衣服,让 她更加婀娜多姿。 从地图出现开始,人们就使用各种符号来修饰地图上的要素 ,使得地图能够清晰、美观,并且最重要的是使其能够直接 表达用户所需要的不同类型的信息,比如统计、分类信息。 地图符号不仅能表示事物的空间位置、形状、质量和数量特 征,而且还可以表示各事物间的相互联系及区域总体特征。
常用的图层对象:
FeatureLayer: 矢量数据;
TinLayer: Tin 数据;
RasterLayer: 栅格数据
GroupLayer: 组图数据,一个图层的集合 CadFeatureLayer: CAD 要素数据
图层可以处理与之相关数据的所有绘图操作,但通常图层都是一个相关的
RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量 分配一个0~255范围内的强度值。RGB图像只使用三种颜色, 就可以使它们按照不同的比例混合,在屏幕上重现16777216 种颜色。
.
6-14
CMYK模型(印刷)
CMYK(Cyan, Magenta, Yellow)颜色空间应用于印刷工业, 印刷业通过青(C)、品(M)、黄(Y)三原色油墨的不同网点面积 率的叠印来表现丰富多彩的颜色和阶调,这便是三原色的 CMY颜色空间。实际印刷中,一般采用青 (C)、品红(M)、黄 (Y)、黑(BK)四色印刷,在印刷的中间调至暗调增加黑版
.
6-9
ArcEngine环境下的地图符号化
ArcEngine环境中提供了丰富的符号组件来满足地图设计中 的各种需求,这些组件包括颜色(Color)、符号 (Symbol) 、专题图制作( Renderer)三大系列。地图符 号化就是通过多个组件对象间的合作来完成。 用Color为要素配置显示颜色 用MarkerSymbol表示点符号 用LineSymbol表示线状符号 Symbol 用FillSymbol表示面状要素 用TextSymbol表示文字注记符号 用FeatureRenderer专题图渲染,符号化图层
它们可以使用IColor接口定义的方法设置颜色对象的基本属性。
IRgbColor
IHsvColor
.
4.1 颜色对象 Color
以一个函数来通过R,G,B值来构建一个RGBColor对象:
private IRgbColor GetRGB(int r,int g,int b) { IRgbColor pRgbColor= new RgbColorClass();//构建一个 RgbColorClass pRgbColor.Red = r;//设置 Red 属性 pRgbColor.Green = g;//设置 Green 属性 pRgbColor.Blue = b;//设置 Blue 属性 return pRgbColor; }
ArcGIS Engine提供了颜色带(ColorRamp)对象:
ColorRamp对象是抽象类,它实现了IColorRamp接口,该类 有4个子类:
AlgorithmicColorRamp(起止颜色带)用起始颜色、终止颜色确定一个 颜色带, 起始、终止颜色使用RGB模型
RandomColorRamp(随机颜色带)使用HSV颜色模型来确定一串颜色 PresetColorRamp(预设颜色带)预设的颜色模式,可存储13种颜色 MultiPartColorRamp(叠加颜色带)叠加产生颜色带
GetRGB (255, 0, 0)
.
4.1 颜色对象 Color
(3)色带(ColorRampwenku.baidu.com对象
在地图符号化的过程中,需
要的颜色常常不是一种,而 是随机或有序产生的一组颜
色。如果对某一个图层进行
符号化需要上百种颜色,如 图所示,程序开发者无法逐 个产生。
.
4.1 颜色对象 Color
指北针、图例、比例尺等地图元素,显示地图上所有图层的属性、空 间参考等,操作地图图层。
PageLayout, Map, Element等对象都在这个库中,如使用频率比较高的 IMap,ILayer, IFeatureRenderer等。 另外还包括地图元素IElement接口和 子接口,例如:ILineElement,ITextElement等类。
6-3
课前回顾
如何调用ControlsOpenDocCommandClass()?
ICommand pCommand = new ControlsOpenDocCommandClass ();
pCommand.OnCreate(axMapControl1.Object);
pCommand.OnClick();
.
课前回顾
学会查帮助文档
.
课前回顾
.
第四章 地图制图
4.1 颜色对象 Color (ESRI.ArcGIS.Display)
ESRI.ArcGIS.Display类库所含的组件,可以支持在输出设备上 进行符号化制图
4.2 符号对象Symbol (ESRI.ArcGIS.Display) 4.3 专题图制作Renderer (ESRI.ArcGIS.Carto)
.
地图符号化
地图符号化:给地图上的要素赋予特定的符号,这些符号具 有明显的意义,并能把地图上的信息正确的表达出来。
比如:县级市人民政府驻地,可以统一用“圆环符号”标识。
.
4.1 颜色对象 Color
AlgorithmicColorRamp颜色带实例
通过起止颜色来确定多个在这两个颜色之间的
色带。AlgorithmicColorRamp类实现了两个
接口:IColorRamp和 IAlgorithmicColorRamp,两个接口之间是
接口继承关系,后者包含了前者所有的方法和
Hue-色调 Saturation-饱和度 Value-明度
.
6-16
Gray模型 (8位信息)
Gray模型:没有彩色的,灰度图像由8位信息组成,并
使用256级的灰色来模拟颜色层次。
.
6-17
4.1 颜色对象 Color
(2) Color对象
Color对象是抽象类,有5个颜色子类(组件类) CMYKColor、RGBColor、HSVColor、HLSColor、GrayColor,
ESRI.ArcGIS.Controls类库
Controls类库 包含了应用程序开发中用到的控件,包括在控件中 使用的命令和工具。如MapControl、 ToolbarControl 、 PageLayoutControl和LicenseControl 等。
.
6-2
课前回顾
Carto 类库负责创建地图、显示图层。包括显示多个地图图层,提供
Renderer对象。Renderer对象的属性控制着数据在地图中的显示方式。常用的渲 染器( Renderer )对象: SimpleRenderer UniqueValueRenderer ClassBreaksRenderer ProportionalSymbolRenderer DotDensityRenderer . ChartRenderer BiUniqueValveRenderer
属性。
.
4.1 颜色对象 Color
private void btnCreateColorRamp_Click(object sender, EventArgs e) { //创建一个新AlgorithmicColorRampClass对象 IAlgorithmicColorRamp pAlgColorRamp = new AlgorithmicColorRampClass(); //创建起始颜色对象 pAlgColorRamp.FromColor = getRGBColor(0, 255, 0); //创建终止颜色对象 pAlgColorRamp.ToColor = getRGBColor(255,0, 0); //设置梯度类型 pAlgColorRamp.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; pAlgColorRamp.Size = 5;//设置颜色带颜色数量 //创建颜色带 bool bture = true; pAlgColorRamp.CreateRamp(out bture); //使用IEnumColors获取颜色带 IEnumColors pEnumColors = null; pEnumColors = pAlgColorRamp.Colors; //设置5个picturebox的背景色为产生颜色带的5个颜色 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.pictureBox4.BackColor = ColorTranslator.FromOle(pEnumColors.Next().RGB); this.pictureBox5.BackColor = ColorTranslator.FromOle(pEnumColors.Next().RGB);
地级市人民政府驻地,用“粗圆环符号”突出人口最多的一个 地级市。
地图的符号化分为点、线、面三大类要素的符号化。标注也 是符号化的一项重要内容。 一般情况下,一个图层配置相同的符号即可。但也有特殊需 求,在同一图层中给某几个特殊要素配置特定的符号。
在地图符号化的基础上,为了突出体现某种特殊信息,就需 要专题图制作。专题图实际上是为了表达某种空间信息而进 行的特殊符号化,一般有分类图、分级图、统计图、密度图 等。
.
6-12
4.1 颜色对象 Color
(1) ArcGIS 颜色模型
ArcGIS提供的颜色模型有:
RGB模型 CMYK模型(印刷) HSV模型 HIS模型 Gray模型
(8位信息)
.
RGB颜色模型
RGB颜色模型:最常用,所有颜色都是通过红色(Red)、绿色 (Green)、蓝色(Blue)这三原色的混合来显示。
.
6-15
HSV模型、HIS模型
HSV模型:每一种颜色都 是由色相(Hue,简H)、 饱和度(Saturation,简S) 和色明度(Value,简V) 所表示的
HIS色彩空间是从人的视觉 系统出发,用色调(Hue) 、色饱和度(Saturation或 Chroma)和亮度 ( Intensity或Brightness)来描 述色彩
GIS开发与应用 —基于ArcEngine方法
课前回顾
ContextMenuStrip1.Show( )
ITOCControl HitTest( ) ICommand 属于哪个类库?
ESRI.ArcGIS.SystemUI
SystemUI类库 定义了一些被ArcGIS用户界面组件所使用的对象 ,如ICommand、Itool、ItoolControl等。
.
4.1 颜色对象 Color
4.1.1
4.1.2 4.1.3
ArcGIS 颜色模型
Color 对象
ColorRamp 对象
.
4.1 颜色对象 Color
(1) ArcGIS 颜色模型
ArcGIS Engine中有以下5种颜色对象,每种颜色对象都实现 了IColor接口。
从这个表中也可以看出ArcGIS Enine中存在五种颜色模型 RGB,HSV,HIS,GARY和CMYK.
Carto类库包含用于数据显示的组件,PageLayout,Map及各种形 式的Layer、Renderer由此库提供。
.
6-7
地图符号化
在我们拿到地图的时候,映入眼帘的是花花绿绿的符号。地 图符号是表达空间数据的基本手段,是我们沟通地图的语言 。符号化可以认为是给我们的空间数据披上多彩的衣服,让 她更加婀娜多姿。 从地图出现开始,人们就使用各种符号来修饰地图上的要素 ,使得地图能够清晰、美观,并且最重要的是使其能够直接 表达用户所需要的不同类型的信息,比如统计、分类信息。 地图符号不仅能表示事物的空间位置、形状、质量和数量特 征,而且还可以表示各事物间的相互联系及区域总体特征。
常用的图层对象:
FeatureLayer: 矢量数据;
TinLayer: Tin 数据;
RasterLayer: 栅格数据
GroupLayer: 组图数据,一个图层的集合 CadFeatureLayer: CAD 要素数据
图层可以处理与之相关数据的所有绘图操作,但通常图层都是一个相关的
RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量 分配一个0~255范围内的强度值。RGB图像只使用三种颜色, 就可以使它们按照不同的比例混合,在屏幕上重现16777216 种颜色。
.
6-14
CMYK模型(印刷)
CMYK(Cyan, Magenta, Yellow)颜色空间应用于印刷工业, 印刷业通过青(C)、品(M)、黄(Y)三原色油墨的不同网点面积 率的叠印来表现丰富多彩的颜色和阶调,这便是三原色的 CMY颜色空间。实际印刷中,一般采用青 (C)、品红(M)、黄 (Y)、黑(BK)四色印刷,在印刷的中间调至暗调增加黑版
.
6-9
ArcEngine环境下的地图符号化
ArcEngine环境中提供了丰富的符号组件来满足地图设计中 的各种需求,这些组件包括颜色(Color)、符号 (Symbol) 、专题图制作( Renderer)三大系列。地图符 号化就是通过多个组件对象间的合作来完成。 用Color为要素配置显示颜色 用MarkerSymbol表示点符号 用LineSymbol表示线状符号 Symbol 用FillSymbol表示面状要素 用TextSymbol表示文字注记符号 用FeatureRenderer专题图渲染,符号化图层
它们可以使用IColor接口定义的方法设置颜色对象的基本属性。
IRgbColor
IHsvColor
.
4.1 颜色对象 Color
以一个函数来通过R,G,B值来构建一个RGBColor对象:
private IRgbColor GetRGB(int r,int g,int b) { IRgbColor pRgbColor= new RgbColorClass();//构建一个 RgbColorClass pRgbColor.Red = r;//设置 Red 属性 pRgbColor.Green = g;//设置 Green 属性 pRgbColor.Blue = b;//设置 Blue 属性 return pRgbColor; }
ArcGIS Engine提供了颜色带(ColorRamp)对象:
ColorRamp对象是抽象类,它实现了IColorRamp接口,该类 有4个子类:
AlgorithmicColorRamp(起止颜色带)用起始颜色、终止颜色确定一个 颜色带, 起始、终止颜色使用RGB模型
RandomColorRamp(随机颜色带)使用HSV颜色模型来确定一串颜色 PresetColorRamp(预设颜色带)预设的颜色模式,可存储13种颜色 MultiPartColorRamp(叠加颜色带)叠加产生颜色带
GetRGB (255, 0, 0)
.
4.1 颜色对象 Color
(3)色带(ColorRampwenku.baidu.com对象
在地图符号化的过程中,需
要的颜色常常不是一种,而 是随机或有序产生的一组颜
色。如果对某一个图层进行
符号化需要上百种颜色,如 图所示,程序开发者无法逐 个产生。
.
4.1 颜色对象 Color
指北针、图例、比例尺等地图元素,显示地图上所有图层的属性、空 间参考等,操作地图图层。
PageLayout, Map, Element等对象都在这个库中,如使用频率比较高的 IMap,ILayer, IFeatureRenderer等。 另外还包括地图元素IElement接口和 子接口,例如:ILineElement,ITextElement等类。
6-3
课前回顾
如何调用ControlsOpenDocCommandClass()?
ICommand pCommand = new ControlsOpenDocCommandClass ();
pCommand.OnCreate(axMapControl1.Object);
pCommand.OnClick();
.
课前回顾
学会查帮助文档
.
课前回顾
.
第四章 地图制图
4.1 颜色对象 Color (ESRI.ArcGIS.Display)
ESRI.ArcGIS.Display类库所含的组件,可以支持在输出设备上 进行符号化制图
4.2 符号对象Symbol (ESRI.ArcGIS.Display) 4.3 专题图制作Renderer (ESRI.ArcGIS.Carto)