ArcGIS Engine Maplex Label(标注)使用一例(转)
/// <summary>
/// MaplexEngine标注
/// </summary>
/// <param name="pGeoFeatLyr">标注图层</param>
/// <param name="pMap">地球人都知</param>
/// <param name="annoField">标记字段</param>
public void Annotation(IGeoFeatureLayer pGeoFeatLyr, IMap pMap, string annoField)
{
IAnnotateMap pAnnoMap;
pAnnoMap = new MaplexAnnotateMapClass();
pMap.AnnotationEngine = pAnnoMap;
IGeoFeatureLayer pGeoFeatLayer;
pGeoFeatLayer = pGeoFeatLyr;
IAnnotateLayerPropertiesCollection pAnnoProps;
pAnnoProps = pGeoFeatLyr.AnnotationProperties;
pAnnoProps.Clear();
ILabelEngineLayerProperties2 pLabelEngine2 = new MaplexLabelEngineLayerPropertiesClass();
pLabelEngine2.Expression = "[" + annoField + "]"; IMaplexOverposterLayerProperties pMaplexPro = new MaplexOverposterLayerPropertiesClass();
pMaplexPro.FeatureType = esriBasicOverposterFeatureType.esriOverposterPolygon;
pMaplexPro.PolygonPlacementMethod = esriMaplexPolygonPlacementMethod.esriMaplexHorizontalInPolygon;
pMaplexPro.CanPlaceLabelOutsidePolygon = false;
pMaplexPro.CanRemoveOverlappingLabel = false;
pMaplexPro.RepeatLabel = false;
pLabelEngine2.OverposterLayerProperties = pMaplexPro as IOverposterLayerProperties;
IMapOverposter pMapPos = axMapControl1.Map as IMapOverposter;
IOverposterProperties pOP = pMapPos.OverposterProperties;
IMaplexOverposterProperties pMaplexOP = pOP as IMaplexOverposterProperties;
pMaplexOP.LabelLargestPolygon = false;
pAnnoProps.Add(pLabelEngine2 as IAnnotateLayerProperties);
pGeoFeatLyr.DisplayAnnotation = true;
}
来自:https://www.cnblogs.com/cannel/archive/2011/03/24/1993383.html
IAnnotateMap pAnnoMap = new MaplexAnnotateMapClass();
m_hookHelper.FocusMap.AnnotationEngine = pAnnoMap;
使用Maplex
ArcGIS Engine Maplex Label(标注)使用一例(转)的更多相关文章
- [转] ArcGIS engine中气泡标注的添加、修改
小生 原文 ArcGIS engine中气泡标注的添加.修改! 你微微地笑着,不同我说什么话.而我觉得,为了这个,我已等待得久了. ...
- ArcGIS Engine中的Symbols详解
转自原文ArcGIS Engine中的Symbols详解 本文由本人翻译ESRI官方帮助文档.尊重劳动成果,转载请注明来源. Symbols ArcObjects用了三种类型的Symbol(符号样式) ...
- ArcGIS Engine开发之地图基本操作(4)
ArcGIS Engine开发中数据库的加载 1.加载个人地理数据库数据 个人地理数据库(Personal Geodatabase)使用Miscrosoft Access文件(*.mdb)进行空间数据 ...
- ArcGIS Engine开发之地图基本操作(3)
地图数据的加载 一.加载Shapefile数据 Shapefile文件是目前主流的一种空间数据的文件存储方式,也是不同GIS软件进行数据格式转换常用的中间格式.加载Shapefile数据的方式有两种: ...
- ArcGIS Engine开发前基础知识(2)
ArcGIS基本控件简介 ArcGIS Engine控件是一组可视化的开发组件,每个ArcGIS Engine控件都是一个COM组件.这些组件包括MapControl,PageLayoutContro ...
- 转-ArcGIS Engine许可初始化
关于初始化Engine许可的,其实原理都很简单,大家一般都没有问题,但又往往会因为不够细心加上Engine的“小脾气”,让不少程序员都要在这里犯错. 以Engine9.2为例,应用程序是强制初始化许可 ...
- 转-ArcGIS Engine中的License设置
AE开发中的License有两种方法进行设置,一种是通过LicenseControl控件,另一种是通过IAoInitialize接口设置.整个应用程序中只能有一种方式存在,如果进行了两种License ...
- ArcGIS Engine开发之旅10--空间参考及坐标转换
原文:ArcGIS Engine开发之旅10--空间参考及坐标转换 空间参考(Spatial Reference)是 GIS 数据的骨骼框架,能够将我们的数据定位到相应的位置,为地图中的每一点提供准确 ...
- ArcGIS Engine开发之旅09--几何对象和空间参考
原文:ArcGIS Engine开发之旅09--几何对象和空间参考 1.Geometry Geometry 是 GIS 中使用最为广泛的对象集之一,用户在创建.删除.编辑和进行地理分析的时候,就是处 ...
随机推荐
- 几种list排序方法
package com.lgx.jdk8.part02; import java.util.*; import java.util.stream.Collectors; /** * Comparato ...
- 【前端vue开发】vue开发总结
- 兼容IE FF 获取鼠标位置
由于Firefox和IE等浏览器之间对js解释的方式不一样,firefox下面获取鼠标位置不能够直接使用clientX来获取.网上说的一般都是触发mousemove事件才行.我这里有两段代码,思路都一 ...
- vmware提示:此虚拟机似乎正在使用中,无法取得所有权的解决办法
在虚拟机运行时,一次非正常关机.导致虚拟机出现以下错误: 此虚拟机似乎正在使用中. 如果此虚拟机已在使用中,请按“取消”按钮,以免损坏它.如果此虚拟机未使用,请按“取得所有权(&T)”按钮以获 ...
- 001_Eclipse编写第一个Java程序
1 下载并安装jdk 2 下载较新版本的eclipse,eclipse都是非安装版的,解压缩即可. 3 双击eclipse.exe,打开elipse软件 4 FileàNewàProject 5 选择 ...
- Windows下SVN服务器搭建方法整理(apache)
http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...
- 【AtCoder】ARC090
C - Candies 前一枚举一个i,求第一行的前i个和第二行从第n个到第i个 代码 #include <bits/stdc++.h> #define fi first #define ...
- P1736 创意吃鱼法 图的DP
题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她发现,把大池子视为01矩阵(0表示对应位置无鱼,1 ...
- 使用JQuery获取对象的几种方式(转)
原文:http://51876.iteye.com/blog/1350358 1.先讲讲JQuery的概念 JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很 ...
- Javascript数组Array的方法总结!
1.join() 将数组的元素组成一个字符串,以分隔符连接,如果省略则默认逗号为分隔符,该方法只接收一个参数:分隔符.此方法不会改变原数组. let arr = [1,2,3,4] let arr1 ...