打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【第二季】Arcgis地图制图基础|(五)活用智能标注

第二季)Arcgis地图制图基础实操

自第一季推出六期Arcgis软件应用基础实操课程及练习数据后,广大GIS爱好在微信后台询问是否针对制图出一季实操的跟进课程!至此,为了感谢广大GIS爱好者对中图地信得关注和厚爱,从本期开始将推出小编整理相关文档将分六次推送Arcgis制图专题知识。分别为:

1、ArcGIS地图符号制作(往期内容)

(一)银行、地铁等约定俗成符号的制作

(二)公路、铁路等通用线符号的制作

(三)特殊视角-带阴影3D线符号的制作

2、地图数据符号化(往期期内容)

(一)点符号大小、方向随机变化的实现

(二)山体阴影和晕渲的实现

(三)光照效果水体的实现

(四)道路融合效果的实现

3、巧用制图表达(往期推送)

(一)房屋阴影效果的实现

(二)河流渐变效果的实现

(三)标记符号对齐的实现

(四)虚线符号控制的实现

(五)自由制图表达编辑

4、地图文字标注(往期推送)

(一)州际公路标注

(二)等值线注记掩膜

5、活用智能标注(本期推送)

(一)标注变色效果的实现

(二)标注三值的实现

(三)标注角标的实现

(四)点抽稀的实现

(五)将标注限制在指定区域内

6、地图布局设计及出图(6月18日推送)

(一)粉饰、羽化、阴影效果的实现

(二)带标注色带图例

(三)制作地图册

(一)标注变色效果的实现

标记表达式在不使用Maplex的情况下也可以使用,但本例中用到了Maplex换行设置,所以启用ESRI Maplex标注引擎。下面介绍标注变色的实现过程。

[1]启动ArcMap,打开【标注变色_Start.mxd】;

[2]右键单击菜单栏空白处,选择【标注】工具条;

[3]在【标注】工具条上,选择【标注】->【使用Maplex 标注引擎】,启动Maplex标注引擎,如图 1所示;

图 1 启用Maplex标注引擎

[4]在内容列表中,右键单击【学校】图层,选择【属性】,弹出【图层属性】窗口,切换到【标注】页,如图 2所示;

图 2 图层属性

[5]在标注页面单击【表达式】,弹出标注【表达式】窗口,如图 3所示;

图 3 标注表达式

[6]在标注表达式页面中,默认情况使用的是之前通过名字标注的表达式,勾选Advanced,脚本类型选择VBScript,输入以下脚本:

Function FindLabel ( [name1], [englishname1]  )

 str =  Split( [name1],',')

 FindLabel ='' & str(0) & '' & ',' & '' & str(1) & '' & ',' & '' & [englishname1] & '

End Function

【注释】:注记的格式化可以嵌套使用,比如字体和颜色可同时设置,修改颜色的主要是标签,这段脚本中对标注内容进行了分割,添加了“,”标记,用于换行使用。

[7]脚本写完之后,单击【验证】可以预览标注效果,如图 4;

图 4 标注表达式验证

[8]单击【确定】,回到【标注表达式】窗口,单击【保存】按钮,可以将这段脚本保存起来,方便下次使用;

[9]单击【确定】,回到图层属性【标注】页,单击【放置属性】,弹出标注放置属性窗口,如图 5;

图 5 标注放置属性

[10]切换到【自适应策略】页,单击标注堆叠的选项,弹出标注堆叠选项对话框,在堆叠分隔符列表中输入“,”,勾选【强制分割】,其他参数设置如图 6;

图 6 标注堆叠选项

[11]连续单击【确定】,回到地图窗口,可以看到标注已经变色,并且换行,查看效果如图 7。

图 7 标注变色

注意:在中文版软件中,修改颜色的脚本可能失效,注记始终显示为黑色;若遇到这种情况,切换到英文版本即可解决。

(二)标注三值的实现

接下来我们就来看下分数形式的标注是怎么实现的。

