


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在mini6410嵌入式linux上使用QT4和mitab显示mapinfo或mif格式电子地图转载自 /zy_emb/archive/2011/02/28/6213486.aspxMapinfo是目前较为常用的一种电子地图。市面上的各种电子地图基本都是这种格式,或是由这种格式演变来的。这种格式的电子地图,在网上较容易下载或购买到。这篇文章描述了如何在嵌入式linux上显示mapinfo地图。先介绍一下mapinfo地图的大致构成。这种地图是由一个个的地图要素构成的。Mapinfo把这些要素共分成九类:点(point)、直线(line)、折线(polyline)、区域(region)、圆弧(arc)、文本(text)、矩形(rectangle)、圆角矩形(rounded rectangle)、椭圆(ellipse)。每个要素由多个属性构成,如名称,是否显示,更新时间,点,对应点的经纬度等属性,每种要素的属性类型和个数是不相同的。但要素的名字和经纬度数据则是必须的。Mapinfo把地图分为多层,每一层都有上述要素的一种或多种构成。Mapinfo实际上是用一个dbase兼容的数据库来维护这些数据的。通常,每层地图用数据库的一个表(table)来表示,每个表的字段来表示地图要素的一些属性,如名称,是否显示,更新时间等。而每个要素就是表中的一个记录。这里要注意,数据库中存贮的仅是这些维护信息。每个地图要素的真正信息(点,对应的点的经纬度等)是存在与数据库文件同名,但不同扩展名的那些文件中,因此,mapinfo格式的地图是由四个文件构成的,如map.TAB,map.ID,map.MAP,map.DAT四个文件共同构成一个地图。再请注意,这四个文件仅构成了地图的一层,一个完整的地图是多层的,因此要由多个这样的文件组构成。了解了mapinfo地图的构成,那么要想在嵌入式linux上显示此种格式的地图,基本思路自然就是将电子地图的要素一一显示出来。要显示,就要用到图形GUI,这里,选用QT4,这个跨平台的GUI图形库。QT4中,有现成的类可以显示点,线,多边形,椭圆,矩形,文本,显然,mapinfo的地图要素是可以用上述的类来绘出的。每个地图要素要绘在哪里,则由要素中的经纬度来决定。当然,这个经纬度要转换成QT4绘图坐标才行。接下来,就是读取mapinfo地图要素的问题了。这个国外有个开源的项目叫mitab,它是一个动态连接库,程序可以调用库来实现文件的读写,目前最新版为1.7.0。它可以把mapinfo格式的文件中的地图要素信息全部读出,它的网址是/,大家可以到这里下载源码。在QT4中绘图有多种类都可以,考虑到电子地图绘制所要求的高效和可放大缩小,这里使用QGraphicsView类来实现地图的绘制。Mitab本身是C+编写的,它的功能很强大,不仅可以读取,也可写入即实现地图的编辑,但C+的接口函数没有说明,也缺少使用实例。同时,为了方便调用,此项目还提供了一个简便的C语言的函数接口(这个接口,主要用于读取信息),并提供了详细说明和示例。这里,选用C接口来调用mtiab的库函数。Mitab最初是为了能读取mif格式的地图文件来设计的,mif格式也是mapinfo支持的一种格式,mapinfo软件提供了把mapinfo的地图文件转换为mif地图文件的功能,mif地图文件由mif和mid两个文件构成。现在mitab已能直接读取mapinfo格式的地图,但显然,用它来读取mif文件将更为高效。Mitab也提供了将mapinfo转换为mif格式的功能。程序的具体编写就不多说了。这里,我把我写的一个QT4+mitab的读取并显示mif地图文件的程序源码发布出来,以求抛砖引玉。下载链接如下:/self.aspx/%e5%8e%9f%e5%88%9b%e5%85%b1%e4%ba%ab%e8%bd%af%e4%bb%b6/qt4_mitab_mif.rar目前,此程序还比较简单,仅固定显示南京市地图(源码包内附了2003版的mif格式南京地图),并且,有些地图显示的相关细节还未完成。这个程序是在min
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑工程师高级职称考试要点解析与预测题
- 2025年计算机等级考试(二级人工智能与人工智能与人工智能与大数据)试卷及答案
- 2026届广东省深圳市乐而思中心化学高二上期中教学质量检测试题含解析
- 2025年化工原理面试专题氟化工艺应用篇模拟题答案详解
- 2025年期刊编辑岗位竞聘面试预测题及应对策略
- 2025年篮球裁判理论考试题库及答案
- 2025年审计师考试笔试预测试题及答案权威发布
- 2025年行走安全知识测试题集及答案
- 北京市门头沟区2023-2024学年九年级上学期期中考试道德与法制试题及答案
- 2025年高级心理咨询师认证考试模拟题及答案解析
- 影像科品管圈QCC成果报告 缩短影像报告等待时间护理课件
- 结构施工图审图要点
- 电影赞助招商方案
- 医务人员人文素养提升系列讲座
- 危险化学品的安全储存和使用
- 精神障碍社区康复服务 基本情况登记表(模板)、精神障碍社区康复服务协议(模板)
- 一种新型离心擒纵式速度稳定机构的制作方法
- 世界和中国芍药栽培区的分布及地理气候因子的综合分析
- 口腔科车针分类
- 急性st段抬高型心肌梗死
- GB/T 21709.8-2008针灸技术操作规范第8部分:皮内针
评论
0/150
提交评论