GIS二次开发15.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
地理信息系统二次开发实践 (15) 2005.4.27 6.3.3 ClassBreaksRenderer: 分类渲染(CBR) 分类渲染对象提供了一种将图层中的要素进行分类或分级的方法,根据图层属性表中数值字段的分类情况进行渲染。下图表现了用分类渲染对象描述世界人口的效果: 对象模型图: 在使用分类渲染对象时,一个要素要以什么符号进行渲染,将取决于这个要素在给定字段(由属性Field指定) 上的取值。 将BreakCount属性设定为一个整数,以指定要分几个类 (也就意味着你可以用几个不同的符号来表达要素), 属性 Break (数值型数组)来指定在给定字段(属性Field所定义的这个)上特定的一个取值,一个取值对应一种符号. BreakCount属性定义的是分类点的数目, 分类数目总是比BreakCount所指定的值大1。 也就是说,如果你将BreakCount设置为2, 则要素将会分为3种类别进行渲染。 每个要素在字段Field上的取值决定 它被分为哪一类。 应用Symbol(符号)数组,分类渲染对象分配一种符号给一类图层要素。 你可以为每一类要素分配一种特定的符号。 要根据矢量图层中要素的类型正确设置SymbolType(要素类别)属性。 使用 RampColors 方法相当于是一个颜色生成器,只需指定一种起始颜色值和一种终止颜色值,起始颜色值所代表的颜色会分配给第一类要素,终止颜色值所代表的颜色会被分配给最后一类要素。分类渲染对象会根据你指定的这两个值进行插值,从而产生其它颜色。 你也可调用SizeSymbols方法来产生渐变符号,在使用这个方法的时候需要指定符号的最小尺寸和最大尺寸,最小尺寸的符号会被用于第一类要素,最大尺寸的符号会被用于最后一类要素。分类渲染对象将用线性插值的方法计算其它类别对应符号的尺寸。 你可以应用不同的分类技术分析于图层有关的属性数据。分类的目的有两个:一是使得识别和理解地图信息的过程更容易,其二是显示地图中隐藏的信息。以下是比较常用的几种分类方法: Quantile(分位点:每一组中最大可能地包含了相同数目的要素) Equal Interval (相等组距分组) Standard Deviations (均方差分组:每一组中要素间最具相似性) Natural Breaks(自然分割法) Equal Area(等面积分组:每一组中所有要素面积之和最接近) Quantile(分位点:每一组中最大可能地包含了相同数目的要素) 在分位点分类方法中,每一类中包含了相同数目的要素。 分位点分类方法是最适宜合用于有线性分布特性的数据。换而言之, 所有要素的数值变化是渐变的,没有不均匀变化。 根据指定字段(数值型字段)对图层中要素的记录集进行排序,根据指定的分类数计算每一类要包含多少个要素,确定分类点 Simple Codes Private Sub cmdQuantitle_Click() Dim ly As New MapObjects2.MapLayer Dim oCBR As New MapObjects2.ClassBreaksRenderer Dim i As Integer, j As Integer, nClasses As Integer, nRecs As Integer Dim recs As MapObjects2.Recordset Set ly = Map1.Layers(云南州界prj) nClasses = 5 nRecs = ly.Records.Count oCBR.BreakCount = nClasses - 1 oCBR.Field = POP2000 Set recs = ly.SearchExpression(FeatureId -1 order by POP2000) For i = 0 To oCBR.BreakCount - 1 For j = 1 To nRecs / nClasses recs.MoveNext Next j oCBR.Break(i) = recs(POP2000).Value Next i oCBR.RampColors moLightYellow, moBlue Set ly.Renderer= oCBR Map1.Refresh End Sub Equal Interval (相等组距分组) 使用相等组距分类法,首先将要素数值的值域平均分割成组距相同的几个区间,每个要素落在不同的区间中。 Private Sub cmdEqualInterval_Click() ………. Set lyr = Map1.Layers(

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档