第1章 底层开发的需求与构想 1
1.1 “最初”的想法 1
1.2 多说无益 马上开始 5
1.3 发展的世界、发展的需求、发展的代码 9
1.4 本书中的约定 10
1.5 小结 13
第2章 遥感与地理信息系统整体设计 14
2.1 地图/电子地图的显示与操作需求 14
2.2 模块化设计与集成模式 25
2.3 不同版本同模块的对应关系 40
2.4 小结 48
第3章 常用的矢栅数据格式 49
3.1 常用的矢量数据格式简介 49
3.2 常用的栅格数据格式简介 56
3.3 小结 60
第4章 数据操作模型:GDAL/OGR库的使用 62
4.1 GDAL/OGR库简介 62
4.2 栅格数据操作模型 66
4.3 矢量数据操作模型 72
4.4 针对矢量编辑需求的OGR库扩展 81
4.5 小结 81
第5章 数据结构定义与MHMapDef库的实现 83
5.1 地图定义模块中的总体类设计 83
5.2 地图定义类MSMapObj 85
5.3 空间参考定义类MSSpatialRefObj 86
5.4 空间范围定义类MSEnvelopeObj 86
5.5 图层定义类MSLayerObj 86
5.6 数据源定义类MSDataSourceObj 89
5.7 图层渲染主题定义类MSThematicObj 89
5.8 图层符号定义类MSSymbolObj 98
5.9 小结 110
第6章 核心显示模块MHMapRender库的实现 111
6.1 MHMapRender功能设计与定位 111
6.2 模块中绘图函数及其功能实现 114
6.3 模块中选择函数及其功能实现 159
6.4 模块中查询函数及其功能实现 172
6.5 模块中制图函数及其功能实现 185
6.6 地图绘制的多线程实现 194
6.7 小结 200
第7章 地图视图与操作模块MHMapView的实现 201
7.1 视图类功能设计 201
7.2 模块视图展现原理 204
7.3 地图操作类的界面操作实现 207
7.4 动态显示的功能实现 223
7.5 矢量要素编辑的功能实现 234
7.6 键盘快捷键的功能实现 269
7.7 其他功能实现 274
7.8 小结 279
第8章 地图主框架模块MHMapFrm的实现 280
8.1 主框架类的设计 280
8.2 各子窗口的生成与管理 283
8.3 小结 288
第9章 地图操作模块MHMapDoc的实现 289
9.1 主文档类的设计 289
9.2 文档类功能实现 290
9.3 地图的存储与读取 292
9.4 小结 298
第10章 地图主程序模块MHMapApp的实现 299
10.1 主程序类的作用与实现 299
10.2 小结 300