关于ArcGIS Engine符号库的讨论

其他6年前 (2019-06-25)2713

符号化是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中的标注与注记(Label与Annotation)关系与区别讲解:在ArcMap中可以使用标注(Label)和注记(Annotation)来识别要素,选择Label或Annotation取...

ArcGIS实用制图技巧——如何制作“光照”效果的水体多边形

ArcGIS实用制图技巧——如何制作“光照”效果的水体多边形

通过对地图中的水体要素添加光照效果,能够使地图更具真实感。这里,就来介绍一下如何使用ArcMap来实现为水体表面添加光照效果。         &nb...

SuperMap制图符号制作

SuperMap制图符号制作

在配置地图的过程中,对于矢量数据除了会设置颜色,还需要用不同的符号来符号化。在SuperMap iDesktop的工作空间的资源中,提供了一些符号,用户可以按需选用,但在一些制图中,常会遇到资源库中的...

ArcGIS空间数据制图入门教程(附练习数据下载)

ArcGIS空间数据制图入门教程(附练习数据下载)

一、实验目的通过实验操作,了解符号化、注记标注、格网绘制以及地图整饰的意义;掌握基本的符号化方法、自动标注操作以及相关地图的整饰和输出的操作。对数字地图制图有初步的认识。二、实验数据行政区划数据其中包...

MapGIS生成标准图框

MapGIS生成标准图框

以1:5000为例,其他比例尺方法相同。前期准备:打开地形图,查看图左下角该图的起始经纬度值(后期要用到),此样图起始纬度为35°07′30″,起始经度为109°16′52″.5。为北京54坐标系。数...

MapGIS与AutoCAD相互转化

MapGIS与AutoCAD相互转化

一、MapGIS转AutoCAD1.打开Mapgis主菜单,点击“图形处理”文件转换,弹出“文件转换”窗口2.点击 文件转换,会看到文件转换程序如下3.装入需要转换的点、线、区文件,点击主菜单中的“文...