基于电子地图的GPS导航定位程序的设计与实现论文.docx
- 文档编号:29513730
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:59
- 大小:767.22KB
基于电子地图的GPS导航定位程序的设计与实现论文.docx
《基于电子地图的GPS导航定位程序的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《基于电子地图的GPS导航定位程序的设计与实现论文.docx(59页珍藏版)》请在冰豆网上搜索。
基于电子地图的GPS导航定位程序的设计与实现论文
(此文档为word格式,下载后您可任意编辑修改!
)
绪论
一、选题背景以及意义
随着计算机技术的飞速发展,全球定位系统(GPS)和地理信息系统(GIS)在各行各业中得到广泛的重视和应用,两者的集成化程度也日益加强,实现了GPS导航信息在GIS上的可视化、一体化和集成化,能够在地图上实时动态地跟踪目标和显示地理位置。
GPS定位为GIS提供了采集数据信息的新方法,GIS为GPS提供了可视化的原始地图背景,两者关系愈加紧密。
电子地图是随着计算机技术的发展而产生的一种崭新的地理信息载体,具备地图的内涵,是数字地图在计算机屏幕上的符号化显示,具有信息丰富、直观易懂、更新方便、实用灵活等特点,因而受到用户的普遍欢迎。
所以电子地图与GPS定位系统相结合成为两者未来发展的必然趋势。
随着GPS车载导航设备和PDA设备的快速发展,GPS、电子地图与掌上电脑技术相融合,逐步形成一个嵌入式的掌上导航系统,是当前GIS、GPS研究领域的主要趋势。
如今,作为GPS与GIS很好的结合体,GPS车载导航系统在国内外市场已经逐步普及,成为汽车行业的宠儿。
本文选题意义在于利用GIS矢量数据(shapefile非拓扑关系数据)作为电子地图格式,结合GPS,在电子地图上实现实时定位,对基于电子地图GPS定位技术的研究打下了坚实基础。
二、国内外研究进展
作为GPS导航与GIS的结合体,嵌入式掌上导航系统成为了国内外GPS厂商发展的重点,尤其是汽车行业的宠儿——车载GPS导航系统。
车载GPS导航系统是一种先进的导航系统,能够探测到汽车在行驶途中的当时位置,协助驾驶者在陌生的道路环境中,通过电子地图与话音指南,准确地掌握前往目的地的路线。
它是GPS导航定位技术与电子地图技术结合的焦点。
现阶段,随着电子产和汽车产业的快速发展,国内外汽车生产商、GPS专业厂商加快了对汽车GPS导航系统研制,而我国汽车导航系统本身起步比国外要晚了许多,在各个方面存在着较大差距,下面简述国内外在该行业上的研究进展状况。
(一)国外研究进展
在硬件方面,全世界已经有包括IBM、MicroOptical、Xybernaut在内的超过100家公司生产与移动计算相关的产品,如带LCD显示器的眼镜、手执微型键盘、手执鼠标、声控输入设备、GPS天线等。
在应用系统开发方面,美国麻省理工学院、哥伦比亚大学和欧洲的瑞士联邦技术学院、荷兰Delft技术大学等都在医学、工业等各个移动计算领域进行应用系统的开发工作。
在地图数据方面,美国爱荷华州立大学和加利福尼亚大学美国地理信息与分析中心(NCGIA)正在合作为NASA和联邦统计机构进行一项名为Batutta的计划,旨在研制一套专为地学野外采样使用的移动作业系统,包括地理环境与地理信息系统在无线移动环境中的集成以及穿戴式计算机、便携计算机、PDA和台式服务器的联合使用。
(二)国内研究进展
在硬件方面,国内的硬件技术很不成熟,相关导航产品的结构设计、生产已接近国际水平,硬件差距较大,绝大多数产品尚未达到工业级技术标准。
同时这几年,所有的自主导航仪的硬件几乎是清一色的日本货,全是丰田、索尼、日立和先锋等名牌产品。
在应用系统开发方面,从1981年到1985年,完成了技术引进、数据规范和标准的研究、空间数据库的建立、数据处理和分析算法及应用软件的开发等环节,对GIS进行了理论探索和区域性的实验研究。
从1986年到现在,我国GIS的研究和应用进入有组织、有计划、有目标的阶段,逐步建立了不同层次、不同规模的组织机构、研究中心和实验室。
在软件开发方面,在科技部等国家有关部门的大力组织和支持下,国产GIS基础软件开发工作取得了重要进展,出现了一批GIS高技术企业,开发出了较为成熟的国产GIS软件,如MapGIS、GeoStar、CityStar、SuperMap、MapEngine、GROW等,并形成了一定的产业规模,同时一些导航系统软件也逐步出现,例如灵图的天行者,MAPKING、LEADSTAR、领路人等,打破了国外GIS软件对我国市场的垄断,有力促进了我国地理信息系统技术和自主导航技术的发展。
在地图数据方面,经过了20年的努力,国家测绘局与其他相关部门协作完成了全国l:
100万、1:
25万基础地理空间数据库以及全国七大江河数字地形模型的建设,并启动了全国l:
5万,部分省份1:
1万基础地理空间数据库的建设。
这些基础数据有力促进了GIS技术的广泛应用。
与此同时,一些车载导航电子地图开发也开始慢慢进入正轨,如北京灵图的天行者地图其精度较高,地图范围覆盖面较广,受到用户喜爱;凯利德地图软件也受到国内认可和欢迎。
三、本文的研究内容以及总体框架
本文主要研究内容是以shapefile地图数据格式作为电子地图数据,在多线程条件下实现串口接收GPS信息,在电子地图上实时显示当前地理位置,实现实时导航定位功能,仅为以后在该方面上的开发提供初步基础。
本次设计的总体框架是:
首先概述电子地图的特点、分类以及发展过程,接下来叙述GPS导航定位、测时、测速的基本原理,然后则结合程序代码详细阐述GPS导航定位程序的设计总体思路,并阐述了在程序设计总体思路下对GPS导航定位程序功能的实现,最后总结了程序设计过程体会和经验,并分析程序存在的不足与缺陷。
第一章电子地图概述
一、电子地图的特点
电子地图是随着计算机技术的发展而产生的一种崭新的地理信息载体,它脱胎于地图,将地图以数字的方式存储、呈现,并只能在电脑中才能使用。
它具有显示、传输和分析的功能,可以提供比传统地图更佳的呈现方式,如放大、缩小、漫游、搜索以及路径规划。
常规的纸质地图强调的是数据载体、符号化和显示,它是电子地图发展的根源之一,而电子地图则侧重于分析,所以后者其表现方式也比前者要强大的多,具有许多独特的优点。
这些优点包括:
1、信息丰富、信息量大
电子地图可包括图形、图像、文档、统计数据等多种形式,不仅可以存储二维平面图形,还可以保存三维影像,也可以与视频、音频信息相连,数据类型与数据量的可扩展性比较强,电子地图使用数字存储介质,该介质容量可以很大,例如一张光盘很容易存放几百张地图。
而纸质地图只能存储基本的二维地形、地物要素,并且由于地图纸张、篇幅大小的限制,大部分的细部要素被综合取舍,所以其所能存储信息容量是非常有限的。
2、使用非常灵活、方便
电子地图一般以图层为单位组织数据,图层则一般按地图要素分别显示,这样每层显示一个要素(比如,一层显示街区,一层显示水系,一层显示绿地,一层显示道路等等),各图层可单独显示,也可多层组合叠层显示,从而达到一些纸质地图无法达到的效果。
比如,在地区政区图层上加载人口统计图层,可分析不同街区、不同地区的人口分布状况。
而两张不同要素的纸张地图则不能简单的叠加,使用起来也比较不方便。
3、集成了声音、图文和数字多媒体
把图形的直观性、数字的准确性、声音的引导性和亲切感相结合,充分调用了使用者的各种感官,这是传统地图所无法比拟的。
4、地图数据更新快速
电子地图显示的数据都存储在数据库中,随着计算机技术的不断发展,数据库的更新越来越快,相应的电子地图就可以以最新的数据进行显示,它的数据更新周期要比纸质地图短的多。
5、功能非常强大
电子地图使用了计算机工具,可以非常方便的进行地图的各种计算、统计和分析,可以进行动态模拟,便于定性与定量分析,具有较强的灵活性。
查询检索和分析功能能够支持从地图图形到属性数据和从属性数据到图形数据的双向检索;图形动态变化功能从开窗缩放、浏览阅读等基本功能到底图动画功能、多维动画图形模拟等;多级比例尺之间互相转换,可以将屏幕显示地图内容与当前比例完美的匹配,自动的对地图内容进行与比例尺相适应的取舍或综合。
6、交互性十分强
电子地图能提供给用户较强的交互能力,如用户可对地图进行任意的放大、缩小、漫游、要素选取、要素渲染、对象标注等等。
比如,用户可以自己感兴趣的地点进行标注,甚至可以进行编辑,来满足用户的不同要求。
二、电子地图的分类
电子地图的分类有很多,按照电子地图的功能和数据结构的不同可为以下几种:
(一)阅读型电子地图
主要为单一的地图显示和阅读,该类型电子地图是把已制作的模拟地图通过扫描数字化作为图像数据存储,使用栅格数据模型表达地图图形。
阅读型电子地图一般属于早期的产品,主要由于没有建立空间信息数据库,或者没有数字地图可利用,但又急于提供使用,该类型电子地图不能用于查询分析,但可在计算机屏幕上阅读。
如数字化电子地图等。
(二)交互型电子地图
交互型的电子地图是具有多种功能高级型的电子地图,交互型电子地图是在地图矢量数据库和软硬件资源支持下,能实现对电子地图各种操作,例如显示阅读、属性查询、空间检索分析,输出硬拷贝等。
交互型的电子地图是当前主要研究方向之一,在数据组织管理、功能操作、用户界面友好等诸多方面,体现了电子地图技术水平。
现今,大部分车载导航电子地图、个人电子地图、地区电子地图等都是交互型的电子地图产品。
(三)网络型电子地图
网络型电子地图是在Internet或局域网络环境中使用的电子地图。
近年来,新计算机技术不断运用到Web中,其中,传统地图与Web结合造就的网络型电子地图就是一种建设性的结合。
GIS、格栅、VR也应用在网络型电子地图,使之从最初的“无缝”图片发展成二维、三维等真正的电子地图。
在二维电子地图方面:
目前国内比较有代表性是有北京图为先公司开发的mapbar平台,北京灵图公司开发的51ditu平台,还有就是以Google为代表的运用了美国卫星航拍技术的bendi.google平台。
在三维电子地图方面:
具有代表性是2005年Google在earth.google上推出的新产品:
GoogleEarth。
还有该领域的后起之秀:
杭州阿拉丁信息科技有限公司开发的edushi平台。
三、电子地图系统的发展
对电子地图系统的研究伴随着整个空间信息科学(其中包括互联网、GPS,遥感、多维可视化技术的进展)的发展而不断扩展和深人,主要表现在以下方面:
(一)面向对象的电子地图模型
电子地图除了地图图层基本组成外,还要包括一系列功能函数,以完成符号化生成、图形编辑、地图整饰、地图内容检索、空间分析等任务,这样地图类及其功能函数组成了电子地图概念模型。
(二)建立电子地图图层创作模版
图层创作“模板”是对不同地图图型设计的规格,其中最重要的是将空间和属性数据转化为地图图形的可视化方法和符号化参数的设置。
在研发的系统中给出了通用地图符号库和专题地图符号模型及符号梯尺模型等工具,可以建立多种地图图层创作“模板”,制作各种类型电子地图。
(三)电子地图设计研究
电子地图创作,在数据和软硬件技术资源支撑下,决定其质量的关键是电子地图设计。
设计中,需要考虑的因素很多,首先要解决的问题是已建立的空间信息的无缝数据文件,其海量数据的图形显示同屏幕尺寸和分辨率之间的矛盾;然后是在同一主导数据库的支撑下,进行多级比例尺地图显示的综合。
对于计算机相对有限的存储能力和有限的屏幕显示的矛盾解决,要充分利用系统中多种方式的地图检索、开窗放大、多向漫游、导航视图以及多窗口设置等手段来解决地图阅读。
因此精心设计和方便操作,对提高读者的视觉感受和读图效果是大有帮助的。
第二章GPS导航定位原理概述
一、GPS卫星导航定位原理
导航是一个技术门类的总称,它是引导飞机、船舶、车辆以及个人(总称作运载体)安全、准确地沿着选定的路线,准时到达目的地的一种手段。
GPS导航是广义的GPS动态定位,其定位方法主要有以下几种:
(一)单点动态定位
单点动态定位的基本方程为:
(3-1)
式中,为动态用户在时刻的瞬时位置;是第j颗GPS卫星在其运行轨道上的瞬时位置,它可根据广播星历计算;为码接收机所测得的GPS信号接收天线和第j颗GPS卫星之间的距离,即站星距离;d是由于接收机时钟误差的因素所引起的站星距离偏差。
利用(3-1)式解算各个坐标分量的修正值,即给定用户三维坐标的初始值(,,),求解三维坐标的改正值(,,)和距离偏差d。
(二)伪距差分动态定位
所谓差分动态定位(DGPS)就是用两台接收机在两个测站上同时测量来自相同GPS卫星的导航定位信号,用以联合测得动态用户的精确位置。
由式(3-1)可知基准站测得至GPS卫星j的伪距为:
(3-2)
式中,为基准站和第j颗GPS卫星之间的真实距离;是GPS卫星星历误差所引起的距离偏差;为接收机时钟相对于GPS时间系统的偏差;是第J颗GPS卫星时钟相对GPS时间系统的偏差;为电离层时延所引去的距离偏差;是对对流层时延所引去的距离偏差;为电磁波的传播速度。
(三)动态载波相位差分测量
由载波相位观测方程得出动态差分方程:
(3-3)
当动态用户和基准站都同时观测了4颗相同GPS卫星时,则可解算在t时刻动态用户位置估计值的改正数,从而实现动态载波相位测量的目的。
二、GPS卫星测速原理
尽管载体的运行速度各不一样,且不是匀速运动,但是,只要在这些运动物体上安设GPS信号接收机,就可以在进行动态定位的同时,实时地测得它们的运行速度。
依式(3-1)可知,用户天线和GPS卫星之间的距离:
(3-4)
根据物理学关于线速度的定义,则对式(3-4)进行求导,得到动态用户的三维速度表达式:
(3-5)
式中,站星距离
(3-6)
由于、、三者的值很小,可忽略不计。
则在进行测速之前,先使动态接收机处于静止状态,此时有:
===0(3-7)
可按式(3-4)解算出卫星的三维速度,随即进行动态用户的速度测量。
三、GPS卫星测时原理
GPS卫星都安装有四台原子时钟,导航定位时受到美国海军天文台(USNO)经常性的监测。
GPS系统得地面主控站能够以优于5ns的精度,使GPS时间和世界协调时UTC之差保持在1s以内。
因此,GPS卫星可以成为一种全球性的用户无限的时间信号源,用以进行精确的时间比对。
利用GPS信号进行时间传递,一般采用下列两种方法:
(一)一站单机定时法
即在一个已知位置测站上,用一台GPS信号接收机观测一颗GPS卫星,从而测定用户时钟的偏差。
可解算得到用户时钟偏差为:
(3-8)
上式即为一站单机的定时方程式。
(二)共视比对定时法
即在两个测站上各安设一台GPS信号接收机,在相同的时间内,观测同一颗GPS卫星,而测定用户时钟的偏差。
依(3-8)可知,A、B两个测站所测的用户时钟偏差分别为:
(3-9)
通过数据传输而将测站A的用户钟差送到B,得到两个用户的钟差
(3-10)
上式中消除GPS卫星的时钟偏差;实际传播时间是依据测站位置和卫星位置而求得
(3-11)
因此共视用户的钟差:
(3-12)
第三章基于电子地图的GPS导航定位程序的设计
一、程序设计概述
从一般导航系统软件设计上看,基于GIS的GPS导航系统软件是GPS定位导航系统中重要组成部分,这些系统将GPS和GIS的主要功能即GPS数据接收、处理,数字地图显示、查询及地图匹配功能融合在一起。
而这些功能按照模块化设计(即组件式或类模块式)方式将所有功能进行有序、合理组织起来,实现导航系统的复杂功能,而每个模块完成独立的功能。
数字电子地图制作是软件设计的一部分,单独进行实现,然后将地图在软件中使用。
本次论文所设计的程序是在VC6.0环境下从底层设计功能性类模块(如串口接收GPS数据信息类、从NMEA0183语句中提取相关信息类等),并对程序功能进行类模块封装,并有序组合这些类模块,完成GPS导航定位的一般功能。
在电子地图制作方面,采用shapefile矢量数据为电子地图数据格式,根据shapefile数据格式,自行设计各种类来读取、管理shapefile矢量数据,并在视图上显示。
最后将shapefile地图数据加载到程序中,总体上实现在电子地图上的GPS实时导航定位功能。
图1为程序设计总体功能框架:
图1程序设计总体功能框架图
二、程序功能分析
1.读取shapefile地图数据,正确显示导航电子地图;
2.实现导航电子地图的基本功能:
电子地图的放大、缩小、漫游;
3.实现对电子地图的图层进行管理、显示:
设置图层显示方式、图层删除等
4.实现地图任意位置的经纬度的显示;
5.能够接收GPSOEM板输出的数据,对数据进行有效性判别并将所需要的数据进行提取,并实时将当前GPS数据记录到固定文件中;
6.能够在电子地图上正确实时动态显示当前位置,并在卫星天空分布视图中实时显示卫星分布、经纬度、速度、时间;
7.能够从记录在文件中的数据读取进行回放已行走过的导航轨迹,同时显示当前卫星天空分布视图;
8.能够设置系统参数:
地图背景色设置、GPS实时记录文件设置、地图缩放比例设置等。
程序所有功能结构可以图2来表示
图2程序功能图
三、电子地图矢量数据管理的设计
(一)shapefile数据格式
shapefile是ESRI公开的空间数据存储格式,是当前一种比较流行的电子地图文件格式。
Shapefile是一种无拓扑结构的地理信息系统文件,存储非拓扑空间要素的几何和属性信息,空间几何是包括一系列矢量坐标的图形。
Shapefile由于没有处理拓扑数据结构的开销,在数据源绘制、显示、编辑等方面比具有拓扑关系如coverage要来的快。
Shapefile存储单一图形要素,不同图形之间没有拓扑关系,因此读写shapefile更容易,数据量较小。
1.shapefile的主文件格式
shapefile的主文件(.shp)由固定长度的文件头和接着的变长度记录组成。
每个变长度记录是由固定长度的记录头和接着的变长度记录内容组成。
表1为主文件的结构图:
表1主文件的结构图
文件头
记录头
记录内容
记录头
记录内容
记录头
记录内容
……
记录头
记录内容
主文件头总长为100字节,其结构为表2所示:
表2主文件头的结构表
位置
域
值
类型
字节顺序
0字节
文件代码
9994
整数
大
4字节
未被使用
0
整数
大
8字节
未被使用
0
整数
大
12字节
未被使用
0
整数
大
16字节
未被使用
0
整数
大
20字节
未被使用
0
整数
大
24字节
文件长度
文件长度
整数
大
28字节
版本
1000
整数
小
32字节
Shape类型
Shape类型
整数
小
36字节
边界盒
Xmin
双精度
小
44字节
边界盒
Ymin
双精度
小
52字节
边界盒
Xmax
双精度
小
60字节
边界盒
Ymax
双精度
小
68字节*
边界盒
Zmin
双精度
小
76字节*
边界盒
Zmax
双精度
小
84字节*
边界盒
Mmin
双精度
小
92字节*
边界盒
Mmax
双精度
小
需要注意的是每个变量的字节顺序,在Shapefile中的数据可以分为两类:
一类是文件自身相关数据,另一类则是地图数据。
比如,上面的文件标识代码FileCode,文件长度FileLen等,都是为了管理文件自身的数据而设置的,在Shapefile主文件中其字节顺序为bigendian;而像地图的边界盒范围值Xmin等描述的是地图数据,采用的是littleendian。
几何类型ShapeType是个很重要的参数,标识的是该文件中的记录的几何类型,其值与意义的对应关系如表3所示。
Shapefile是为存储空间地理信息而设计,对于普通电子地图来说,比较常用的类型是Point,PolyLine和Polygon。
表3shape类型
值
shape类型
0
NullShape
1
Point
3
PolyLine
5
Polygon
8
MultiPoint
11
PointZ
13
PolyLineZ
15
PolygonZ
18
MultiPointZ
21
PointM
23
PolyLineM
25
PolygonM
28
MultiPointM
31
MultiPatch
在读取shape类型时,分为NullShape、Point、PolyLine、Polygon、MultiPoint类型进行数据读取。
但是Point类型与MultiPoin类型之间只是点数量的不同,故可以将Point类型作为MultiPoint类型进行读取。
代码如下:
BOOLCShpFile:
:
ReadRecord()
{
switch(m_shpType)
{
caseNULLSHP:
对无shapefile的读取
……
casePOINTSHP:
对点文件记录的读取
……
casePOLYLINE:
对多义线记录的读取
……
casePOLYGON:
对多边形记录的读取
……
}
每个图形记录头存储了记录的数目和记录内容的长度。
其格式是统一的。
表4记录头结构图
位置
域
值
类型
字节顺序
0字节
记录数目
记录数目
整数
大
4字节
内容长度
内容长度
整数
大
针对记录头格式,将其定义为结构体来存储记录头数据。
代码为:
typedefstructshpRecordHeader
{
intiRecordNum;记录数
intiContentLength;记录内容长度
}SHPRECORDHEADER;
Shapefile记录内容包含一个shape类型和接着的该shape的几何数据。
记录内容的长度依赖于在一个图形中部分和节点的数目。
下面仅仅说明几种常用几何类型的数据结构。
点状几何类型:
Point
{DoubleXX坐标
DoubleYY坐标
}
线状几何类型:
PolyLine
{
Double[4]Box边界盒
IntegerNumParts部分的数目
IntegerNumPoints点的总数目
Integer[NumParts]Parts在部分中第一个点的索引
Point[NumPoints]Points所有部分的点
}
面状几何类型:
Polygon
{
Double[4]Box边界盒
IntegerNumParts部分的数目
IntegerNumPoints点的总数目
Integer[NumParts]Parts在部分中第一个点的索引
Point[NumPoints]Points所有部分的点
}
上述点状几何类型,用于存储几何信息以某一点表示的要素,线状几何类型与面状几何类型的数据结构类似,分别用来存储线状和区域几何类型,其结构具有分段性,可以存储多条线段和多个多边形。
2.索引文件格式
索引文件同样采用记录的形式,其中的记录与相应的主文件一一对应,以表示主文件中记录的位置和长度。
其结构如表5:
表5索引文件结构
文件头
记录
记录
记录
记录
…………
记录
索引文件的文件头与主文件(.shp)的文件头相同。
索引文件的记录格式结构如表6:
表6索引记录结构
位置
域
值
类型
字节顺序
0字节
偏移量
偏移量
整数
大
4字节
内容长度
内容长度
整数
大
将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 电子地图 GPS 导航 定位 程序 设计 实现 论文