基于MapX的地图编辑系统设计与实现_第1页
基于MapX的地图编辑系统设计与实现_第2页
基于MapX的地图编辑系统设计与实现_第3页
基于MapX的地图编辑系统设计与实现_第4页
基于MapX的地图编辑系统设计与实现_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 31卷 第 6期2008年 12月测绘与空间地理信息GEOMA TICS &SPA T I AL I N FORMA TI ON TECHNOLOGYVol . 31, No . 6Dec . , 2008 收稿日期 :2008-01-18作者简介 :庞文超 (1986- , 男 , 河南人 , 在读硕士研究生 , 主要研究方向为 RS 。基于 M apX 的地图编辑系统设计与实现庞文超 , 王洪战 , 赵红强(武汉大学 测绘学院 , 湖北 武汉 430079摘 要 :基于 GIS 组件 MapX, 采用面向对象编程语言 VB 和 Acccss 2000数据库 , 开发一个地图编辑

2、系统 , 给出了 系统的总体结构、 主要功能 、 部分关键代码及其功能实现。 关键词 :MapX; 地图 ; 编辑 中图分类号 :P208 文献标识码 :B 文章编号 :1672-5867(2008 06-0123-03Develop ment and Desi gn of Map Editi n g Syste m Based on MapXP ANG W en -chao,WANG Hong -zhan, Hong -qiang(School of Geodesy and Geo ma ti cs, W uhan i W i Abstract:Map Editing System is d

3、evel oped based the p r ogra mm ing language VB and Ac 2ccss2000database . The overall s functi ons realizati on of the syste m are p r ovided . Key words:MapX; map; 0 引 言地理信息系统作为空间数据加工、 处理、 分析、 显示 的计算机系统 , 已广泛应用于土地管理、 道路交通、 城市 规划等领域。平面地图数据包括空间数据和相关的属性数据 , 用 传统的人工管理或者是部分的计算机辅助管理方式已被 证明是低效率而高成本的 , 越来

4、越不适应人们的日常工作要求 1。 本文在分析实际需求的基础上 , 基于 GI S 组 件 MapX, 采用面向对象技术和组件对象模型以及 Acccss 2000数据库管理地图信息开发一个平面地图编辑系统 。1 系统开发平台本系统采用 Map I nfo 公司推出的控件 MapX 与 V B 进 行开发。MapX 是 Map lnfo 公司推出的低价高效、 功能强大的ActiveX 控件 2。 其功能包括图形对象的处理和编辑、 强 大的数据库访问和支持、 高度可视化的查询功能、 动态的 图层控制等。 MapX 控件支持真正的对象链接和嵌入 (OLE 。 用户可以方便地将 MapX 集成到标准可视

5、化编程工具之中。 它还提供了一个流线化的对象模型 3。大 量的方法和事件 , 高效的属性页和默认值 , 以及其他例程 和向导 , 都可用来帮助简化开发。同时 , 它能将图形与文字信息完美结合 , 提供各种常用的分析、 查询功能。并将 结果以图形方式显示出来。VB 是一个 32位的 W indows 应用程序集成开发环境 , 它提供了直观的开发界面和先进的程序设计思想 , 是目 前比较流行的编程语言。2 系统设计2. 1 系统总体结构设计本系统主要是对地图要素的编辑和管理 , 子系统有 6个主要功能模块组成 , 其体系结构如图 1所示。图 1 系统体系结构F i g . 1 The overa

6、ll structure of syste m2. 2 系统主要功能模块设计 2. 2. 1 文件文件模块包括打开地图文件、 保存为图像、 打印设置、 退出。2. 2. 2 编辑编辑功能包括放大、 缩小、 平移、 控制图层显示、 距离 量算、 面积量算、 坐标提取等。2. 2. 3 视图包括后退、 前进、 浏览器。 用户可通过浏览器查看网 页并且可随时查看有关本软件的最新情况。2. 2. 4 绘图主要包括新建图层、 直线、 文本、 标记 4项功能。 2. 2. 5 数据库数据库模块主要包括查看和编辑两种功能。1 查看可以以列表的形式查看对应主窗口地图的属性数据 库。 其中每个记录包括 :I D

7、 、 地区、 类型、 数量、 坐标、 备注 6个字段。2 编辑可以编辑对应主窗口地图的属性数据库。其中每个 记录包括 :I D 、 地区、 类型、 数量、 坐标、 备注、 照片、 影音 8个字段。 照片与影音为该地的实地照片或录像 , 供用户 查看与编辑。2. 2. 6 帮助本软件的最新版本2. 2. 71 “ 显示 ” 选项卡中显示与记录用户所操作的每一 步 , 包括打开、 新建、 查询、 提取等。2 在 “ 查找 ” 选项卡中 , 输入想要查找的地名可得到 该地的属性类型及其数量 , 以及有关该地的照片和影音 数据。3 “ 定位 ” 选项卡中可显示当前地图全图的边界坐 标 , 也可输入要定

8、位的坐标将主图中心定位到该点 , 并同 时将鼠标定位至该点。4 可供用户进行网上交流。 用户可以计算机名或 I P 地址为准 , 选择要交流的对象 , 然后对其发送信息即可 , 也可对所有使用本软件的用户发送信息 , 即广播。5 在缩略图中 , 可随时看清楚自己所查区域在全图 中的位置 , 而且可根据需要 , 把地图直接切换到某个局部 区域。3 系统主要功能模块实现3. 1 系统主要功能模块实现3. 1. 1 面积量算面积量算在地图编辑中是个重要的操作步骤 , 在本 系统中是指获得鼠标点的地图坐标以后 , 记录用户描述 区域时的每个点 , 用坐标积分的方法计算多边形的面积。 其代码如下 :Pr

9、ivate Functi on A rea (p i A s Points A s Doublen =p i . CountSu m =0I f n <=2Then A rea =0:Exit Functi onI f n >2ThenFor i =1T o nI f i =n Then Su m =Su m +(P (n . Y +P (1 . Y 3(P (1 . X -P (n . X /2:Exit ForSu m =Su m +Abs (P (i . Y +P (i +1 . Y 3 (P (i +1 . X -P (i . X /2End I f :NextA rea

10、=Abs (Su m End Functi on3. 1. 2 数据库的创建与编辑当系统打开地图集时 , 若相应的数据库不存在 , 应创 建之。 本系统采用 Access 数据库 , 主要工作包括创建与 连接数据库、 编辑数据库、 显示数据库、 查询数据库。 1 创建与连接数据库其代码如下 :D i m dbcreate A s DAO. 定义数据库对象 D i m A sD (Database (App. Path &Fr m 2 . . &“ . mdb ” , db LangGeneral, dbEncryp t Set table =dbcreate . CreateT

11、able Def (“ 表 1” 创 建数据库表 , 名为 “ 表 1”Set fldna me (0 =table . CreateField (“ 字段 1” , db 2 Text, 20table . Fields . Append fldna me (0 (类似添加字段 dbcreate . Table Defs . Append tableAdodc1. Connecti onString =“ Pr ovider =Micr os oft . Jet . OLE DB. 3. 51; Persist Security I nf o =False; Data Source =” &

12、amp;DBFile Name 连接数据库2 数据库的查询和显示 4数据库查询的主要代码如下 :Data1. Recordset . FindFirst Data 控件查找Adodc1. Recordset . Find sql 变量 sql 为 S QL 语言 查找字符串通过查询后 , 可在 Text 文本框、 Picture 图片框、 OLE 容器框、 M sFlaxGrid 表格等控件中显示数据库内容。 方法 为 :把它们的 DataS ouse 属性设为相应的数据库控件 , Dat 2 aField 属性设为所设数据库中的相应字段即可自动连接。 3 编辑数据库包括对数据库的记录进行添加

13、、 删除、 刷新及更新 , 其关键代码如下 :Adodc1. Recordset . Add NewAdodc1. Recordset . Delete:Adodc1. Recordset . Mov 2 e NextAdodc1. Refresh:Adodc1. Recordset . Update3. 1. 3 网络功能实现浏览器与网络传送消息 , 主要用到 W eb B r owser, 及 W ins ock 等网络控件 5。 主要代码为 :421 测绘与空间地理信息 2008年fr mB r owser . br w W eb B r owser . Navigate Address

14、mB r owser . br w W eb B r owser . GoBackfr mB r owser . br w W eb B r owser . GoFor wardMD I fr m. W sck Net . Pr ot ocol =sck UDPPr ot ocol 使用 UDP 协议MD I fr m. W sck Net . B ind 2007 端口绑定为 2007 MD I fr m. W sck Net . Send Data SenddMD I fr m. W sck Net . Get D ata Gett3. 1. 4 鹰眼实现实现方法是重新画一个地图控件 (M

15、ap2 , 使其显示 第一个地图控件 (Map1 所显示地图的全图 , 并在该控件 (Map2 上新建一个图层 , 画一个代表主图边界 (Map1的 显示边界 的矩形。 关键代码为 :Public m _LayerA s Layer, m _FeaA s MapXL ib . Feature 定义图层与特征Private Sub For m_Load(Set m _Layer=Map2. Layers . Create Layer (“ Rectlay 2 er ” End SubPrivate Sub Map1_MapV iewChanged (I f m_Layer. A llFeatur

16、es . CountSet e mpFea Fact Regi on (Map1. Bounds,Set m_Fea=. AddFeature (te mpFea ElseW ith m_Fea. Parts . Ite m (1. Re moveA ll 清除特征End W ithm_Fea. UpdateEnd I fEnd Sub3. 2 系统实现通过添加 ActiveX 控件 , 利用编程语言 VB, 最终实现 本系统的开发 , 其主界面如图 2所示 (窗口中地图为 Map 2 I nf o 地图库中自带的 。图 2 系统主界面F i g . 2 The ma i n i n terf

17、ace of syste m4 结束语, 组件式 GI S 控件和面向对象语言 界面友好等优点。本文通 MapX 组件在 VB 环境下进行二次开发 , 成功参考文献 :1 刘光 . 地理信息系统二次开发教程组件篇 M.北京 :清 华大学出版社 , 2003.2 李连营 , 清泉 , 李汉武 , 等 . 基于 MapX 的 GI S 应用开发 M.武汉 :武汉大学出版社 , 2003.3 童瑞华 . 利用 MapX 开发 M ap info J .电子技术 , 2001, (7 :42-44.4 赛奎春 , 春艳 . V isual Basic 6. 0精彩编程 200例 M.北 京 :机械工业

18、出版社 , 2003.5 Julia Case B radley . V isual Basic 6. 0高级编程 M.北 京 :清华大学出版社 , 2003.责任编辑 :王丽欣 (上接第 122页 应用证明了本文系统的可行性 , 但也还存在一些问 题有待于进一步解决 :1 房产价格变化很快 , 因此 , 很难保证每个时刻的数 据都是最准确的。2 数据冗余是时空数据库中普遍存在的问题 , 在此 方法中依然存在。本系统的优点是定位查询功能和定时查询功能的实 现 , 特别是房产价格的查询功能 , 例如查询 2008年西湖花 园房产价格 , 或马鞍山市房产价格最高的小区等 , 这在实 践中具有重要意义。 参考文献 :1 黄照强 , 冯学智 . 房产地理信息系统时空数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论