欢迎来到天天文库
浏览记录
ID:15950277
大小:2.50 MB
页数:52页
时间:2018-08-06
《arcgisengine基础开发教程()—学习图层符号化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ArcGISEngine基础开发教程(4)—学习图层符号化本帖最后由fxlcoco于2009-5-2109:31编辑地图符号不仅具有确定的空间位置以及空间地物的性质:例如在一个城市管线系统中不同的线符号表示不同类型的管线,不同的点符号表示不同类型的设备等等,而且地图符号也可以表达与空间位置相关的丰富信息:例如人口密度符号可以直观的表示人口数量的空间分布情况。所以地图数据的符号化决定着地图以何种“面目”展现给地图的使用者,自此空间数据的符号化对GIS开发有非常重要的意义。ArcGIS Engine9.3提供了丰富的控件和组件
2、库来实现图层符号化的相关功能。ArcGISEngine9.3提供了SymbologyControl控件用于显示ArcGIS符号库中的符号(关于ArcGIS符号请查找相关文档),而组件库中的组件对象分为Color, Symbol,Renderer三大系列,图层符号化就是通过多个组件对象来合作完成。4.1目标1.熟悉ArcGISEngine符号化之Color(颜色)体系2.熟悉ArcGISEngine符号化之Symbol(符号)体系3.熟悉ArcGISEngine符号化之Renderer(渲染)体系4.利用ESRI自带的符号库
3、进行符号化图层4.2准备工作1.IDE:VisualStudio2005/20082.ArcGISEngineDeveloperkit9.33.自造一份用于唯一值符号化的点数据(文章内有说明)5评分次数·精品文章 威望+2金钱+20稀饭· 金钱+2long87096682·正需要这方面的资料 金钱+3竹疏· 威望+3金钱+10gispeng· 金钱+8yoyo本主题由fxlcoco于2010-3-317:44提升收藏分享评分努力不一定成功,放弃就一定失败。学习是一种信仰(Inlearningwetrust)!回复
4、引用订阅报告道具TOPfxlcoco·发短消息·加为好友fxlcoco(Smart)当前离线GIS圈里小混混UID4359 帖子1409 精华14 积分12456 在线时间1692小时 注册时间2005-12-21 最后登录2010-5-5 2#发表于2009-5-2019:14
5、只看该作者版主帖子1409 精华14 4.3符号化Color(颜色)体系4.3.1ArcGIS颜色模型ArcGIS提供Color(颜色)的模型有多种分别是:·RGB颜色模型:最常用,所有颜色都是通过红色(Red)、绿色(Green)、蓝色(Blu
6、e)这三原色的混合来显示。·CMY颜色模型:青(Cyan)、洋红(Magenta)和黄(Yellow)三种颜色的简写,是相减混色模式,用这种方法产生的颜色之所以称为相减色,主要用于印刷中。·HSV颜色模型:色彩(H),纯度(S),明度(V)。·Gray模型:没有彩色的,灰度图像由8位信息组成,并使用256级的灰色来模拟颜色层次。·HLS模型:Hue(色相)、Luminance(亮度)、Saturation(饱和度)。图1 如上图所示Color对象是一个抽象类,它包括5个子类:它有5个颜色子类,即CmykColor、R
7、GBColor、HSVColor、HLSColor和GrayColor,它们可以使用IColor接口定义的方法设置颜色对象的基本属性。在ArcGISengine中最常使用的两种颜色模型是RGB和HSV,RGB类实现IRgbColor接口,而HSV类则实现IHsvColor接口,两个接口分别定义了设置一个RGBColor对象和RGBColor对象需传递的值。接下来以一个函数来通过R,G,B值来构建一个RGBColor对象privateIRgbColorGetRGB(intr,intg,intb){IRgbColorpRgbC
8、olor=newRgbColorClass();//构建一个RgbColorClasspRgbColor.Red=r;//设置Red属性pRgbColor.Green=g;//设置Green属性pRgbColor.Blue=b;//设置Blue属性returnpRgbColor;}4.3.2ColorRamp对象在地图符号化的过程中,需要的颜色常常不是一种,而是随机或有序产生的一组颜色。如果对某一个图层进行符号化需要上百种颜色如图2所示,程序开发者肯定不能逐个产生出来。ArcGISEngine提供了ColorRamp对象:
9、图2ColorRamp类的对象可以产生颜色带,这个类实现了IColorRamp接口,它定义了一系列颜色带的属性,如Size(产生多少种颜色),Colors(颜色带IEnumColor)。ColorRamp类是一个抽象类,它包括4个子类分别是:RandomColorRamp(随机颜色带)、PresetCo
此文档下载收益归作者所有