ArcGIS标注使用技巧标注是显示在地图上的文字信息,它是出图中不可或缺的重要元素标注的样式丰富,并且放置位置灵活,因此带来了对标注控制的难度例如地质图里的上下标,或是一些分式的标注,就必须使用代码编程来实现这篇文章就主要结合几个实例来讨论一下标注的使用技巧,以及在ArcGIS软件中的实现1?上下标在地质图中经常会使用到上下标的文字,在ArcGIS帮助中可以查看到上下标的写法如下所示:%幻卸f于上标:""?&?[上标字段]?&?"V/SUP>"JiX1■CX*li'下标:""?&?[下标字段]?&?"v/SUB>"p—■———但是如果同时需要使用上下标的时候,就会出现这样的显示效果“测验”?,上下标不会对齐,如果想显示的美观一些,就需要使用到高级的标注技巧,让i■■Maplex这个扩展模块来帮我们解决问题了JI关于Maplex:Maplex是桌面软件的一个扩展模块,ArcGIS的Maplex扩展模块在ArcMap中增加了高级的标注布局和冲突检测的方法使用Maplex可以节约很多的时间实验表明,在地图上标注,使用Maplex至少可以节约50%的时间Maplex是GIS制图的一个重要工具,它提供了很好的文字渲染和具有打印质量的文字布局方式。
上下标的解决方案如下:1)在数据的表格中将上下标内容存储在一个字段中,用空格分开,例如“上标?下标”;2)在DataFrame(数据框)的属性对话框中把标注引擎调整为“ESRIMaplexLabelEngine”;3)在标注的表达式里敲入以下代码[标注字段]&""&[上下标字段]&"v/SUP>"这句代码仅仅采用了上标的关键字,它会把现在的上下标统一显示在上标的位置,下面还需要调整标注的放置属性;4)点击PlacementProperties—FittingStrategy—StackLabel—Option,进行女口下设置.得到的效果图如下所示,因为上下标字符的长度不同,右对齐尚不能达到很完美的效果,但是比之前“测验”还是改进了许多\夕I2?分式标注分式标注是又一个难点,ArcGIS里并不能直接去构造分式,我们可以想办法把分子加下划线来表示,但对于分母的长度比分子长出很多的情况,显示效果就非常不理想因此,最好能够动态的判断分子和分母的长度,按照最长的长度来确定分式横线的长度,代码如下所示(VBScript):FunctionFindLabel([分子字段],[分母字段])2--t.X.:J\气乂/X'?dima,b,c?b=len([分子字段])?c=len([分母字段])?if(b>c)then??a=b?else??a=c?endif?FindLabel=[分子字段]&vbnewline&string(a*0.5,"—")&vbnewline&?[分母字段]EndFunction?对于代分数的话,也可以用类似的方法,只需再添加一个表示整数的字段,代码如下:FunctionFindLabel([整数字段],[分子字段],[分母字段])V—I'"■二?dima,b,c,d•几\\&土//7”y/?a=len([整数字段])P————.v'.X?b=len([分子字段])?c=len([分母字段])?if(b>c)then??d=b?else??d=c?endif?FindLabel=[分子字段]&vbnewline&[整数字段]&string(d*0.5,"—")&vbnewline&space(a)&[分母字段]EndFunction需要说明的是,这段代码的效果还不能将标注调整到最好的显示效果,但如果你使用了Maplex标注引擎,就会发现效果的改善,如下图所示。
3?分类标注分类标注适用于为同一图层中的不同要素设置不同的标注样式,例如高速公路和环路、普通道路的字体为不同的大小和颜色而标注默认会应用于整个图层,这就需要我们为默认的标注增加一个分组,在图层属性对话框中设置标注的方法为“Defineclassesoffeaturesandlabeleachclassdifferently”,点击Add增力口分组(需要几种不同的样式就设置几个分组),并且要为每个分组设置SQL语句卢厂FIJ厂-进行过滤然后为每个组设置不同的标注样式'IX1i'总结:由于标注是动态放置,且样式可以通过VBScript和JScript来设置,因而对标注的管理非常灵活虽然经过标注技巧和Maplex的优化能够将大部分标注以最优的位置显示,但如果期望对某些单独修改,还需将标注(Label)转换为注i\记(Annotation)。