查看标注字段

[1]启动ArcMap,打开【标注三值_Start.mxd】;

[2]在内容列表中,右键单击【宗地】图层,选择【打开属性表】;

[3]打开要素属性表,查看需要进行标注的字段名称,包括宗地权利人(QLR字段)、宗地号(ZDH)、宗地面积(ZDMJ),如图 8所示,确定用于注记的字段包括QLR,ZDH和ZDMJ;

图 8 宗地属性表

启用Maplex引擎

有两种方式可以启用Maplex引擎。

[4]右键单击数据框,选择【属性】,弹出数据框属性窗口,切换到【常规】页,在标注引擎中选择【Maplex 标注引擎】,如图 9所示;

图 9 数据框属性

[5]单击【确定】,该地图文档启用了Maplex标注引擎;

另外一种方式是通过标注工具条来启用Maplex标注引擎。在工具栏空白处右键选择标注工具条,选择【标注】->【使用Maplex标注引擎】,如图 10所示,该地图文档启用了Maplex标注引擎。

图 10 启用Maplex标注引擎

设置标注分数样式

[6]在内容列表中,右键单击【宗地】图层,选择【属性】,切换到【标注】页,如图 11所示;

图 11 图层属性

[7]在标注页面单击【表达式】,弹出标注表达式窗口,如图 12所示,勾选【高级】,脚本类型选择VBScript,输入以下脚本:

Function FindLabel ( [QLR] , [ZDH] ,  [ZDMJ] )

  if  [ZDMJ] <>'' then

    FindLabel = [QLR] &vbcrlf &vbcrlf &[ZDH]  &vbcrlf & '—— '& vbcrlf & int( [ZDMJ] )

  else

    FindLabel = [ZDH] 

end if

End Function

图 12 标注表达式

[8]脚本写完之后,单击【验证】可以预览标注效果,如图 13;

图 13 标注表达式验证

[9]单击【确定】,回到标注表达式窗口,单击【保存】按钮,可以将这段脚本保存起来,方便下次使用;

[10]连续单击【确定】,查看地图效果,如图 14所示;

图 14 标注三值

修改标注文字样式

我们注意到分号的线不是连续的,实际上这是字体设置问题。

[11]在内容列表中,右键单击【宗地】图层,选择【属性】,切换到【标注】页面,在文本符号中更改字体类型为Arail,也可以点击【字符】按钮,如图 15所示;

图 15 图层属性

[12]字体采用英文字体(如Arial),这样标注里的“--”可以显示成连续的直线,如果选择中文字体,“—”只会显示成“--”。所以此处将字体类型改为英文(如Arial),也可以继续点击【编辑符号】,进行更详细的文字设置,反复调整参数如图 16,直到达到最满意的效果,如图 17。

图 16 文本属性编辑器

图 17 标注三值

注意:以上所有操作都可以在标注工具条上的标注管理器中完成。

(三)标注角标的实现

为讲述方便,先对标注内容和数据做必要说明。

标注内容

完整的标注内容如图 18所示,这里拆分成三项,即标注主体、上角标和下角标。展现形式上,要求上角标与下角标左对齐,并与标注主体在同一行。

图 18 标注分类

数据说明

点数据,包含10个要素,如图 19所示,属性内容包括str、str1和tr2,分别存储标注主体、上角标和下角标的内容。其中,str1的内容为“+3”,使用标记语言表示上角标;str2内容为“2”,使用标记语言表示下角标。标注主体的最大字符长度为10。

图 19 点数据及其属性

组合str、str1、str2([str] & [str1] & [str2] ),默认显示的标注效果如图 20,上角标和下角标没有左对齐。

图 20 默认标注效果

下面介绍标注角标的实现过程。

[1]启动ArcMap,打开【标注角标_Start.mxd】;

启用Maplex注记引擎

[2]在内容列表中,右键单击【数据框】,选择【属性】,弹出【数据框属性】窗口,在【标注引擎】选项中选择【Maplex 标注引擎】,单击【确定】;

