APP下载

嵌入式GIS 系统开发初探——以基于Windows CE 的简单系统开发为例

2013-11-25贺媛媛

关键词:代码嵌入式定位

贺媛媛 田 亮

(石家庄铁路职业技术学院1) 河北石家庄 050041 河北师范大学2) 河北石家庄 050000)

1 嵌入式GIS 的组成

嵌入式GIS 按照其功能可分为外部连接部分和GIS 部分。

1.1 外部连接部分

外部连接部分可分为源数据导入、导航定位数据接收、通讯系统连接3 部分。

(1)源数据的导入。由于嵌入式GIS 软件具有自身独立的数据格式,所以在嵌入式GIS 中应设计一个数据导入接口,将格式转换后的数据载入系统中,以满足系统的需要。

(2)导航定位数据的接收。导航定位部分采用定位/导航的方式, 将导航定位系统(如GPS)的接收机与掌上设备物理连接,把接收机接收到的导航定位数据,通过相应的接口传输到掌上设备中,按照相应格式读取定位数据,并将定位数据转换到空间矢量数据所在的坐标系中,最后通过地图匹配,实现移动目标点的定位。

(3)通讯系统的连接。通讯部分接口分为发送部分和接收部分。发送部分即将用户信息(如当前的位置信息)通过无线通讯或卫星通讯发送回服务中心和传递给其他相关的用户,接收部分则是接收通信系统接收服务中心或其他相关用户发布的信息,以便实时、快速、准确地传递各种信息。

1.2 GIS 部分

GIS 是整个嵌入式GIS 的核心部分,作为系统的主要软件模块,其主要功能包括:

(1)电子地图功能。包括地图显示、浏览、图层管理等。在GIS 常见的地图显示、放缩、漫游等功能的基础上,针对掌上设备的特点,采用图层管理、地图制图综合和地图符号图式化等方法,使系统具有精练的内核和快速的浏览速度,满足用户实际应用的需要。

(2)路径分析功能。包括路径规划与途径道路的属性查询、轨迹跟踪及记录与回放等。根据图幅内交通层的属性及特征,运用最优路径的算法,找出用户从出发点及途经点到目标点的多点最优路径,还可根据需要实时显示及查询途经道路和地物的属性。同时为了了解用户的行动,可对用户的行动路线进行记录及回放。

(3)查询检索功能。包括兴趣目标信息分类查询、地名查询及定位等。根据用户的需要,用户可在整个图幅范围内对目标点进行分类查询,以找到自己感兴趣的点目标位置,而且可根据所了解的地名,在整个图幅范围内进行精确及模糊查询,并对搜索后的目标进行定位。

(4)导航定位功能。包括移动目标点的定位、自动实时动态导航及示警等。根据接收到的卫星定位数据,对用户当前位置进行精确定位,并可根据需要,在给定的阈值下,利用矢量数据的空间拓扑关系,通过地图匹配的方法,将接收到的定位数据匹配到图幅的交通线上,对移动目标进行定位或实时动态导航;同时在动态导航的过程中,在给定的阈值范围内,当偏离前进方向时能进行语音示警,以便用户确认站立点,修正前进方向。

(5)信息标注功能。即兴趣地物信息标注。对用户感兴趣的目标点的位置在图上进行标注,并对其属性进行详细的记录。在通讯设施完备的条件下,根据需要,还可通过通讯系统将标注信息实时传输到服务中心及相关用户,以对下一步的行动提供依据。

2 嵌入式GIS 的应用开发

嵌入式GIS 作为一个独立的GIS,可以满足用户对当前地理位置信息获取的需求,而且在大多数情况下,它是很多集成的移动导航定位系统中必不可少的用户终端部分。鉴于嵌入式GIS 功能的可裁减性及系统的可集成性比较高,嵌入式GIS 在与其它技术集成后,加上行业的特征,能满足多种行业的需要。常见的集成方式是将嵌入式GIS、Web GIS、GPS 或其它定位系统和通讯系统集成起来,以形成一个满足移动用户对地理环境及位置信息需求的导航定位系统。它能满足公安、消防、交通、旅游、医疗、保险、邮政快递、野外测量、勘探、搜救及军事等领域的地理位置信息获取、目标移动调度及信息互动等特征需求,与行业的特点结合紧密,具有广泛的应用前景。在日益兴起的智能交通系统(Intelligence Traffic System,ITS)领域,目前正在研究和建立的各种车辆导航系统和车载监控系统就是其典型应用。在综合考虑用户的各种需求和我们的实际水平后,我们设计了一套以掌上设备为开发平台、基于嵌入式地理信息系统技术的地图查看查询系统的设计方案,具体操作和功能在下边介绍。

2.1 创建工程

(1)创建工程需要注意以下几个问题:

①在 ToolBox 中添加新选项,即添加类库中的 eSuperMap.Objects.Data.dll 和eSuperMap.Objects.Mapping.dll 动态链接库文件,这样就在ToolBox 中出现了后边操作必须要用的MapControl和Workspace 地图控件了。

②在Solution Explorer 的工程名Map 处右击选择Add Reference,加入所需的动态链接库:eSuperMap.Objects.Data.dll、eSuperMap.Objects.GPS.dll、eSuperMap.Objects.Mapping.dll、eSuperMap.Objects.Method.dll 和eSuperMap.Objects.Projection.dll。为后续操作创设条件。

③在正式编写示范程序之前,需要将eSuperMap 6 for .NET 的Map 和Data 程序加载进来,进入代码编辑器,在Form.cs 顶端添加如下代码:

