第1章 系统框架与开发模式 1
1.1 业务模型和系统架构的建立 2
1.1.1 结构细化与业务分析 3
1.1.2 开发技术选型 5
1.1.3 数据库的选择 6
1.2 本章小结 8
第2章 应用服务器的设计 9
2.1 建立应用服务器 9
2.1.1 自动化服务器向导 9
2.1.2 应用服务器的实例模型 11
2.1.3 应用服务器的线程模型 12
2.1.4 应用服务器的逻辑模型 13
2.1.5 远程数据模块的实现 14
2.1.6 客户端登录的实现 20
2.2 本章小结 24
第3章 基础数据的建立 25
3.1 线路的建立 25
3.1.1 数据表格的设计 25
3.1.2 服务器函数的设计 26
3.1.3 客户端的设计 28
3.2 GPS采集数据的导入 29
3.2.1 GPS采集数据的格式 30
3.2.2 GPS线路数据表设计 30
3.2.3 将GPS数据导入数据库服务器端函数设计 33
3.2.4 客户端GPS数据文件的导入 36
3.3 线路数据的后期编辑 41
3.3.1 线路数据的编辑与删除 41
3.3.2 GPS采集数据的追加 50
3.3.3 巡线员线路数据的分配 56
3.4 定位人员管理及定位队列的建立 62
3.4.1 巡线人员的表的设计 62
3.4.2 服务器端建立巡线员函数的设计 63
3.4.3 客户端界面设计 67
3.4.4 客户端的实现 67
3.5 本章小结 69
第4章 定位方式的选择与技术实现 70
4.1 GpsOne定位技术介绍 70
4.2 项目中定位数据的组织及实现模式 72
4.3 本章中的缩略语 73
4.4 CDMA位置服务业务模型 74
4.4.1 移动台(MS)发起的定位 74
4.4.2 网络侧发起的定位 76
4.5 L1定位通信协议分析 77
4.5.1 L1接口概念 77
4.5.2 L1协议承载方式 77
4.5.3 L1语法 78
4.5.4 定位请求类型 78
4.5.5 L1定位请求协议 79
4.5.6 L1定位答复协议 85
4.5.7 DTD中的元素和属性 86
4.5.8 结果代码和错误代码 87
4.6 本章小结 88
第5章 定位通信服务器设计实现 89
5.1 Socket通信中阻塞式与非阻塞式 89
5.2 定位通信服务器的实现 90
5.2.1 变量、函数的声明与用途 90
5.2.2 函数的实现 92
5.2.3 定位通信服务器的界面设计 104
5.3 本章小结 108
第6章 主动定位请求设计实现 109
6.1 数据库设计 110
6.2 主动定位请求设计实现 110
6.2.1 结构设计 110
6.2.2 主程序单元变量定义 113
6.2.3 函数声明 113
6.2.4 函数定义 113
6.2.5 COM端口参数配置界面 119
6.3 本章小结 121
第7章 应用服务器定位通信设计实现 122
7.1 数据库位置数据存储表的设计 122
7.1.1 定位及历史轨迹表的设计 122
7.1.2 序列及触发器设计 123
7.2 通信子线程单元的设计 124
7.2.1 变量、函数的声名与用途 124
7.2.2 函数的实现 126
7.2.3 定位请求与通信线程在主程序中的实现 143
7.3 应用服务器主界面 143
7.4 应用服务器参数配置 144
7.4.1 ADO数据库连接参数配置 144
7.4.2 与定位通信服务器连接参数配置 148
7.4.3 主动定位请求客户端连接参数配置 150
7.4.4 定位队列参数配置 151
7.5 本章小结 152
第8章 MapX应用的基础知识 153
8.1 MapX数据组织的基本方式 153
8.1.1 Mapinfo图层数据格式 153
8.1.2 MapX对图层数据的组织 157
8.1.3 MapX的图元图标 159
8.1.4 MapX功能的拓展 160
8.2 MapX的主要功能 160
8.3 MapX在Delphi中的注册使用 162
8.4 MapX显示地图的简单实现 164
8.5 本章小结 165
第9章 地图基础功能的设计实现 166
9.1 客户端界面的设计 166
9.2 地图操作的实现 167
9.2.1 地图平移功能 167
9.2.2 地图放大功能 168
9.2.3 地图缩小功能 168
9.2.4 图元选择功能 168
9.2.5 距离测算功能 169
9.2.6 图层管理功能 170
9.2.7 图层查看功能 171
9.2.8 圆形区域选择功能 174
9.2.9 矩形区域选择功能 174
9.2.10 多边形区域选择功能 174
9.2.11 状态回放功能 175
9.2.12 状态后退功能 177
9.3 地图导航功能 178
9.3.1 界面设计 178
9.3.2 导航地图事件 179
9.3.3 主地图事件 180
9.4 本章小结 181
第10章 数据组织与菜单功能设计实现 182
10.1 定位人员数据组织与显示 182
10.1.1 线路类型-线路-巡线员节点树的构建 182
10.1.2 线路、巡线员操作菜单的构建 185
10.1.3 多巡线员选择的实现 187
10.2 客户端定位请求 195
10.2.1 服务器端请求响应函数的实现 195
10.2.2 客户端数据模块引入接口 197
10.2.3 单人定位请求 198
10.2.4 多人定位请求 198
10.3 本章小结 200
第11章 定位显示的设计实现 201
11.1 定位显示的实现 201
11.1.1 服务器端位置数据的获得 201
11.1.2 客户端位置图元生成函数 204
11.1.3 单人定位显示的实现 208
11.1.4 多人同时定位显示的实现 210
11.2 本章小结 213
第12章 开源的Mitab技术 214
12.1 Mitab技术的引进 214
12.2 本章小结 224
第13章 历史轨迹与线路的显示 225
13.1 历史轨迹的实现 225
13.1.1 历史轨迹服务器端处理的实现 225
13.1.2 历史轨迹图元的生成函数 227
13.1.3 历史轨迹查询条件设置 231
13.1.4 历史轨迹数据列表的实现 231
13.1.5 历史轨迹在地图上的显示 236
13.1.6 历史轨迹点信息 236
13.2 线路在地图上的显示 237
13.2.1 整条线路显示的实现 237
13.2.2 分段路段显示的实现 247
13.3 线路信息点属性数据 250
13.3.1 线路信息点的查询 250
13.3.2 线路信息点的编辑修改 254
13.4 定位与线路对比显示的实现 257
13.5 历史轨迹与线路对比显示的实现 260
13.5.1 轨迹与线路组合图元的生成函数 260
13.5.2 轨迹线路组合显示的界面调用 267
13.5.3 历史轨迹点与线路点信息的区别显示 268
13.6 本章小结 271
第14章 监护点与故障点的设置与显示 272
14.1 在地图上添加监护点 272
14.1.1 客户端界面设计 272
14.1.2 数据库设计 273
14.1.3 服务器端实现函数设计 275
14.1.4 客户端实现代码 278
14.1.5 运行实现过程 280
14.2 监护点定位的实现 282
14.2.1 客户端界面的设计 282
14.2.2 客户端取得监护点信息列表 283
14.2.3 服务器端GetPatrol函数的实现 284
14.2.4 服务器端监护点位置及属性数据的获得 285
14.2.5 服务器端监护人员信息的获得 286
14.2.6 客户端监护点图元生成函数 287
14.2.7 客户端监护定位点图元生成函数 293
14.2.8 客户端监护点定位显示的实现 296
14.2.9 单个监护点定位显示实例 298
14.2.10 多监护点定位显示实例 299
14.2.11 监护点与线路的同时显示 300
14.2.12 监护点信息的显示与删除 315
14.3 故障点设定 319
14.3.1 表设计 319
14.3.2 序列设计 319
14.3.3 触发器设计 320
14.3.4 服务器端函数设计 321
14.3.5 客户端设定 323
14.4 故障点显示 324
14.4.1 服务器端函数实现 324
14.4.2 客户端故障点图元生成 326
14.4.3 故障点信息 329
14.4.4 故障点的删除 330
14.5 本章小结 331
第15章 考核统计 332
15.1 考核统计的办法 332
15.2 实现方法 332
15.2.1 界面设计 332
15.2.2 代码实现 333
15.2.3 运行结果 339
15.3 本章小结 339
第16章 安装制作 340
16.1 建立安装工程 340
16.2 安装程序设计 341
16.2.1 界面信息 341
16.2.2 安装文件的路径设置 342
16.2.3 第三方组件的选择 343
16.2.4 快捷方式设置 343
16.2.5 系统注册信息 344
16.2.6 安装过程的界面显示 344
16.2.7 安装过程中的语言选择 345
16.3 复杂功能的代码实现 345
16.3.1 序列号输入界面的代码单元 345
16.3.2 序列号验证功能的实现 347
16.4 安装程序示例 353
16.5 本章小结 353
附录 DTD中的元素和属性 355