rgb颜色查询工具_ArcgisPro小技巧基于Arcpy与RGB表格的唯一值符号化

Arcmap中的符号化非常简单,但前提是有对应的符号库。自己拿到一个新的制图标准的话,一个一个制作就有点繁琐了。在Arcmap中对要素进行符号化时,要想根据已有的符号规则进行快速符号化,要么用Layer文件进行更新,要么用符号化匹配的方式。这两个方法都是在有符号库的时候好用,但是如果没有符号库,自己一个个编辑太慢了。比如在做城市规划符号库的时候,各个用地只是颜色改变了,而大类小类加起来一百多个,常用的也几十个,是要花点时间,但好处是一次做好符号可以一劳永逸。而ArcgisPro却可以用脚本进行渲染了,甚至可以根据给定的RGB值进行渲染,不像arcmap中必须用已有的lyr来更新。

刚开始接触ARCGIS PRO,相比arcmap而言,界面变化非常大,用exeinfo查询一下pro2.5里面的arcgispro.exe,发现是用VS2015 .NET编译的,难怪界面看起来好看多了。

a67439f3d387e4cc725a6dec4d2c3f9e.png

先不管好不好用,主要是好看。变化后的很多工具都直接集成到菜单工具栏下,比原来小图标需要自己调出来,感觉方便了那么一点。但是有一个缺点,菜单工具栏等其他界面变大了,那么数据视图就被侵占了,习惯就好,有得必有失。

0498d00b993ffb122a00721116c126b5.png

来都来了,怎么能不更新一个python小技巧呢。在使用了ArcgisPro后,发现了Arcpy.mp模块升级了很多功能,其中有一条UniqueValueRenderer类,现在居然可以直接用代码设置各个类型的颜色。具体的用法可以参考官方文档:

https://pro.arcgis.com/zh-cn/pro-app/arcpy/mapping/uniquevaluerenderer-class.htm。

有arcmap中python的代码基础,这个的主要思路很简单。就是使用xlrd模块读取各用地的RGB值,然后使用UniqueValueRenderer类进行渲染。接下来就是具体的过程介绍了,首先我们新建一个工程,可以看到默认的图层有世界地形图和全球山影,以后出图方便。

2c643cd7438588e160acb446a0570141.png

随便加载一个用地图层,在pro中加载数据后移动数据时有延时特效,感觉顺滑了很多。默认的显示是普通渲染,和arcmap一样。

deb290ed8c95e8c0fe876520bc63baf1.png

      我们在网络上找到了一些城市用地分类制图规范,制作了一个表格,样表如下图所示。记录了每个用地的用地代码,名称,还有对应的RGB值,这里是以湘源控规里的颜色作为用地标准。

8f9afb20c3ebcbc61c5c905d8ea4e12c.png

完整代码如下所示,这里设置的是对map中第一个图层进行符号化:

ad93764deecb561486db58f48ed626e8.png

界面变化后,打开python的位置也有一点变化。

1b9f30d6f99b0e826343e7794aed2e37.png

代码运行后,简简单单40来行,还你一个五颜六色的图层:

b03aec5935e1cd31410f1e399fe1b02e.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值