④还需要上传程序所依赖的库和数据到模拟器中,运行调试,进行操作。需要上传的文件如图1 所示。上传图和其他数据方法类似。

图1 上传依赖库到模拟器

(2)实现打开、显示,关闭地图和退出应用程序功能。

(3)遇到的问题,就是上传依赖库和数据到模拟器中的时候atl80.dll,类库中没有,然后通过探索,从网上下载了一个,放到安装目录相关文件夹中并上传到模拟器中,就可以编译通过了。

(4)主要代码(略)。

(5)运行后的界面如图2 图3 所以。

图2 整体效果图

图3 文件菜单图

2.2 地图的查询

2.2.1 目标功能

实现地图的基本查询。

(1)运行应用程序,打开工作空间文件后,选择显示工作空间中的一幅地图。

(2)点击“SQL 查询”菜单项,输入查询条件,进行SQL 查询。

(3)点击“范围查询”菜单项,输入查询条件,进行范围查询。

(4)点击“对象缓冲查询”菜单项,选择对象,输入条件,进行对象缓冲查询。

(5)点击“范围复合查询”菜单查询后,输入查询条件,进行范围复合查询。

(6)点击“缓存复合查询”,选择对象,输入条件,进行缓存复合查询。

2.2.2 主要代码和截图

(1)主要代码(略)

(2)运行结果

运行结果如图4 图5 所示:

图4 查询菜单图

图5 查询是选择图层图

2.3 GPS 功能

2.3.1 目标功能

实现功能:打开GPS、关闭GPS、获取GPS 坐标数据、获取GPS 卫星状态数据、图上显示GPS定位点等。

(1)“启动”菜单项,以指定的端口、波特率等参数打开GPS 设备。

(2)“关闭”菜单项,断开GPS 接受器。

(3)“星历数据”菜单项,从GPS 接受器读取星历数据,并用一个字符串来表示定位息。

(4)“定位数据”菜单项,从GPS 接受器读取定位数据,并用一个字符串来表示定位息。

(5)点击“图示定位点”菜单项,从GPS 接受器读取定位数据,在地图的相应位置显示。

2.3.2 开发过程

接下来将为您展示如何实现GPS 功能,下面将“GPS”这部分进行详细说明:

(1)在快速入门所建工程中添加新的菜单项。

添加菜单项,具体如表1 所示:

表1 GPS 菜单样式表

在添加函数代码之前,需要将SuperMap Objects .NET 的Mapping、Data、Method 、GPS 和Projection 程序集加载进来,进入代码编辑器,需要在MainForm.cs 顶端添加如下代码:

using eSuperMap.Objects.Data;

using eSuperMap.Objects.Mapping;

using eSuperMap.Objects.Method;

using eSuperMap.Objects.GPS;

using eSuperMap.Objects.Projection;

在MainForm.cs 中的MainForm 类定义中加入新字段的声明:

GPS GPSReceiver; //GPS 接受器

bool bGPSOpened; //GPS 是否打开

bool bShowGPSonMap;

Point2D pntGPS;

在MainForm 类的构造函数中加入对变量的初始化,如下:

public MainForm()

{

bGPSOpened = false;

bShowGPSonMap = false;

InitializeComponent();

}

(2)主要代码(略)。

3 结语

本系统只是实现了嵌入式GIS的部分基本功能,如应用程序创建和地图查询等,像GPS,OGC等功能还待以后的继续开发,而且其开发对日常生活的意义很大。

综上所述,目前嵌入式GIS 的研究和应用正处于一个关键的发展阶段并具有广阔的发展前景,对我国的经济和国防建设具有深远的战略意义。从相关技术和研究结果来看,基于Windows CE 的嵌入式GIS的相关技术和所要求的设备已基本成熟,但是对于建立一个完整实用的移动导航定位系统,还需要数字通信系统等配套设施和体系的建立和完善。随着相关技术的发展,嵌入式GIS 的功能将得到更进一步的扩展,且最终也将得到更加广泛的应用,与之相关的Web GIS也将得到大力发展和应用。

[1]姚荣,吴宁,任亮. 基于Windows CE 的嵌入式GIS 设计与应用[J].电子测量技术,2008,31 (7):72275

[2]张强,王仁礼,陈天泽.基于Windows CE 平台的嵌入式GIS 开发与应用[J].测绘学院学报,2003,20(2):1132116

[3]崔铁军,李玉,饶欣平.嵌入式GIS 的发展及开发实践[J].测绘学院学报,2004,21 (2):1282130

[4]北京超图地理信息技术有限公司网站.http://www.supermap.com.cn /

[5]eSuperMap6. 0 用户手册[Z].北京超图地理信息技术有限公司,2004

[6]田根,童小华,张锦.基于PDA 的GIS 系统研究与开发[J].计算机工程,2004 (2):6277

[7]陈万通,孙波.基于Pocket PC 的野外移动作业系统的开发应用[J].计算机技术与发展,2008,03:210~213

[8]李敬,刘峻明,朱德海.基于嵌入式GIS 的地图查询系统的实现[J].嵌入式系统应用,2007,09 (2):39~40

[9]丁陆军.移动嵌入式GIS 概述[J].城市勘测,2008,01:64~77

猜你喜欢

代码嵌入式定位
《导航定位与授时》征稿简则
Smartrail4.0定位和控制
创世代码
创世代码
创世代码
创世代码
搭建基于Qt的嵌入式开发平台
找准定位 砥砺前行
嵌入式软PLC在电镀生产流程控制系统中的应用
青年择业要有准确定位