目 录 1
第1章地理信息系统软件工程 1
1.1软件工程简介 1
1.1.1 基本概念 1
1.1.2软件系统开发过程 2
1.1.3开发过程模型 5
1.2 GIS需求分析 7
1.2.1需求获取 7
1.2.2需求规约 8
1.3 GIS数据管理设计 9
1.3.1全部采用文件管理 9
1.3.2文件结合关系数据库管理 9
1.3.3全部采用关系数据库管理 10
1.3.4采用面向对象数据库管理 11
1.4 GIS用户界面设计 12
1.4.1界面设计原则 12
1.4.2 GIS界面设计中的要素 14
1.4.3 GIS界面样式 16
1.5 GIS应用模式与开发方式 18
1.5.1 GIS应用模式 18
1.5.2 GIS开发方式 20
1.6 “北京市地理信息公众查询系统”介绍 22
第2章需求分析 24
2.1 需求概述 24
2.2功能性需求 25
2.2.1系统体系结构 26
2.2.2用户描述 26
2.2.3具体功能需求 27
2.2.4非功能性需求 30
2.3功能需求详细描述 30
第3章系统总体设计 41
3.1系统平台选择 41
3.1.1 硬件平台 41
3.1.2系统操作平台 41
3.1.3数据库平台 41
3.1.4系统开发模式与GIS组件选择 41
3.1.5 开发工具 44
3.2系统总体框架 47
3.2.1系统功能框架 47
3.2.2系统数据库 47
3.2.3系统的开发结构 47
3.2.4系统界面组织 49
3.3系统数据组织 50
3.3.1 系统数据的逻辑组织 50
3.3.2系统的主要数据类型 51
3.4进度规划 51
第4章系统详细设计 52
4.1数据库详细设计 52
4.1.1地名分类编码 52
4.1.2元数据表结构 69
4.1.3 电子地图数据 73
4.2系统相关类的详细设计 75
4.2.1辅助类的详细设计 76
4.2.2 CEnvironment类的详细设计 80
4.2.3 CPath类的详细设计 83
4.2.4 NetLayer类的详细设计 83
5.8.2控制地图显示区域 1 84
5.1 0其他辅助功能的实现 1 89
4.2.5 MapTip类的详细设计 91
第5章系统主界面的实现 93
5.1MapObjects简介 93
5.1.1 MapObjects的功能 93
5.1.2 MapObjects的特点 94
5.1.3 MapObjects的结构 94
5.1.4 MapObjects的数据源 97
5.2建立项目 99
5.2.1加入地图控件 100
5.2.2加入其他引用 102
5.2.3创建资源 103
5.3主窗体的实现 104
5.3.1界面设计 104
5.3.2基本编码 113
5.4 CEnvironment类的初步实现 122
5.4.1辅助类的实现 123
5.4.2 CEnvironment类的成员变量 125
5.5读取元数据 126
5.6创建主窗口中的工作区 133
5.6.1创建工作区 133
5.6.2创建“地图”选项卡 134
5.6.3创建“查询”选项卡 143
5.6.4创建“帮助”选项卡 143
5.7图层的加入与控制 145
5.7.1 在地图中加入图层 145
.5.7.2依据显示比例尺控制图层显示 162
5.8通过“地图”选项卡控制地图显示 176
5.8.1控制显示的地物类型 176
5.9地图的放大、缩小、全图显示和漫游 186
5.10.1鹰眼功能的实现 189
5.10.2显示经纬度 190
第6章选择与查询功能的实现 192
6.1选择地物 192
6.2查询地物信息 201
6.3地名查询 210
6.4查找最近地物 215
6.5公交查询 224
6.5.1 公交站点与线路查询 225
6.5.2乘车路线查询 247
6.6地名索引 271
6.7查询结果的定位与更详细信息 285
6.8最短路径查询 290
第7章系统其他辅助功能 323
7.1地名的快速显示 323
7.2距离量算与面积量算 328
7.3其他工具栏按钮功能的实现 329
7.4地图输出子系统的实现 330
7.5在线帮助子系统的实现 333
第8章MapObjects的其他对象 335
8.1动态跟踪层对象与GeoEvent对象 335
8.1.1TrackingLayer对象的属性 335
8.1.4 GeoEvent对象的方法 336
8.1.2 TrackingLayer对象的方法 336
8.1.3 GeoEvent对象的属性 336
8.1.5实例应用 337
8.2投影对象 341
8.2.1坐标系 341
8.2.2地图投影 343
8.2.3投影转换 349
8.3地理编码 352
8.3.1用于地址匹配的专用文件 352
8.3.2绘制街道文件 353
8.3.3地理编码对象 354
8.3.4地址定位对象 355
8.3.5地址标准化对象 355
8.3.6交互式地址匹配 357
8.3.7批地址匹配 362