基于ArcGIS Engine专题图渲染设计与实现.docVIP

基于ArcGIS Engine专题图渲染设计与实现.doc

  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文档。上传文档
查看更多
基于ArcGIS Engine专题图渲染设计与实现   摘要:专题图渲染增强和优化了专题图的表现内容,是专题图制作中的一个关键环节。该文在基于ArcGIS Engine组件库的基础上,设计并实现了专题图渲染系统。该系统具有操作简单灵活等特点,能够改善和优化了地图制图过程, 提高了制图效率和现有数据利用率。   关键词:ArcGIS Engine;专题图;渲染   中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)30-7501-02   1 ArcGIS Engine 简介   ArcGIS Engine是ESRI公司GIS软件ArcGIS 9.0下新增的基于ArcObject的一个面向开发的新产品。该产品基于ArcObject构建, 并提供跨平台的C++组件技术框架用于构建ArcGIS。通过ArcGIS Engine, 用户可以自由地搭建及配置ArcGIS解决方案, 而不需要在同一机器上安装ArcGIS的桌面应用环境。ArcGIS Engine支持全部标准开发环境, 包括.NET, 组件对象模型(COM),Java和C++以及所有主流操作系统(Windows,Unix,Linux)。   ArcGIS Engine提供的专题图有: 单值图、分级分类图、唯一指分类图、点属性图、密度图、饼状图、柱状图、叠加柱状图等。基于ArcGIS Engine实现专题图的关键是对图层进行符号化。符号化功能将图层的内部渲染实现及算法进行了很好的包装, 用户制作或显示专题图时只需选择欲进行符号化的图层、渲染方式、渲染色带、渲染字段, 并预先加载要渲染的图层。   2 专题图渲染模块的设计   一般用户要求系统能以多种专题图实现不同专题信息和在不同区域的可视化对比,同时要求符号化模块交互界面具有较强的灵活性、一定的编辑性,能对专题图中的任何符号进行替换或相关属性信息进行修改、能对不同符号的分布数值区域进行修改。ArcGIS提供了多种方法来制作不同类型的专题图,这些专题图是可以依据要素的一个或多个属性的不同而设置不同类型的符号,从而达到区分不同类型要素的目的。在实际项目中用户也经常使用要素着色的功能。   使用不同的着色对象时,用户需要确定是哪个图层需要被着色,而着色对象只是要素图层的一个属性而已,程序员可以通过IGeoFeatureLayer.Renderer属性获得一个图层的着色对象。下面就以唯一值渲染为例子阐述其实现过程。   3 专题图渲染模块的实现   唯一值渲染需要使用UniqueValueRenderer类, 根据所选唯一值字段对整个图层不同要素填充不同颜色。首先实例化接口IGeoFeatureLayer, 通过类UniqueValueRenderer 实现IUniqueValueRenderer 接口的对象实例,通过对IUniqueValueRenderer的属性进行赋值,最后赋值给IGeoFeatureLayer.Render 属性。关键代码如下:   public void UniqueValueRenderer()   {//定义单值图渲染组件   IUniqueValueRenderer pUniqueValueRenderer = new UniqueValueRendererClass();   //设置渲染字段对象   pUniqueValueRenderer.FieldCount = 1;   pUniqueValueRenderer.set_Field(0, strFieldName);   //创建填充符号   ISimpleFillSymbol pSimpleFillSymbol = new SimpleFillSymbolClass();   pUniqueValueRenderer.DefaultSymbol = (ISymbol)pSimpleFillSymbol;   pUniqueValueRenderer.UseDefaultSymbol = false;   ITable pTable = (ITable)pGeoFeatLayer;   int indexOfFID = pTable.FindField(strFieldName);   //为每个值设置符号   IFeature pFeat = pFeatCursor.NextFeature();   IClone pSourceClone = (IClone)pSimpleFillSymbol;   ISimpleFillSymbol pSymbol = (ISimpleFillSymbol)pSourceClone.Clone();   string pFeat

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档