• / 3
  • 下载费用:3 金币  

当前位置:首页>> 管理学论文 >>


应用VC_对MAPGIS进行二次开发.pdf

关 键 词:
应用 VC_ MAPGIS 进行 二次开发
资源描述:
第 18 卷 第 5 期 铀 矿 地 质 Vol. 18 No. 52002 年 9 月 Uranium Geology Sep. 2002应 用 VC ++ 对 MAPGIS 进 行 二 次 开 发何 涛(中 国 核 工 业 地 质 局 280 研 究 所 四 川 广 汉 618300)[摘 要 ] 本 文 介 绍 了 用 VC + + 对 MAPGIS进 行 二 次 开 发 的 方 法 和 基 本 函 数 以 及 软 件 开 发 实 例 。[关 键 词 ] MAPGIS ;二 次 开 发 ;VC + +[文 章 编 号 ] 100020658 (2002) 0520318203 [中 图 分 类 号 ] TP311. 52 [文 章 标 识 码 ] B[收 稿 日 期 ] 2001206211 [改 回 日 期 ] 2002203202[作 者 简 介 ] 何 涛 (1965 - ) ,男 ,高 级 工 程 师 ,1987 年 毕 业 于 成 都 理 工 大 学 。1 前 言MAPGIS是 武 汉 中 地 信 息 工 程 有 限 公 司开 发 的 一 款 优 秀 地 理 信 息 系 统 ,目 前 已 发 展 到610 版 本 ,广 泛 应 用 于 地 质 勘 探 行 业 计 算 机 制图 [1 ] 。 我 所 的 地 质 、 物 探 、 水 文 等 图 件 现 已 全部 采 用 MAPGIS 图 件 。 VC + + 是 MicroSoft 公司 Windows/ 95/ 98/ 2000 下 可 视 化 软 件 开 发 工具 [2 ] ,它 能 自 动 生 成 应 用 程 序 框 架 ,用 户 只 需按 事 件 添 加 自 己 的 程 序 代 码 ,给 软 件 开 发 带 来了 极 大 的 方 便 ,提 高 了 软 件 开 发 的 工 作 效 率 。将 VC + + 和 MAPGIS 相 结 合 ,开 发 物 化 探数 据 处 理 和 制 图 软 件 ,如 绘 制 物 化 探 平 剖 图 、 物化 探 综 合 曲 线 等 ,其 成 果 是 MAPGIS 图 件 ,与现 有 的 MAPGIS 图 件 能 实 现 无 缝 拼 接 ,给 制 图工 作 带 来 了 极 大 的 方 便 。2 MAPGIS SD K中 的 基 本 函 数 简 介MAPGIS SD K 是 MAPGIS 的 二 次 开 发 函数 库 ,它 随 MAPGIS 软 件 捆 绑 销 售 ,包 含 了 二次 开 发 的 全 部 头 文 件 、 函 数 库 和 动 态 连 接 库 。下 述 是 二 次 开 发 中 用 到 的 最 基 本 的 MAP- GIS SD K 函 数 ,其 它 函 数 在 MAPGIS SD K头 文 件 和 二 次 开 发 帮 助 文 件 中 都 有 说 明 ,在 此不 再 赘 述 。(1) 获 取 缺 省 的 实 体 图 形 信 息 参 数得 到 线 缺 省 参 数 :原 型 :L IN - INFO 3 - GetLinDef Param(L IN - INFO 3 3 info = NULL) ;得 到 区 缺 省 参 数 :原 型 :REG- INFO 3 - Get RegDef Param(REG- INFO 3 3 info = NULL) ;得 到 点 缺 省 参 数 :原 型 : PN T - INFO 3 - Get PntDef Param( PN T - INFO 3 3 info ,short pnt Type) ;参 数 : 入 口 : 3 3 inf — — — 实 体 图 形 信 息 ( 3inf 空 间 由 MAPGIS 申 请 ) ;pnt Type — — — 点 参 数 类 型 。出 口 : 3 3 inf — — — 返 回 实 体 的 缺 省图 形 参 数 地 址 ,该 地 址 与 返 回 地 址相 同 。返 回 值 :成 功 则 返 回 缺 省 参 数 结 构地 址 ,失 败 则 返 回 NULL 。(2)获 得 工 作 区 代 号原 型 :short Get EditArea (short aitype) ;参 数 :入 口 :aitype — — — 工 作 区 类 型 (L IN— — — 线 工 作 区 ; PN T — — — 点 工 作 区 ;REG— — — 区 工 作 区 。 其 定 义 在 头 文件 CGisEdVw. h 中 ) 。返 回 值 :编 辑 工 作 区 代 号 。功 能 :取 编 辑 工 作 区 代 号 。原 型 : long - AppendLin ( short ai , D - DO T3 dat , long len , L IN - INFO 3 inf) ;参 数 : 入 口 :ai — — — 工 作 区 号 ; 3 dat — — — D- DO T数 据 块 ; len — — — D - DO T 数据 项 数 ; 3 inf — — — 线 图 形 信 息 变 量地 址 ,该 函 数 改 变 inf 的 rect 值 。出 口 :返 回 值 :成 功 则 返 回 线 号 ( > 0) ;失败 则 返 回 0。说 明 : 失 败 原 因 : ① 线 点 数 太 少 ( 0) ;失败 则 返 回 0。(4)打 印 编 辑 窗 口 上 的 全 部 地 图原 型 :void PrintMap () ;此 函 数 能 在 不 具 备 打 印 功 能 的 软 件 狗 上 运行 。3 配 置 VC + + 及 应 用 程 序311 配 置 VC + +安 装 MAPGIS SD K 后 ,将 文 件 夹 L IB 和DLL 中 的 文 件 复 制 到 一 个 新 文 件 夹 (如 : d : \MAPGISSD K60 \ aaa) 中 。 MAPGIS 配 置 文 件MCONFIG. GIS (一 般 在 C : \ mapgis60 \ pro2gram 下 )拷 贝 到 应 用 程 序 输 出 文 件 夹 (如 :d : \MAPGISSD K60 \ aaa)下 。在 应 用 程 序 工 程 中 , (1)选 择 菜 单下 的 ,在 标 题 为 “ ProjectSetting” 的 窗口 中 ① 选 择 卡 片 ,在 “ Y分 类 ” 中 选择 “ Code Generation” ,在 “ Struct member align2ment” 中 选 择 “ 1 Byte” 。 ② 选 择 卡 片 ,在 “ Category” 中 选 择 “ General” ,将 “ 可 执 行调 试 对 话 ” 中 的 内 容 设 置 为 应 用 程 序 的 执 行 文件 ,如 D : \ mapgissdk60 \ aaa \ test . exe. (2) 选择 菜 单 下 的 ,在 “ 选 择 ”窗 口 中 选 择 卡 片 ,在 “ S 显 示 目 录 为 :”中 ① 选 择 “ Include files” ,在 “ D 路 径 ” 下 添 加MAPGIS SD K 头 文 件 所 在 目 录 ,例 如 “ d : \MAPGISSD K60 \ INCL UDE” ; ② 选 择 “ Libraryfiles” ,在 “ D 路 径 ” 下 添 加 MAPGIS SD K 库 文件 所 在 目 录 ,例 如 d : \ MAPGISSDK60 \ aaa ; ③选 择 “ Executable files” ,添 加 应 用 程 序 可 执 行 文 件所 在 文 件 夹 ,例 如 d : \ MAPGISSDK60 \ aaa。在 应 用 程 序 视 窗 类 的 头 文 件 中 ,添 加 下 面两 行 :# include″ CGisEdit . h″# include″ MAPGIS. h″将 视 窗 类 的 头 文 件 3 . h 及 程 序 文 件 3 . cpp文 件 中 视 窗 类 的 基 类 改 为 CgisEditView。在 视 窗 类 的 成 员 函 数 OnDrawr 的 最 后 添加 下 面 一 行 代 码 :CGisEditView :OnDraw (pDC) ;编 译 运 行 ,将 会 发 现 应 用 程 序 已 经 具 备 了MAPGIS 的 绝 大 部 分 编 辑 功 能 。312 应 用 程 序 设 计本 文 以 应 用 程 序 MAPGIS - GRAPHER 绘制 物 探 平 剖 图 为 例 ,说 明 二 次 开 发 的 技 术 方 法 。(1)设 置 菜 单在 Workspace 窗 口 中 单 击 ResourceView打 开 应 用 程 序 资 源 ,扩 展 Menu 项 ,双 击 IDR -MAPGIST YPE 打 开 应 用 程 序 菜 单 资 源 ,添 加菜 单 资 源 :数 据 → 绘 制 物 探 平 剖 图 ( ID 号 DA2TA - DRAW - L IN E) 。·913·第 5 期 何 涛 :应 用 VC + + 对 MAPGIS进 行 二 次 开 发 (2)建 立 参 数 输 入 对 话 框绘 制 物 探 平 剖 图 中 需 要 的 参 数 可 以 在 一 个对 话 框 中 输 入 。 仿 照 31211 中 的 方 法 ,在 Dia2log 上 单 击 右 键 。 选 择 Insert Dialog ,插 入 一 个参 数 输 入 对 话 框 ,其 类 名 为 CDraw - Line。 需 要输 入 的 内 容 有 剖 面 数 据 文 件 名 、 水 平 方 向 比 例尺 、 垂 直 方 向 比 例 尺 等 参 数 。 为 每 个 参 数 建 立 相应 的 变 量 ,保 存 输 入 的 参 数 ,以 备 绘 图 程 序 调 用 。313 编 制 应 用 程 序在 视 窗 类 下 生 成 DA TA - DRAW - L IN E 的响 应 函 数 void draw - line (void) 。 目 的 是 响 应菜 单 :数 据 → 绘 制 物 探 平 剖 图 ,输 入 参 数 ,打 开数 据 文 件 ,绘 制 物 探 平 剖 图 。 程 序 流 程 如 下 。314 程 序 功 能应 用 可 视 编 程 化 工 具 VC + + 610 ,开 发 了一 套 应 用 软 件 MAPGIS- GRAPHER。 它 是 多文 档 (MDI)软 件 ,具 有 :绘 制 物 探 平 剖 图 、 绘 制综 合 物 探 剖 面 图 、 输 出 线 型 表 、 输 出 子 图 表 、 绘制 双 对 数 座 标 纸 、 装 入 线 文 件 、 装 入 点 文 件 、 装入 区 文 件 、 添 加 线 文 件 、 添 加 点 文 件 、 添 加 区 文件 和 打 印 输 出 功 能 。 打 印 输 出 支 持 WIN2DOWS 系 统 打 印 机 ,打 印 编 辑 窗 口 上 的 全 部 地图 。 本 软 件 绘 制 的 图 形 以 及 MAPGIS 制 作 的图 形 都 可 以 用 本 软 件 的 打 印 功 能 直 接 打 印 输出 ,不 受 软 件 狗 功 能 的 限 制 。4 应 用 效 果本 软 件 已 应 用 于 2001 年 《 内 蒙 古 东 乌 珠 穆沁 旗 - 苏 尼 特 左 旗 1 :50 万 铀 矿 区 调 》 项 目 的 制图 工 作 中 ,绘 制 了 物 探 平 剖 图 、 双 对 数 座 标纸 、 210 Po 等 取 样 实 际 材 料 图 、 MAPGIS 的 线 型表 、 子 图 表 、 图 案 库 、 颜 色 库 。 提 高 了 工 作 效 率和 制 图 精 度 ,取 得 了 较 好 的 效 果 。5 结 束 语本 文 只 介 绍 了 MAPGIS SD K的 基 本 函 数 ,应 用 软 件 MAPGIS - GRAPHER 也 是 应 用 这 些基 本 函 数 开 发 而 成 的 ,其 功 能 相 当 简 单 ,虽 需 进一 步 完 善 ,但 已 应 用 于 科 研 生 产 制 图 工 件 中 ,给制 图 工 作 带 来 了 极 大 的 方 便 。[参 考 文 献 ][1 ] 武 汉 中 地 信 息 工 程 有 限 公 司 . MAPGIS二 次 开 发 帮助 文 件 . 2001.[2 ] 徐 晓 则 等 . Visual C + + 6. 0 入 门 与 提 高 . 北 京 :清 华大 学 出 版 社 ,1999.Secondary development of MAPGIS applying VC + +HE Tao( Research Instit ute No. 280 , B ureau of Geology , CN N C , Guanghan , Sichuan province , 618300)Abstract :This paper introduces an example of the secondary development of MAPGIS , its basic functions , aswell as the software development applying VC + + .Key words :MAPGIS ; secondary development ;VC + +·023· 铀 矿 地 质 第 18 卷
展开阅读全文
1
  金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:应用VC_对MAPGIS进行二次开发.pdf
链接地址:http://www.gold-doc.com/p-290659.html
收起
展开