创建注记图层要素

创建完文本注记TextElement后,可以选择以屏幕注记的形式加到屏幕上,也可以通过下面的方式转为注记图层要素:

IFeatureClass annocls = 获取注记图层

                    IDataset pDataset = annocls as IDataset;

                    ITransactions pTransactions = pDataset.Workspace as ITransactions;

                    pTransactions.StartTransaction();

                    IFDOGraphicsLayerFactory pFDOGLFactory = new FDOGraphicsLayerFactoryClass();

                    ILayer tmpLayer = pFDOGLFactory.OpenGraphicsLayer(pDataset.Workspace as IFeatureWorkspace, annocls.FeatureDataset, pDataset.Name);

                    IFDOGraphicsLayer pFDOGLayer = tmpLayer as IFDOGraphicsLayer;

                    IElementCollection pElementColl = new ElementCollectionClass();

                    pFDOGLayer.BeginAddElements();

            ////每新增100个提交下,最后再提交下。防止过多转换失败

            if ((pElementColl != null) && (pElementColl.Count == 100))

            {

                pFDOGLayer.DoAddElements(pElementColl, 0);

                pFDOGLayer.EndAddElements();

                pElementColl.Clear();

                pTransactions.CommitTransaction();

                pTransactions.StartTransaction();

                pFDOGLayer.BeginAddElements();

            }

                    if (pElementColl.Count > 0)

                        pFDOGLayer.DoAddElements(pElementColl, 0);

                    pFDOGLayer.EndAddElements();

                    pElementColl.Clear();

                    pTransactions.CommitTransaction();
时间: 2024-10-26 12:25:11

创建注记图层要素的相关文章

ArcEngine标注和注记

转自原文 ArcEngine标注和注记 标注和注记是ArcEngine中提供的两种使用文字信息标注地图要素的方式.其中标注是作为图层的属性存在的,可以动态创建,注记作为地理要素被存储.需要注意的是Shp文件不支持注记.  绘制标注的方式有两种.让我们先看第一种: 1.使用TextElment绘制标注. 这种方法的原理就是把属性表中的某个属性创建TextElment对象,然后使用IGraphicsContainer 的AddElement方法添加标注.实例代码: //使用TextElment绘制标

AE指定字段转成注记

转自原文 ae指定字段转成注记 ArcMap中有一个功能是Label Features,就是可以将图层内指定字段值显示以Label形式显示在主窗口上,在Label Features后,用右键点击图层,发现可以出现一个原来灰色的功能名,ConvertLabelsToAnnotation.这个功能在AE中提供,可是自己找不到设定字段值的位置,无可奈何,只有另辟蹊径. 就是先创建一个注记层,然后按照图层里指定字段的值来生成注记.就是一个一个Feature点转换.可能会比AE提供的接口效率低,没有办法,

CAD2GIS:arcengine注记添加

在做CAD注记转GIS注记,坎坷,百度了几乎所有可能的资料. 主要参照这里的方法(c++).我使用C#重写了,均测试通过. http://www.cnblogs.com/junyuz/archive/2011/09/01/2162625.html 重要提示:        必须创建好注记图层,设置好比例尺和坐标系.困在这里两天没通过. 方法一 通过IFDOGraphicsLayer添加Elements的方式实现 /// <summary> /// 添加到注记图层 /// </summar

WebGIS中自定义互联网地图局部注记的一种方案

1.    前言 实际项目中我们经常会遇到这样一种场景:地图底图可能是互联网地图(百度.高德.天地图)等等,同时我们自己又有某个区域单独的一套POI数据,我们需要将互联网地图中这个区域的原有POI数据进行遮罩然后只显示我们自己的POI数据. 针对这样的需求,我们首先想到的是能否我们只使用不包含注记的底图瓦片,然后再叠加上我们的POI数据.事实上,实际需求中还需要考虑一点,我们只有部分区域的POI数据,却没有其他区域的POI数据. 所以这个需求真正的核心是:除这个不规则多边形的指定区域外,地图均是

ArcGis 创建Annotation注记要素类、添加注记要素 并加载到Activeview AO C#

AO中一般有两种方式存储图面注记元素,一种使用TextElement,它是文档级的元素,编辑后要通过文档(mxd)保存:另一种是使用Annotation要素类,它是一个独立的要素类(featureclass),需要存储到地理数据库中.使用Annotation featureclass 的方式更灵活.更强大,至于如何灵活,如何强大,待你用到便自知. 1.创建一个标准的Annotation要素类(StandardAnnotationClass) 1 public AnnotationMark(IFe

创建线注记LineElement

1.根据2点创建一条线 /// <summary> /// 创建线 /// </summary> /// <param name="pnt1">The PNT1.</param> /// <param name="pnt2">The PNT2.</param> public static void CreateLine( IPoint pnt1, IPoint pnt2) { IPolyline

创建文本注记TextElement

1.创建一个字体 /// <summary> /// 字体设置 /// </summary> /// <param name="size">The size.</param> /// <param name="fontname">The fontname.</param> /// <returns> /// IFontDisp /// </returns> public 

ArcGIS连带文字注记导出为CAD格式

可以使用ArcGIS的"Export To CAD"工具将点.线.面等要素直接导出为CAD格式.如果要连带将ArcGIS中的文字标注导出为CAD格式要稍麻烦一点,下面是一个例子. 一.将SHP文件导入到GDB或者MDB数据库中(这里以MDB数据库为例): 新建MDB数据库: 将路网线状要素导入数据库 二.标注转注记 加载数据库中的数据并全屏显示 设置地图.显示单位为米,设置比例尺为当前比例尺 显示标记 标记转注记(这一步很关键) 这一步后就将文字注记单独作为一个要素图层添加到线状路网要

如何在ArcGIS中恢复注记文字

文字标注是地图上一种特殊的视觉元素,可通过文字表达图形符号难以说明的地图内容,它与图形符号结合在一起存在于地图上,是关乎地图构图美的关键因素之一. MapGIS软件下子图对象和注释对象统统保存在点文件中,Map2Shp软件针对两类对象具有区别转换能力,将除注释对象外的其他点状对象保存为同名Shape文件,该文件保持了MapGIS点文件中原始的属性信息,而将注释对象专门输出为单独Shape文件(默认情况下为源文件名+"A.shp"),其属性结构中存储了注释文字及其属性,如字体类型.大小.