关于ArcGIS Engine符号库的讨论

技术文章5年前 (2019-06-25)1884

符号化是GIS应用开发中重要的功能或者是处理,由于程序中每次调入一个图层的图层的符号都是随机的,动态变化的,所以不利于图层的美观。还有一点就是符号有增加电子地图可读性的功能。

符号的来源有以下几种:

1、符号库

Desktop的符号文件

把要用的符号用desktop的style manage制作相应符号,并把他存成style文件。该文件实际为mdb数据库。Style文件对应于desktop,在desktop开发包中有相应的类(StyleGallery类 )支持该文件的读取。

Arcgis Engine符号文件

Arcgis engine的符号文件的扩展名为serverstyle,在目前argis 版本中不支该文件的制作及符号浏览。只是在\arcgis\DeveloperKit\tools目录下有一个工具MakeServerStyleSet.exe用于将style文件转成serverstyle文件,serverstyle文件是二进制文件,这就是为什么一个几百k的style文件转成serverstyle文件时只有几十K,甚至更小的原因。

serverstyle文件对应arcgis engine,在engine开发包中有相应的类(ServerStyleGallery类)支持该类的读取。

但在arcgis engine中MakeServerStyleSet.exe,ServerStyleGallery类都是有bug的,要么利用MakeServerStyleSet.exe转换style文件转不成功,要么转成功了,利用ServerStyleGallery类读取serverstyle文件中不成功。

总结来说,如果开发独立的程序,且用符号库的话就必须用serverstyle文件,因为在engine的开发包中没有读取style文件的类,该类存在于desktop开发包中。但用serverstyle文件是不可靠的。

2、利用程序自动生成相应的符号

基于这种应用的一般需要一个配置文件来描述每一个图层中要使用的符号,然后当需要对图层进行符号化时就利用配置文件中符号的描述信息来动态生成一个符号。

这种方法虽然工作量相对大一些,符号的修改与配置复杂一些,但这种方法对开发独立的程序来说还是比较可靠的。


相关文章

ArcGIS使用字体文件制作符号库

ArcGIS使用字体文件制作符号库

ArcGIS制作的符号库有多种,刚刚毕业进入公司,接触到符号库的制作,在前人的脚步之下,本人整理通过字体符号(Character Marker Symbol)制作符号库的步骤。重要方法:对于大量制造符...

ArcGIS地质填充符号的制作

ArcGIS地质填充符号的制作

地质制图中,面符号的制作复杂度最高,存在规则和不规则的样式,通常由底色和图案组成,表示岩性和年代,是极具代表性的符号种类。ArcGIS提供了3种实现地质面符号的方法:基于矢量、基于图片和基于制图表达技...

ArcGIS地图符号制作教程

ArcGIS地图符号制作教程

什么是地图符号?地图符号是地图的语言,它以图形的方式描述地图中地理要素、标注、注记的形状、大小、位置、数量和质量特征。地图的符号的作用是什么?地图主要依据符号的形状、尺寸和色彩来反映地图内容。图形形状...

如何修复损坏的 shapefile

如何修复损坏的 shapefile

以下说明介绍了有助于修复受损 shapefile 的多个选项。常见损坏原因有:保存编辑内容时计算机崩溃;添加非法几何,例如,蝴蝶结;或使用其他软件(例如,Microsoft Excel)修改属性表。如...

shapefile 输出的地理处理注意事项

shapefile 输出的地理处理注意事项

多年以来,Esri 研发了三种用于存储地理信息的主要数据格式:coverage、shapefile 以及地理数据库。其中,Shapefile 为存储地理及属性信息提供了一种简单的格式。正由于...