标注分类

基于数据内容,即str、str1和str2字段,将标注分为11类,分别为Default类、1-10类,其中Default类标注表达式内容为“标注主体+下角标”,1-10类标注表达式内容为“上角标”,并对1-10类设置不同的偏移量。

[3]右键单击ArcMap工具栏空白处,选择【标注】工具条,单击【标注管理器】,打开标注管理器窗口,默认已经添加默认类别,如图 21;

图 21 Default标注类别

[4]单击【表达式】,弹出标注表达式窗口,输入表达式“[str] &[str1]& [str2]”,如图 22;

图 22 默认类标注表达式

[5]单击【确定】,回到标注管理器窗口,在文本符号下设置字体样式、字体大小,如图 23;

图 23 默认类字体符号设置

[6]单击【位置】,弹出位置选择对话框,选择【东】,如图 24;

图 24 默认类标注位置选择

[7]连续单击【确定】,回到地图窗口,此时标注样式如图 25所示;

图 25 默认类标注样式

[8]添加1类别。在标注工具条上单击【标注管理器】,打开标注管理器窗口;

[9]在标注分类中选中Point图层,在【添加标注分类】中输入分类名称“1”,单击【添加】按钮,成功添加1类别,如图 26;

图 26 添加1类别

[10]在标注分类中选中Point图层下面的1类,单击【SQL查询】,如图 27;

图 27 1类筛选设置

[11]弹出SQL查询窗口,输入“CHAR_LENGTH( 'str' ) = 1”,根据标注主体字符长度分类,如图 28;

图 28 1类SQL查询窗口

[12]单击【确定】,回到标注管理器窗口,单击【表达式】,弹出标注表达式窗口,输入表达式“[str1]”,如图 29所示;

图 29 1类标注表达式

[13]单击【确定】,回到标注管理器窗口,在文本符号下设置字体样式、字体大小,与默认类相同;在【位置】选项中选择【东】,与默认类相同;

[14]设置【偏移】值为10(该值通过尝试获得,如果该值不能够显示出完整的标注,需增大偏移值),如图 30所示;

图 30 1类偏移量设置

[15]添加2类别,设置方式重复第9-14步,注意SQL查询中输入的语句“CHAR_LENGTH( 'str' ) = 1”,其中的“1”换成对应的类别值;

[16]关闭标注管理器,查看地图标注效果,如图 31所示。

图 31 标注角标效果

【小技巧】:在设置对齐过程中,若发现标注主体把上角标挡住的情况,可考虑修改标注主体的字体大小。

(四)点抽稀的实现

[1]启动ArcMap,打开【点抽稀_Start.mxd】;

[2]右键单击ArcMap工具栏空白处,选择【标注】工具条,选择【标注】-> 【使用Maplex 标注引擎】,启动Maplex标注引擎,如图 32;

图 32 使用Maplex标注引擎

[3]在标注工具条上单击【标注管理器】,打开标注管理器界面;

[4]在【文本符号】下单击【符号】,弹出符号选择窗口,选择【项目牵引线】样式,如图 33;

图 33 符号选择器

[5]单击【编辑符号】,进入编辑器窗口,切换到【高级文本】选项卡,勾选文本背景,单击【属性】,如图 34;

图 34 牵引线设置

[6]进入文本背景属性编辑器窗口,在【线注释】下选中牵引线【符号】,如图 35;

图 35 牵引线符号设置

[7]单击【符号】,弹出符号选择窗口,单击【编辑符号】,进入符号属性编辑器窗口,将线符号类型改为【标记线状符号】,如图 36;

图 36 选择标记线状符号

[8]切换到【制线符】页,颜色设置为无色,如图 37;

图 37 设置制线符为无色

[9]切换到【线属性】页,设置【偏移】为1,线整饰选择左箭头,如图 38; 

图 38 点牵引线符号设置

[10]在线整饰下单击【属性】,弹出线方向编辑器窗口,如图 39;

