实现ArcGIS符号库的合并
如何实现ArcGIS符号库的合并?有时候我们会需要将一个符号库中的部分符号添加到另一个符号库中,有时候则是两个或多个符号库整体合并到一起,如何操作可以实现呢?
这里提供两个解决思路
一)在ArcMap的符号管理器里选择复制。此方法比较适合少量符号库中的少量符号的复制。
步骤1:在Style Manager里找到需要复制的符号,选择后右键Copy
步骤2:Style Manager中找到想要粘贴的符号库对应的“文件夹”,右键Paste即可。
方法二:使用Office中的Access操作,此方法适用于较多符号库合并或大量符号批量处理。不知道大家是否知道,ArcGIS的符号库文件*.Style,实质上是可以用Access打开的小型数据库。打开Style文件后看到有若干特定名称的表,这些表与ArcGIS Style Manager里看到的目录是一致的。下图演示的是通过Access里的鼠标操作完成若干符号的复制粘贴。
1)打开想要复制的符号类型,即Access中的表格。里面每一行就是一个符号,找到对应的行,单选、多选或全选复制。
2)将该记录粘贴到目标符号库中对应的表中。此图演示的粘贴到同一个表中。
3)回到ArcMap中看,Access的复制操作是有效的。重名是由于粘贴到了原来的表导致的,即使符号名称一样,系统也没有报错。当然,如果是合并操作,一般不会重名。
解决方法的延伸:
1)第二种解决方法演示的是在Access中简单操作,如果是大量符号库合并,点击鼠标的这种方法可能就比较费时了,大家可以考虑通过Access中的Sql语句进行批量操作。
2)既然Access可以打开ArcGIS的符号库文件,我们也许会想到,我可以将这些表格数据都导入Oracle等数据库中进行管理,便于整个网络内符号的统一,在某些特定的C/S需求下会比较好。当某个客户端有新的符号要更新到库里的时候,可以将其上传到Oracle对应的表中,当另外的客户端要使用符号的时候,可以从Oracle中提取对应的表中最新的符号,本地形成最新的Style文件并加载。
3)当然,你也可以说,使用ArcGIS的AO接口,通过程序调用符号库进行符号拷贝。这确实也是可以,只是这种代码起步门槛比我说的高一些,但在面对某些复杂符号处理的时候会更灵活。