资源描述:
1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. 文章编号1003 - 6474200103 - 0166 - 04 利用VB开发的MAPGIS明码数据格式文件生成系统 钟 华 华东有色地质勘查局八一四队,江苏 镇江212005 摘要MAPGIS目前还没有提供直接由坐标数据输入成图的功能。利用VB开发的一个直接使用现成数据源生成 MAPGIS的明码数据格式文件的系统,使得将现有数据加载到相关的地形、 地质、 物探等成果图件上的操作变得简 单和十分方便。论述了系统的开发思路和主要特点。 关键词数据处理;MAPGIS数据格式;矢量图;点;线;区 中图分类号TP311152 文献标识码A 图像类型大致可以分为矢量图和位图。矢量图 是以数学的矢量方式来记录图像,它的内容以线条 和色块为主。MAPGIS把矢量地图要素根据基本几 何特征分为3类点数据、 线数据和区数据。与之相 对应文件的基本类型也分为3类点文件3 . wt 、 线文件3 .wl 和区文件3 .wp 。由上述一类或几 类数据叠加形成工程文件3. mpj。MAPGIS数据 接口转换子系统实现了不同系统间的数据转换。 如MAPGIS的明码格式数据接口可将点、 线、 区明 码文件3. wat、 3. wal、 3. wap转换成与之相对应 的点、 线、 区文件。 图形的输入,MAPGIS提供了数字化仪输入、 扫 描矢量化输入、GPS输入等方法,对于由数据文件中 坐标值控制的点、 线成图,尤其是要在点、 线上标明 其属性,MAPGIS目前还没有提供直接由坐标数据输 入成图的功能。只有利用编程软件如VB ,编制一 些应用程序,将数据文件中的数值转换为MAPGIS 数据接口转换子系统能够识别的明码格式文件。本 文介绍笔者利用VB开发的MAPGIS明码数据格式 文件生成系统,它包括四项子功能,解决了拿到数据 不知如何成图,尤其是如何将由坐标值控制的点、 线 加载到已作好的地质、 地形图和物探异常平面图上 的难题,使MAPGIS的应用得心应手。 1 生成点明码文件3 .wat Ο Ο 1. 1 点的概念 点是地图数据中点状物的总称,是由一个控制 点的坐标决定其位置的符号或注释如测点/线、 地 名、 钻井编号、 标志点等。通常用子图或圆等作为 点的坐标位置标识,同时用字符英文或中文标 明其属性。所有点的数据都保存在点文件中。 1. 2 数据准备 我们用来成图等值线图、 地理图等的数据文 件一般是由x、y坐标,点/线号或标志点名称及 各种成果数值如高程、 异常值等多项数据组成 的。首先将数据格式作简单的转换将x、y坐标置 于前两列,其他数据置于之后的任意列上皆可,数据 之间用 “,” 号作为分隔符以备程序处理过程中获取 数据列数。 1. 3 界面设计 根据需要,界面可设下列选项图 1 。 1. 3. 1 比例尺 与配套图件同等比例尺。 1. 3. 2 类型 即图中点的位置是用字符、 子图还是 用圆作标识。 1. 3. 3 标注 是否在点位置处标明点的属性。 1. 3. 4 类型参量 在类型项中有3种选项一次仅 能任选一项,若某项被选中,则只有相对应的类型参 量处于编辑激活状态。类型参量中的项是由点明 码格式文件中所需变量决定的。 1. 3. 5 作图坐标定位 MAPGIS中作图的坐标与实 测中的坐标是两个完全不同的概念,这样如果图件 江苏地质,253 ,166169 ,2001 Ο Ο作者简介钟华1963 , 男,湖北云梦人,华东有色地质勘 查局八一四队工程师,物探专业. 收稿日期2001 - 08 - 10;修订日期2001 - 12 - 15;编辑毕 葵森 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. 图1 生成 3.wat明码文件执行界面 是由两个以上的文件叠加形成的话,就必需将各图 元置于同一作图坐标系中,所以在此取成图图框左 下角的纵、 横坐标值作为图件的起始坐标值。 1.3. 6 覆盖与追加方式 即生成的点明码文件是 在原有文件中追加新的内容还是写新的文件。 1. 3. 7 生成明码文件 点击 “成3. wat图” 命令 按钮,会弹出两个询问界面,一是要求输入原始数据 文件名;二是要求输入生成的明码文件名不带扩展 名,系统会自动在后面加入.wat作为扩展名。如果 在标注项上打对号要求有标注 , 则还会弹出一个 界面,要求输入标注项所在原始数据文件中的列数。 并生成一个过渡性ASCII码文件。点击 “最终生成 .wat文件” 命令按钮,则生成MAPGIS能够识别的 明码文件,并删除过渡性ASCII码文件。 1. 4 代码编辑思路 点明码文件结构详见 [1] 中要求赋值的参数 有点的坐标x , y和描述点属性的各种参量。如 果需要把点位扣到成果图的同时标明点的属性,而 点属性项在原始数据文件中的某一列上,则首先利 用VB中的line 命令读取原始数据文件中一行 字符串,并判断字符串中字符 “,” 的个数,加1后作 为定义一个备用数组的维数。再利用命令读 取数据文件中的数值赋于定义好的数组,最后利用 write命令将数组中的值写入点明码文件。 图2 生成 3.wal明码文件执行界面 2 生成线明码文件3 .wal 2. 1 线的概念 线是地图中线状物的总称,如等值线、 测线、 测 区范围线等。所有的线图元数据都保存在线文件 中。 2. 2 数据准备 鉴于这样的线在我们的图件中是有限的,我们 可以在数据准备过程中作比较细致的工作,以方便 代码的编写。每条线的数据始行用linea加上用来 标明线属性如 线的字符组成,亦可仅用lin2 ea作为线的数据起始行;每条线的数据末行用lineb 作标识;在linea与lineb之间的数据是线的端点坐 标x、y值。这样有多少条线即有多少个linea lineb与之对应。 2. 3 界面设计 界面上的项目含意基本上与生成点明码文件一 样图 2 。 2. 3. 1 比例尺 与配套图件同等比例尺。 2. 3. 2 类型 有两个选项,一是点成线,即线是由 各控制点坐标联接而成的;二是矩方图,即不以线的 形式而是以矩方图的形式表示曲线形态。 2. 3. 3 作图坐标定位 与生成点明码文件相同。 2.3. 4 类型参量 这里简单地列出了3个图层、 线色、 线宽可编辑参量,实际上不只3个,其他的在 程序代码中给出了某一固定值,而在MAPGIS作图 过程中可随意修改。 2. 3. 5 其他项目 与生成点明码文件相同。 2. 4 代码编辑思路 首先利用原始数据文件中的lineb个数来判断 线的条数,再利用linea后面的字符来确定线的属 性,在生成线明码文件的同时,亦生成了与线明码文 件同名的点明码文件。 761第3期 钟 华 利用VB开发的MAPGIS明码数据格式文件生成系统 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. 图3 剖面曲线执行界面 3 作剖面曲线图 3. 1 界面设计图 3 3. 1. 1 横向比例尺 与配套图件同等比例尺。 3.1. 2 纵轴长度 往往纵向不是由比例尺大小来 确定纵轴线长,而是确定一个较理想的线长既能反 应出实际情况,曲线又较美观 , 来反算出组成曲线 各点的纵向作图尺寸。 3. 1. 3 输入数据文件名 采用 “盘符、 路径、 文件 名” 界面方式,点击数据文件时会计算并显示在界 面上相应位置上纵向最小、 最大值用作确定纵向 标注起始与终止值之用。 3. 1. 4 确定纵向标注间距 由纵向标注起始、 终止 2值差可推算出较为理想的纵向标注间距,从而派 生出纵向标注的个数及标注值。 3.1. 5 生成点线明码文件 点击 “确认” 按钮即生 成与 “输入数据文件名” 同名的.wat、.wal文件,再经 MAPGIS转换功能形成一个包含剖面曲线,纵、 横坐 标轴及坐标轴刻度标注的完整图形。 图4 地质模型执行界面 3. 2 代码编辑思路 作剖面曲线是个较简单的工作,只是将二维坐 标点用直线联接起来即可。那么怎样将实际坐标值 转化为图的纵横坐标是要解决的关键。这里的横轴 是与相关图件配套的,纵轴是根据实际情况确定某 一长度,同时纵轴的起始与终止标注值的定义要使 曲线位于横轴之上,这就需要计算出纵向最小与最 大值。纵向标注间距的确定直接决定了纵向标注的 个数,因此该值要定义得比较合理。 4 地质模型 根据已知的地质情况,结合物探异常推测出地 表至地下一定深度范围内的地质情况通常用模型 方式表示。这样将不同地质体之间的接点拐点 坐标读出来,置于反演计算程序的数据文件中该文 件具有特定的数据格式 , 这里讲讲如何利用VB编 程结合MAPGIS把反演出的地质模型作成图件。 4. 1 数据准备 利用反演计算中的原始数据文件即可。 4. 2 界面设计图 4 4. 2. 1 比例尺 与配套图件同等比例尺。 4.2. 2 基底相对深度值 为了使图件能画到基底 的深度,确定某一理想的数值。 4.2. 3 节点数据文件名 用来作反演计算的数据 文件。 4. 2. 4 确认 用来生成一过渡的ASCII码文件。 4. 2. 5 存盘 删除过渡的ASCII码文件,生成的明 码文件经MAPGIS接口转换功能,形成一个以地平 线为横轴,垂直向下为纵轴,包含由设计地层为界线 的完整地质模型图。 4. 3 代码编辑思路 由于我们所用的数据文件是借用其他处理程序 使用的数据文件,文件中好多数值项在这里是不需 要的,因此就得利用一些分析判断语句,筛选出我们 需要的数据。代码编辑时,首先求出节点个数,定义 与节点个数相同大小的二维数组,把各节点坐标换 861 江 苏 地 质 2001年 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. 图5 系统主界面 算成作图坐标值赋与数组,再找出各地质体是由哪 些节点联接而成的,把每一个地质体的周边用一条 线表示,最后生成点、 线明码文件。 5 系统主界面 将各项子功能置于一个主界面上形成一个独立 完整的应用系统,子功能用命令按钮方式激活。同 时可置入相应说明文字与图片、 动画等,以达到较佳 的视觉效果图5 ,做到界面的美观化,运用的简单 化。 参考文献 [1] 中地软件丛书编委会.地理信息系统参考手册[M].武 汉中国地质大学信息工程学院,武汉中地信息工程有 限公司. [2] 中地软件丛书编委会.MAPGIS地理信息系统开发手册 [M].武汉中国地质大学信息工程学院,武汉中地信 息工程有限公司. [3] [美] STEVEN H著,详实译. Visual Basic 6技术内幕 [M].北京机械工业出版社,1999. [4] 陈俊源编著,王一华改编. Visual Basic 5. 0数据库编程 中文版 [M].北京清华大学出版社,1998. [5] 孙家广,杨长贵.计算机图形学新版 [M].北京清华 大学出版社,1994. Development of System of MAPGIS Plain Code Data at Files by Using VB ZHONG Hua Department 814 , Bureau of Nonferrous Geological Exploration , Zhenjiang 212005 , Jiangsu Abstract At present , MAPGIS is still deficient in the function of data by the coordinates directly. The use of VB makes it possible to use the ready2made data source in building the system of MAPGISat files with plain code data , to load the available data into the related maps like geomorphic , geological and geophysical exploration maps with easy and convenient operations. The developing ideas and the main characteristics of the system are stated in the text. Keywords Data processing;MAPGIS data at ;Vectorgraph;Point ;Line;Area 961第3期 钟 华 利用VB开发的MAPGIS明码数据格式文件生成系统
展开阅读全文