图 39 线方向编辑器

[11]单击【符号】,进入符号选择窗口,选择医院符号(可用关键字“医院”进行搜索),设置符号颜色为红色RGB(168,0,0),大小为12,如图 40;

图 40 符号选择窗口

[12]单击【确定】,回到线整饰编辑器窗口,在翻转下选择全部翻转、翻转第一个,在旋转下选择旋转符号以随沿线角度,如图 41;

图 41 线方向编辑器

[13]连续单击【确定】,回到字符属性编辑器窗口,即第6步出现的窗口,设置【牵引线容差】为8,,此为牵引线的容限,当偏移要素点超过8的时候显示牵引线的标注,如图 42;

图 42 设置牵引线容限

[14]连续单击【确定】,回到标注管理器窗口,在放置属性下设置便宜为上一步的“牵引线容差+1”值,即9,如图 43;

图 43 标注偏移设置

[15]为了更好的进行显示,还可以对点的摆放位置进行灵活设置。单击【位置】,可以选择最佳位置,或是东、北等,如图 44;

图 44 位置选项

[16]连续单击【确定】,关闭标注管理器;

[17]在内容列表中,单击【医院】图层对应的符号,弹出符号选择窗口;

[18]单击【编辑符号】,进入【符号属性编辑】窗口,在【图层】下取消图层显示;

[19]连续单击【确定】,回到地图窗口,可以看到经过抽稀之后,点的压盖问题已经解决,如图 45所示。

图 45 抽稀后的POI点

可以看到,将符号融入标注中,充分利用Maplex标注引擎自带的抽稀功能,可以很好的解决大量密集点的地图显示问题,具有实际应用价值。

注意:使用这种方式,POI符号显示的位置与实际点位会有偏差,数据精度稍有下降。

(五)将标注限制在指定区域内

下面以某一区县为例,介绍ExtentErase的实现过程。

[1]启动ArcMap,打开【标注限定在指定范围内_Start.mxd】;

[2]右键单击ArcMap工具栏空白处,选择【标注】工具条,选择【标注】-> 【使用Maplex 标注引擎】,启动Maplex标注引擎;

[3]生成行政区划图层的包络矩形。打开【ArcToolbox】->【数据管理】->【要素】->【要素包络矩形转面】工具,输入要素选择【行政区划】图层,输出图层命名为【行政区划包络矩形】,如图 46;

图 46 要素包络矩形转面工具

[4]单击【确定】,生成面图层【行政区划包络矩形】,如图 47;

图 47 行政区划图层的包络矩形

[5]擦除面。打开【ArcToolbox】->【分析工具】->【叠加分析】->【擦除】工具,输入要素选择“行政区划包络矩形”,擦除要素选择“行政区划”图层,输出要素类命名为【ExtentErase】,如图 48;

图 48 擦除工具

[6]单击【确定】,生成面图层【ExtentErase】,如图 49,空白部分为擦除的区县;

图 49 ExtentErase图层

[7]在MapLex中设置ExtentErase图层权重等级。打开【标注】工具条,单击【权重等级】选项,弹出【权重等级】窗口,将【ExtentErase图层】的要素权重和面边界权重值设为1000,如图 50;

图 50 权重等级窗口

[8]单击【确定】,查看最终效果,如图 51。

图 51 效果图

通过将要素权重和面边界权重值设成最大值1000,使得在区县行政区划内,标注不会压盖ExtentErase图层。图 51中,浅绿色的是ExtentErase,在区县行政单位范围里,标注不得溢出区县行政单位边界而覆盖ExtentErase图层,从而避免在相邻城市融合时,出现不必要的标注缺失和标注压盖问题。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ArcGIS制图之Maplex自动点抽稀
​ArcGIS 每天一个高级制图诡计:4 标注展开
ArcGIS制图技巧,处理好细节使地图更专业
详细讲解ArcGIS 等高线标注
模板引擎
ArcGIS制图技巧(中篇)——标注
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服