ArcGIS Engine 符号自动化配置工具实现思路
ArcGIS符号自动化配置工具实现思路
ArcGIS的服务配图工作十分劳累如果能够机械化,那想必是极好的。所以我针对ArcGIS配图的特点制作了一个ArcGIS自动配图工具,用于进行配图的机械化,下面是整体思路。
1 整体思路
配图,这里首先要配置符号因为ArcGIS中的符号管理器十分难找,如果要配置很多的符号那么将会消耗很大的工作量,所以应该简化服务的符号配置。首先建立一套符号体系,这个符号体系有国标代码的支持。通过国标代码与符号进行对应,之后只要通过AE将对应的符号代码给相应的图层数据即可。
2 实现思路
2.1 准备符号库文件
配置符号首先就要有符号库,符号库分为两种一种是给桌面版用的Style文件另外一种是给AE使用的ServerStyle文件。ServerStyle文件可以通过Style文件进行转换,转换工具是位于C:\Program Files (x86)\ArcGIS\Desktop10.2\bin下的MakeServerStyleSet.exe。点击将Style文件的目录选中,他就会进行转换,转换的结果位于同一目录下。
2.2 关于渲染
符号的渲染包括以下几种方式。本处主要用到唯一值符号化。
单一符号化:SimpleRenderer 唯一值符号化:UniqueValueRenderer 分级符号符号化:ClassBreaksRenderer 分级色彩符号化:ClassBreaksRenderer 比例符号化:ProportionalSymbolRenderer 点值符号化:DotDensityRenderer
统计图形符号化:ChartRenderer
制图表现符号化: RepresentationRenderer
整个渲染的思路其实,就是根据图层找出符号,之后进行符号化即可,中间还可以根据不同的图层进行图层的级别配置。
3 获得所有图层
使用IMap接口进行所有接口的获取,其中的uid需要根据需要查询文档。
4 获得图层内的字段的不重复值
查询这个字段的数据值,使用HashSet进行存储返回一个不重复的集合。
5 生成IUniqueValueRenderer对象准备渲染
根据字段,系统需要找出对应的符号进行渲染,思路为使用ServerStyleGalleryClass生成对象读取文件,之后转换为IStyleGalleryStorage类型。之后对IUniqueValueRenderer类型对象进行配置。之后使用IEnumStyleGalleryItem进行遍历然后将对应的符号查询出来填入IUniqueValueRenderer中最后返回一个IUniqueValueRenderer对象用于填充即可。主要代码如下:
6 运行程序
将所有的程序串联起来之后整个功能就完成了。