MAPGIS明码文件的研究与应用

2023-02-02

MAPGIS数据接口转换子系统, 为MAPGIS系统和其它GIS系统间架设了一道桥梁, 实现了不同系统间的数据转换, 从而达到数据资源的共享。其文本格式的明码文件, 结构合理易懂, 几乎记录了MAPGIS对象的所有图形信息, 并且可以被任意计算机系统打开。应用适当的文字处理软件或一定的编程语言, 可以方便地对这种明码文本文件进行各种批处理操作, 还能为一些业内流行但未能与MAPGIS建立图形数据接口的制图软件提供一条数据交换的“中间道路”。

1 MAPGIS明码文件的逻辑结构

MAPGIS的图形文件有三种:点 (wt) 文件、线 (wl) 文件和面 (wp) 文件, 它们分别存放不同几何性质的空间实体 (点状符号、注记、文字块、圆、弧、图像等均做为点对象存放在点文件中) 。相应地, 其明码文件亦有三种, 即wat、wal、wap文件, 各类明码文件均由文件头、空间数据、外观参数三种信息构成。文件头根据版本不同稍有区别, 一般形式为“WMAP*02”, 其中*位与版本有关, 位与文件性质相关 (1为线文件, 2、3分别为点文件和面文件) 。一个文件中, 所有同行数据项之间一律以半角逗号分开、所有行之间均无空行。还要注意, 若需用文本文件向MAGIS导入数据, 新形成的明码文件末尾最好增加写入一个空行, 因为在较低版本的MAPGIS中, 无此空行会导致导入失败。

1.1 线

线是指由一系列有序坐标对决定位置的图形单元, 其几何性质包括位置、形状 (线条宽度和外观) 、颜色、矢量方向等。根据分析并参考相关手册, MAPGIS的线明码文件逻辑结构如下:

1.2 点

点是指由一个控制点决定其位置的图形单元, 在MAPGIS中, 它包括字、字符串、子图、圆、弧、图像、版面等几种类型, 其几何性质主要包括位置、形状、大小、颜色、旋转角度等, 字及字符串还包括其内容。点明码文件的基本结构如下。

点类型及其他信息项按下表1取值:

1.3 面

面又称区或区域, 它是由若干条同一方向的弧段围成的封闭图形, 各弧段可以首尾相连也可以不相连。弧段是一系列有规则的, 顺序的点的集合, 用它们可以构成区域的轮廓线。它与折线是两个不同的概念, 前者属于面对象的边界, 后者是线对象。区明码文件的逻辑结构较为复杂, 除文件头外, 总体上分为三部分, 第一部分是弧段数据, 第二部分是节点数据, 第三部分是区参数信息, 具体结构可以参阅MAPGIS手册, 限于篇幅此不赘述。

2 MAPGIS明码文件应用举例

MAPGIS明码文件为文本文件, 查看及操作一目了然, 根据上述结构分析, 运用字处理软件和编程语言可以进行一些有益的功能开发。

MAPGIS明码文件的导出与导入均在该软件的“文件转换”子系统中完成, 将其导入OFFICE-EXCEL中的方法是:将明码文件的后缀改为txt (或将文件类型改为所有文件) , 在EXCEL界面点击“数据/获取外部数据/导入文本文档”菜单。在文本导入向导步骤一中选“分隔符号”单选项, 步骤二中选“逗号”复选项, 不必进入步骤三, 点按“完成”即可。

2.1 应用一:区面积分类统计

问题:土地利用图中, 常常需要对各种用地类型分类、分权属单位进行面积统计, 当区域较大、地类较杂乱时, 统计过程会很繁杂, 而且手工统计极易发生错漏。

方案:将拓扑完成的区文件按权属和地类分别赋不同的填充颜色 (即, 只有同一权属的同一地类才赋相同填充颜色) , 然后转为明码文件并导入EXCEL中, 利用排序功能只保留表达“区色, 图案号, ……, ID, 面积, 周长”的行。该行第1列为色值, 第10列为面积。按第1列排序后, 对第10列进行分类汇总 (汇总方式为求和) , 即可获得所有要求的面积值, 应用下述公式, 还可以获得实际地积值 (单位为公顷) :

对区赋色值时, 最好能考虑进行统计的对应关系, 如:

表2中数字为区填充色值, 这样便于对最后的统计成果分类。

2.2 应用二:工作量统计

基层制图单位的定额管理一直是这样的:根据对图面的总体目测印象核定难易类别, 再以工作区面积与比例尺作参考来确定一幅图的工天定额。这样的方法由于没有数据佐证, 弊端是很明显的。

方案:制图作业无外乎点、线、面及文字, 如果能将这些“部件”分别计数, 再确定一个各“部件”每日的工作定额, 就可以量化成果的工作量。为此我们用VB语言编写了一个“MAPGIS工作量计算”软件, 使用该软件的工作过程是:新建一个文件夹, 将要统计的成果文件转换成明码后存入该文件夹, 启动该程序, 界面如下。

在窗体左上的格中指定该文件夹, 右上的“定额数量”格中分别输入核定好的日工作定额, 需要对何种文件进行操作就将左下格中相应的复选框选中。点击“计算”按钮, 下方的文本框中就会依次将文件名和计算好的工作量列出。如果打算保存, 可以点击“存为文本”按钮。

本程序设计并不复杂, 只不过是根据各类明码文件的结构, 找到相应的数量或属性, 并分文件进行累加计算, 累加结果与对应定额之间的比值就是要求的工作量。

需要说明的是, MAPGIS明码文件并不包含图元对象的属性信息, 要获得此数据, 请使用MAPGIS的“实用服务/投影变换”子系统中的“工具/属性生成文本文件”菜单, 根据提示导出。

3 结语

本文在分析MAPGIS明码文件的基础上给出了两个应用实例, 这些实例基本说明了该类文件的应用类型, 现总结如下。

(1) 对现有文本文件进行加工, 使之满足MAPGIS明码文件逻辑结构要求, 从而可以导入为图形文件。

(2) 对同一类明码文件进行加工, 以完成软件暂不提供工具的工作目的。

(3) 对不同类明码文件进行比较操作实现点线面之间的分析功能。

(4) 其他综合统计工作。

(5) 实现MAPGIS文件与那些未提供直接数据接口的制图软件之间的数据交换实现数据共享最大化。

摘要:本文根据作者的实践经验, 在对MAPGIS明码文件的逻辑结构进行分析的基础上, 应用OFFICE等字处理软件和一定的程序语言对MAPGIS的明码文件进行操作, 完成MAPGIS的批处理工作, 以及一些MAPGIS软件未提供的统计和点线面对象相互转化、进行空间分析等功能, 同时提出了几个有益的应用方案。

关键词:MAPGIS,明码文件,应用

参考文献

[1] 王荣亮, 曹代勇, 等.基于MAPGIS明码文件的CBM组件开发与应用[J].中国矿业大学学报, 2002 (4) .

[2] 段青梅, 龙文华, 等.基于MAPGIS明码文件的绘图转换系统开发及应用[J].物探与化探, 2005 (1) .

[3] 武汉中地信息工程有限公司.MAPGIS地理信息系统使用手册.

上一篇:信息时代的档案管理及安全性考虑下一篇:基于卫星地面接收天线的定位与调整