欢迎关注同名微信公众号,更多文章推送:
01
需求分析
这个方法由群友【Erik】提供。
很有意思,看到最后一定会帮你打开思路。
直接上图比较,这是一般情况下简单的用地图例,只有色块:
下面这个是我们想要的图例,带用地编码的文字,跟湘源画的图例类似:
现在要讨论的就是如何在ArcGIS Pro中做出上面的第2种效果。
02
初级实现方法
我们就在上面图1的基础上实现图2的效果。
图例的内容是跟符号系统相关联的,因此只要修改符号系统即可。
1、在符号系统中点击1个符号:
2、在【属性】-【结构】选项卡下,点击【添加符号图层】,添加1个【标记图层】:
3、回到【属性】-【图层】选项卡下,选择刚才添加的形状标记图层,点击形状右侧的小图标。
在下拉框中选择左下角的数字1标签:
4、形状下方就会多出来几个文本字符串的参数。
输入框中可以手动输入文本,这里就输入用地编码。
5、再往下拉,找到【标记放置】,将放置参数设置为【居中】:
6、点击应用,查看符号系统,可以看到色块上已经有了文字。
7、新建一个布局,插入当前地图,再插入图例:
可以看到,生成的图例和符号系统是一致的。
至此,我们的目的已经实现。
不过这个方法也有一点繁琐,必须每个符号设置过去。
想要批量设置估计得上代码了,这不在本次讨论范围之内。
制作完成之后可以将图层保存为lyrx文件,下次再使用的时候直接导入就可以了。
03
高级实现方法
上面制作完成的图例是完美的,但地图上其实我们并不想要显示地类编码。
就算要显示一般也是通过标注来实现。
高级方法要解决的问题就是如何实现在地图上不显示文字,而图例仍然保留,完美适配规划的作图需求。
这里就要说到Pro的一个强化功能,【允许属性符号连接】。
在标注系统中可以标注字段值,同样的在符号系统里其实也可以,只是用得比较少,系统默认是关闭的。
具体操作步骤:
1、在符号系统的【属性】界面的右上角点击小图标,勾选【允许属性符号连接】:
选择后会发现【文本字符串】等一些参数后会出现数据库的小图标。
点击后,就可以在里面这与代码了。
这里只支持Arcade代码,不过我们也不需要懂太多不用担心。
2、然后是就最重要的一个步骤,在表达中输入"",注意要在英文状态下输入。
这一步真是很难想到,【Erik】同学真是个天才。
3、把其它几个符号也都这样设置一下,回到布局中查看,地图内没有文字,而图例中依旧保留:
完美。