别建晓
(武汉市政工程设计研究院有限责任公司,湖北武汉 430015)
清华山维工程文件大小的精简方法
别建晓∗
(武汉市政工程设计研究院有限责任公司,湖北武汉 430015)
在介绍EPSW平台数据存储原理的基础上,简要介绍了对清华山维图形文件大小进行精简的方法和技巧,以便有效地管理和存储数据,最大化地避免计算机磁盘空间的浪费。
模板;表;实体对象
不少清华山维用户在使用EPSW测绘软件进行数字化成图时可能会发现以下问题:
(1)工程文件(mdb格式)通常都比较大,动辄几兆,乃至几十兆。
(2)工程文件大小与工程规模的大小不成比例,比如笔者手中有3个道路工程实例,500 m长的工程文件大小为 1.57 MB,2 km长的工程文件大小为1.75 MB,5 km长的工程文件大小为1.69 MB。
(3)在调入AutoCAD数据时,文件更大。
(4)在删除了大量地物数据后,文件大小并没有变小。
文件过大,往往造成在机器上运算时间长,在文件存储方面也特别消耗硬盘空间。因此探索该类文件大小的压缩技术方法、优化存储方式也日益受到更多用户的重视。
图1 GB-500.mdt模板中的表
图2 实体对象在数据库中的存储实例
EPSW平台采用了数据库技术,在创建新工程时,需要以一个准备好的技术规则作为依据,以使数据全面规范化,这个技术规则我们称为模板。模板其实就是一个Access数据库,内容包括地理数据结构表、数据分层分色方案、编码体系及符号化描述定义、系统环境用户化设置及用户扩展属性表定义。模板不但是数据标准化的有力保证,同时也体现了生产与技术相分离的先进理念。用Access97打开的模板,如图1所示,我们可以看到共有53个表。
一个新工程建立后,我们会在工程中加入数据:如一个路灯、一个土坎或一个道路名称注记,这些数据的存储都是作为一条记录存放在工程数据库的数据结构表中,它们包括GeoPointTB(点表)→CPointTB_p、Geo-LineTB(线表)→CPointTB_l、GeoAreaTB(面表)→CPointTB_a、MarkNoteTB(注记表)→CPointTB_n,如图2所示的为数据库中实体对象的存储实例。对象ID为22582的房屋,其对象基本特征存储在GeoLineTB表中,坐标点列存储在CPointTB_l表中,对象扩展属性存储在房屋扩展属性表中,三个表之间由对象的ID号关联。对象的基本属性特征通过Code字段从Feature-CodeTB表中获取,符号解析的具体描述同样由Code字段从SymbolScriptTB表中得到相关定义。
图3是空间数据组织与图形数据库结构关系图,从中可以看到,数据的空间特性与属性信息一体化存储记录得清清楚楚。脱开了EPSW环境,通过数据库访问,数据的信息一样可以完全得到,有了数据库的支持数据的管理和生命力也有了重要保证。
图3 数据的组织存储结构
3.1 工程文件普遍较大
基于模板(GB-500.mdt)新建工程时,相当于得到一个等同于模板的拷贝作为新建的工程数据库,所不同的是让实体编码特征及符号描述表留在模板中,不管有多少个作业组或数据工程,当数据要求有所变化时只需修改模板中相应的定义表,从新打开工程即可实现数据的批量处理或标准化。EPSW平台提供的缺省模板大小为1.57 MB(如果用户对其进行了修改或用户化设置,其大小可能会更大),因此新建的工程中即使没有任何地物对象,其大小也为1.57 MB,这相当于电话座机费或的士起步价,因此工程文件通常都比较大。
3.2 工程文件大小与实体对象的多少有关
工程文件的大小与工程的长短没有直接关系,而是取决于工程文件中实体对象的多少,实体对象的多少又与测图面积的大小、地形的复杂程度、绘图员的作业习惯等因素有关。
在EPSW系统中我们可以在菜单“查看/当前对象统计”中查到当前工程中各类实体对象的多少。对上文提到的2 km长的工程文件进行当前对象统计可得到以下信息:点对象有1 627个,线对象有779个,面对象有16个,注记有226个,共有2 648个实体对象,如图4所示。5 km长的工程文件中点对象有1 252个,线对象有682个,面对象有0个,注记有145个,共有2 079个实体对象,因此2 km长的工程文件会比5 km长的文件要大。
图4 当前对象统计
3.3 调入CAD数据
在EPSW系统中绘如下对象,如图5所示。经当前对象统计,分别有6个点对象(路灯)、6个线对象(2条坎子、3条路边、1个花坛)、1个面对象(花坛填充符号)、3个注记对象,共16个实体对象。我们把它转为CAD的公共交换数据格式,即R12的DXF格式。
图5 工程样图
现在我们在EPSW系统中新建一工程,将上述DXF数据调入该工程中,为了保证地物符号能完整无误地显示出来,需要在CAD中将图形全部选中并炸开。此时我们在EPS系统中进行当前对象统计,系统提示分别有0个点对象、310个线对象、1 833个面对象、11个注记对象,共 2 154个实体对象。经对比,我们可以发现,实体对象的数量大大增加了。如果图形面积较大,地物对象较多,在调入EPSW系统后实体对象增加得还会更多。所以调入AutoCAD数据时,工程文件尤其大,有时甚至难以想象。
3.4 删除数据的属性
在EPSW系统中删除了大量地物数据后,文件大小并没有相应变小。这是因为那些删除的对象在数据库中仍然存在,只是在EPSW系统中没显示罢了。比如在图5中我们删除2条坎线后,再用Access97打开该工程文件的GeoLineTB表,我们可以看到如图6所示的界面。在Mark列中有0和1两种情况,其中为1的是显示的对象,为0的是不显示的对象,其中有ID为21的未加固坎。打开CPointTB_l表,可以发现ID为21的坐标点列依然存在。
图6 删除对象后的线表
4.1 利用Access97来精简
由图6可知,删除对象后其Mark属性值变为0。因此我们可以在GeoLineTB表中将Mark值为0的对象删除,同时在CPointTB_l表中将对应ID号的坐标点列也删除,这样就清理了所有的线对象。采用同样的办法在相应的表中可以清理所有的点、面、注记等对象。
采用此方法需要人工去区分对象的属性,删除坐标点列也要对应ID号,删除不同的对象要在各自的表中才能进行,如果删除的对象比较多,需要花费大量的时间和精力,因此在实际上并不怎么可行。
4.2 利用“数据库清理.exe”来精简
其实清华山维为用户提供了一个应用小程序“数据库清理.exe”,界面如图7所示。它就在EPSW系统的安装目录下。该程序的高级选项中有无效数据和属性数据之分,无效数据又可分为点、线、面、注记等对象,属性数据即房屋扩展属性、图廓属性等内容。如果同时选中这些选项,点击“开始清理”就可以一次性地清理掉所有不需要的数据。
图7 数据库清理程序界面
利用该程序不需要人工干预,可以自动清理所有不需要的对象,还可以同时清理多个工程文件,实现批量清理。
将无效数据和属性数据进行清理后,可以将清华山维工程文件进行有效精简,从而提高文件处理速度以及减少对硬盘空间的浪费。
[1]黄益明.精简CAD工程文件大小的两种方法[J].城市勘测,2008(6)
[2]北京清华山维新技术有限公司.EPSW2003电子平板测图系统使用说明书.2002
[3]北京清华山维新技术有限公司.EPS地理信息基础平台使用说明书.2003
[4]武汉山维信息技术有限公司.清华山维软件技术培训讲义.2005
The Methods of Reducing Volumes of Sunway Project Files
Bie JianXiao
(Wuhan Municipal Engineering Design&Research Institute Co.,Ltd,Wuhan 430015,China)
Based on the storage principle of EPS data,this paper gives a brief introduction to some methods and techniques of reducing the volumes of files when necessary in the management and storage of sunway project graphics files.This necessary reduction can manage and store data more effectively and avoid the waste of the computer space.
template;sheet;object
1672-8262(2010)03-116-03
P209
B
2009—05—15
别建晓(1975—),男,高级工程师,主要从事城市测绘技术与研究工作。