基于微处理器的车载导航电子地图的设计和实现
电子地图通过"Table"的形式来建立属性数据与空间实体间的对应关系,并以此为基础建立起电子地图的查询检索系统。通过定义空间数据结构,对空间实体类型进行确定。数据库关系模型选用一组逻辑严密、结构简单的二维平面表为操作对象,Table中严禁重复存储,从而保障空间内唯一的实体记录。在描述空间实体类型的多种属性时,将其进行多个Table的分解,从而使其形成多重的链表关系,多个Table属性信息同空间实体发生联系,进而构成属性数据同空间实体间多重对应的关系。
1.3.2 电子地图的数据索引机制
电子地图数据索引机制的索引设计过程如下:当从属性信息中进行空间信息的查询时,电子地图首先应在属性文件中找到数据库中的相应数据。此时就可在索引文件中选取相应指针,其所指的地图对象即为同数据库记录空间相对应的对象。从而能够在空间信息中进行属性信息的查询。(如对于某一空间对象已在地图上查出,电子地图便可在空间文件中读出同空间信息相对应的记录号,以此为依据,便可实现该地图对象底性信息在属性数据文件中的查询。)而 MapInfo地理信息数据格式的应用,则可较好地落实上述索引思路,且能够按照土层间的叠加关系进行存放与显示。
1.3.3 电子地图的图层与图元
在MapX中,对于MapInfo表的地图标示均是以图层的形式进行显示的,这些图层中除有地物元素位置外,默认为透明。叠加图层后,便可看到地图的各种方面。图元则包括区域对象、点对象、线对象。在MapX中,通过对Feature对象的利用便可实现对上述地图对象的房问题,可完成创建、自定义、编辑、显示等操作。
1.3.4 应用Geoset,实现地图管理
对于满意的地图,便可进行保存,在驱动器中将其写入Geoset文件当中。将Geoset文件打开,全部地图的设置和土层均为保存时状态。此时,可应用MapX自带工具Geoset Manager可对.gst文件进行管理,来对管理缩放级别、图层、表和其他属性进行修改。
2 电子地图模块的二次开发
基于Active技术的MapX控件为开发人员的二次开发提供了方便。在VC++等可视化开发环境中,将MapX控件嵌入到窗体中即可进行编程、设置属性等操作,完成空间数据查询,地理空间数据的可视化,编码等地图信息系统功能。
2.1 安装MapX mobile
在MapX安装完毕后,添加MapX空间便可对地图进行显示。具体设计步骤为:建立标准exe于编程环境当中,从"工程"菜单中选取"部件",随即将"部分对话框打开",于部件列表内,将"MapX mobile V5.02"找到,完成复选后,点击"确定"。随后工具栏中便会将Map空间图标显示出来,此时,单击"控件",便完成了工程中Map空间的引入。
2.2 地图的基本操作
车载嵌入式车载导航中,主要通过DataSet对象和Layer对象操作来完成MapX地图操作。对同此类型对象的应用,仍可将地图土层添加到应用程序当中。而属性数据操作的完成,则可通过建立数据绑定、数据源设置的方式实现。而电子地图的加载主要通过以下两种设计形式实现。一是在 MapX中加载一个Geoset对象,加载完成后,MapX将各个图层自动打开,在地图窗口中进行叠加,并对图层属性信息进行设置。二是在MapX中加载一个图层,该种方法是对一个MapInfo文件的直接加载,待图层打开后,其将在地图窗口内完成自动的叠加。
2.3 地图的刷新
MapX首先绘制动态图层以外的全部图层,并在某一地方进行存储,当其他图层未变而动态图层发生变化时,便可通过已存储的动态图层和数据来实施覆盖处理,进而现实处理结果。地图的刷新过程设计为依次全部刷新的形式,从最小外界矩形窗口区域开始,来完成整合刷新过程。该方法的优点是相比于整个地图窗口的刷新形式要更加快速。同时,因受地图刷新速度的影响,MapX难以同时完成多目标的刷新,这时iju可进行统一刷新闹钟的设置,从而使每个一定时间间隔,目标地图便会自动刷新一次。
2.4 地图调用
首先,在工程中加入MaoX.cpp和MapX.h文件。在菜单"Project"中选择"Files"命令,随后将对话框打开选取 MaoX.cpp和MapX.h文件加入到MapX系统当中。将MapX对象头文件加入到视图(包含MapX)中。针对MapX进行一个资源ID的创建,通过"新建一名称输入"的操作来完成。进行消息映射函数SIZE和CREATE的创建,在"视图/类导向"中选择视图类,并将两个信息在消息框中完成分别选择,之后通过函数的条件,来对代码进行编辑,导入地图。通过类向导,来进行SETFOCUS映射函数的创建,使得窗口在获得焦点的同时,地图空间也可获取焦点。
2.5 图层的控制
GIS软件中,通常需对图层
远程诊断仪,微处理器 电子地图 车载导航 嵌入式 相关文章:
- 玩转车载导航仪:体验科幻电影般的感觉(06-03)
- 汽车电子系统详解:如何提高汽车安全性?(04-14)
- 基于DSP的车载导航系统硬件电路设计与实现(09-10)
- 车载导航系统电路设计原理分析(04-15)
- 嵌入式系统在电源设计中的运用(09-20)
- 一种小型智能化UPS系统的嵌入式设计方案(09-16)