第1章 GIS系统介绍 1
1.1 GIS系统的概念与发展历程 1
1.1.1 GIS系统的概念 1
1.1.2 国外GIS系统的发展历程 2
1.1.3 国内GIS系统的发展历程 3
1.2 GIS产品介绍 4
1.2.1 MapInfo 4
1.2.2 ArcGIS 8
1.3 “水晶球”项目介绍 10
1.3.1 项目概述 10
1.3.2 项目目标 11
1.3.3 项目涉众及用户 11
1.3.4 项目产品总览 12
1.3.5 产品特征 13
1.3.6 用例模型 14
1.3.7 架构设计 14
1.3.8 其他产品需求 18
1.3.9 完成概况 19
第2章 GPS信号接收 21
2.1 引言 21
2.2 GPS系统介绍 21
2.2.1 GPS产生的背景 21
2.2.2 GPS系统组成 22
2.2.3 GPS定位原理 24
2.3 GPS手机介绍 25
2.4 GPS信号接收——嵌入式Linux平台 26
2.4.1 gpsd介绍 26
2.4.2 启动并配置gpsd 26
2.4.3 从gpsd中读取数据 27
2.5 GPS信号接收——WinCE平台 28
2.5.1 GPSID介绍 28
2.5.2 GPSID的主要编程接口 29
2.5.3 “水晶球”项目代码解析 30
第3章 矢量地图 32
3.1 引言 32
3.2 矢量地图格式设计 32
3.2.1 地图格式综述 32
3.2.2 多维数据索引 35
3.3 地图制作工具的设计与实现 42
3.3.1 地图制作工具简介 42
3.3.2 地图制作工具功能介绍 43
3.3.3 地图制作工具的实现 45
3.3.4 画图工具的实现 61
3.3.5 类图 64
3.4 地图引擎设计与实现 64
3.4.1 地图引擎介绍 64
3.4.2 设计原则 65
3.4.3 架构 66
3.4.4 实现 67
第4章 界面设计 96
4.1 引言 96
4.2 GUI界面设计 96
4.2.1 GUI设计目标 96
4.2.2 嵌入式图形系统 98
4.2.3 “水晶球”项目的环境搭建 101
4.2.4 “水晶球”项目GUI设计 102
4.2.5 界面设计小结 115
4.3 地图显示 115
4.3.1 地图显示概述 115
4.3.2 中英文界面动态切换 121
4.3.3 屏幕旋转 122
第5章 地图匹配 123
5.1 引言 123
5.2 地图匹配问题概述 123
5.2.1 地图结构相关术语 123
5.2.2 地图匹配问题定义 123
5.2.3 地图匹配算法的分类 124
5.3 地图匹配方法介绍 125
5.3.1 基于地图几何信息的地图匹配算法 125
5.3.2 基于地图拓扑结构的地图匹配算法 126
5.3.3 基于统计学和模糊理论的地图匹配算法 126
5.3.4 综合性的地图匹配算法 126
5.3.5 提高数据源的准确性 127
5.4 一种新的综合性地图匹配方法 129
5.4.1 PS Graph数据结构 129
5.4.2 地图匹配算法 131
5.4.3 匹配过程示例 132
5.4.4 “水晶球”项目代码示例 134
第6章 导航算法 136
6.1 引言 136
6.2 设计导航软件需要考虑的问题 136
6.3 导航系统设计的目标 136
6.4 经典的寻路算法介绍 137
6.4.1 Dijkstra算法和广度优先搜索(BFS)算法 137
6.4.2 A*算法 139
6.4.3 用于网格地图的启发函数 141
6.4.4 A*算法描述 142
6.4.5 优先队列与最小堆 143
第7章 服务器设计 147
7.1 引言 147
7.2 服务器设计 147
7.2.1 服务器端架构 147
7.2.2 消息格式及通信协议 149
7.3 数据库 160
7.3.1 SQL Server 2005简介 160
7.3.2 数据库访问 161
7.4 Socket网络通信 165
7.4.1 Socket通信介绍 165
7.4.2 服务端用户位置显示 167
7.4.3 用户位置动态显示 168
7.5 选址优化问题实现 169
7.5.1 问题概述 169
7.5.2 整体设计 169
7.5.3 MATLAB编程实现 169
7.5.4 CGAL计算几何算法库 174
7.5.5 MATLAB积分计算 175
7.5.6 地图的路径生成 177
7.5.7 Voronoi图 179
7.5.8 选址优化数学实现 180
第8章 网络通信 182
8.1 引言 182
8.2 网络通信技术介绍 182
8.2.1 无线接入技术 182
8.2.2 网络Socket编程 183
8.2.3 协议及消息格式 183
8.3 通信模块设计 184
8.3.1 通信模块系统总框架 184
8.3.2 通信模块应用层软件框架 185
8.4 核心源代码解析 186
8.5 小结 191
参考文献 192