- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
gis二次开发地图符号化
6.6.1 TextElement标注 标注的流程是首先在一个要素图层进行查询,然后通过一个cursor取得所有要进行标注的要素,然后遍历要素做如下操作: 获取单个要素的Envelope属性,即要素几何图形的最小外包矩形。 新建一个TextElement对象,其Text为要素的某个字段属性,而Geometry是要素最小外包矩形的中间点。 将新建的文字元素加入地图中。 刷新视图,让标注文本显示出来。 private void TextElementLabel (IMap pMap,IFeatureClass pFeatClass, string strName) { //获得要素类查询后的要素游标对象 IFeatureCursor pFeatCursor = pFeatClass.Search(null, true); IFeature pFeat = pFeatCursor.NextFeature(); while( pFeat != null ) { //寻找要素类的字段集合,并找出标注字段的索引号 IFields pFields = pFeat.Fields; int i = pFields.FindField(strName); //得到要素的最小外包矩形 IEnvelope pEnv = pFeat.Extent; //确定字符元素的Geometry,它是包络线的中心点 IPoint pPoint = new PointClass(); pPoint.PutCoords(pEnv.XMin + pEnv.Width / 2, pEnv.YMin + pEnv.Height / 2); ITextSymbol pTextSymbol = new TextSymbolClass(); System.Drawing.Font drawFont = new System.Drawing.Font(Arial, 16, FontStyle.Bold); pTextSymbol.Font = (stdole.IFontDisp) OLE.GetIFontDispFromFont(drawFont); pTextSymbol.Color = GetRGBColor(0, 0, 0); ITextElement pTextEle = new TextElementClass(); pTextEle.Text = pFeat.get_Value(i).ToString(); pTextEle . Symbol = pTextSymbol ; IElement pEle = pTextEle as IElement; pEle.Geometry = pPoint; IActiveView pActiveView = pMap as IActiveView; IGraphicsContainer pGraphicsContainer = pMap as IGraphicsContainer; pGraphicsContainer.AddElement(pEle, 0); pFeat = pFeatCursor.NextFeature(); } } private void mnuTextElementLabel_Click(object sender, System.EventArgs e) { IMap pMap = axMapControl1.Map; IFeatureLayer pFeatureLayer = pMap.get_Layer(1) as IFeatureLayer; IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass; string pFieldName = STATE_NAME; TextElementLabel (pMap,pFeatureClass, pFieldName); } 6.6.2 ArcObjects中的标注 ArcObjects提供了两种标注方法: Label(标注),在ArcMap中表现为设置图层的Label属性后,图层就以Label属性中设置的字段进行标注; Annotation(注记),它以更复杂的方法和属性对要素图层进行注记,这个过程是自动进行的,不需要用户进行干预,而且注记的内容还可以保存到地理数据库中。 这两种标注方法在ArcObjects中使用的是一个标注对象集 。 AnnotateLayerPropertiesCollection对象是一个要素图层的属性,它是一个标注集对象
您可能关注的文档
- epr波谱学概论-2013-1.ppt
- excel与数据处理(第3版)杜茂康电子教案 第六章.ppt
- excel与数据处理第一章 excel基础.ppt
- eran2.2ltetdd产品介绍与站点解决方案-20120313-a-1.1.ppt
- fortran90第7章数组.ppt
- fluoroscopy-chapter 实时成像.ppt
- g(改)第7章 同步扫描电路分析.ppt
- good-第4章材料现代分析测试方法-射线衍射.ppt
- gis原理与方法201112-4gis数据输入.ppt
- hpce毛细管电泳技术及应用.ppt
- 二年级下册除法的初步认识_例5.ppt
- 二年级学会感恩主题班会市公开课一等奖省赛课获奖课件.pptx
- 2025年福建福州市档案局招聘模拟题(及答案).pdf
- 2025年国开电大《国际公法》末考题题库(含答案)(1018).pdf
- 2025年国开电大一网一平台《国学经典选读》教学考题库(含答案)(7611).pdf
- 2025年国开电大《公司概论》末考题题库(含答案)(a1040).pdf
- 2025年国开电大《管理英语2》网考机考题库(含答案).pdf
- 2025年国开电大《西方经济学》末考题题库(含答案)(a1026).pdf
- 1.1党的主张和人民意志的统(课时训练)(原卷版)-A4.docx
- 专题01 必修二Unit 1 课前默写本-2024年高考英语一轮科学解决方案(人教版2019)-A4.docx
文档评论(0)