GIS项目经常会接触到控规CAD数据,想要把数据转换成GIS图层并发布,需要进行专题配图。研究了一下ArcGIS pro和SuperMap iDesktop的配图,整理一下用到的一些技术思路。
1、Excel表格根据RGB值添加单元格填充颜色
要实现如上效果图,可以先选中当前表格,在sheet上右键,选择【查看代码】
在弹出的代码框中,输入如下VB代码
Sub RGBS()Dim i As IntegerDim e As IntegerDim R As StringDim G As StringDim B As Stringe = ActiveSheet.[A65536].End(xlUp).RowFor i = 1 To eR = Split(Cells(i, "A"), ",")(0)G = Split(Cells(i, "A"), ",")(1)B = Split(Cells(i, "A"), ",")(2)Cells(i, "A").Interior.Color = RGB(R, G, B)Next
End Sub
点击运行后,会自动填充颜色值
2、RGB颜色值转十六进制和十进制数字
在ArcGIS pro中需要用十六进制表达的颜色值来进行自动填充,而SuperMap iDesktop中需要用十进制表达的颜色值来进行自动填充。因此我们使用excel来进行数值的自动计算。
RGB颜色值转十六进制的公式如下:DEC2HEX(E2,2),其中2代表保留2位
将RGB字符串拼接后就是十六进制的颜色值
十六进制颜色值转10进制颜色值公式如下:=HEX2DEC(N2)
3、ArcGIS pro中进行颜色自动制图
打开符号系统,将【允许符号属性链接】勾选上
将符号属性例选择属性映射,选择十六进制的颜色字段,点击下方的【应用】按钮,即可实现自动赋色的操作
4、SuperMap iDesktop中惊醒颜色自动制图
将矢量面数据添加到地图中,选择【制作专题图】的【自定义专题图】
然后在【填充前景色】中选择十进制颜色的字段即可
同理可以设置边框线的颜色等属性。