第1章 一切从“●”开始 1
1.1 最简单的空间对象 1
1.2 让空间对象变成程序代码 2
1.3 第一个迷你GIS 6
1.4 总结 10
第2章 更完整的类库 11
2.1 建立一个新的项目 11
2.2 空间对象体系 11
2.3 重新实现迷你GIS 16
2.4 总结 18
第3章 屏幕坐标与地图坐标 19
3.1 坐标系统 19
3.2 两种坐标之间的转换 21
3.3 再次更新迷你GIS 25
3.4 总结 28
第4章 制作可浏览的地图 29
4.1 地图缩放 29
4.2 地图平移 32
4.3 更丰富的迷你GIS 33
4.4 总结 35
第5章 从Shapefile中读取点实体 36
5.1 获得Shapefile白皮书 36
5.2 读取shp文件 37
5.3 图层的引入 42
5.4 更新的GIS 44
5.5 总结 48
第6章 从Shapefiile中读取线和面实体 49
6.1 更完善的GISLine及GISPolygon 49
6.2 读取线与面shp文件 53
6.3 功能更加完善的GIS 56
6.4 总结 57
第7章 读取Shapefiile中的属性数据 58
7.1 建立属性数据的字段结构 58
7.2 dbf文件驱动程序及读取 59
7.3 再次完善GIS 62
7.4 总结 64
第8章 读写自己的空间数据文件 65
8.1 数据类型与文件结构 65
8.2 写入文件头与图层名 66
8.3 写入字段信息 69
8.4 写入空间和属性数据值 71
8.5 读取自定义文件 74
8.6 测试读写过程 78
8.7 总结 78
第9章 点选点实体和线实体 79
9.1 建立一个选择的框架 79
9.2 点选点实体 82
9.3 点选线实体 84
9.4 测试点选功能 87
9.5 总结 88
第10章 点选面实体 89
10.1 建立点选面实体的框架 89
10.2 Include函数——判断点面位置关系 90
10.3 更友好的点选结果显示 93
10.4 总结 97
第11章 属性窗口与地图窗口的互动 98
11.1 唯一标识符 98
11.2 修改后的属性窗口 99
11.3 让彼此记住并认识 100
11.4 从地图窗口到属性窗口 101
11.5 从属性窗口到地图窗口 103
11.6 总结 105
第12章 更有效的显示方法 106
12.1 为什么会闪烁 106
12.2 用双缓冲解决闪烁问题 107
12.3 解决地图内容消失和变形的问题 108
12.4 加快显示效率 111
12.5 总结 112
第13章 鼠标的作用 113
13.1 定义鼠标的功能 113
13.2 鼠标按钮被按下 114
13.3 鼠标移动和抬起按钮 115
13.4 选择操作 117
13.5 放大操作 119
13.6 缩小操作 121
13.7 移动操作 122
13.8 切换鼠标功能 123
13.9 总结 125
第14章 多图层问题 126
14.1 地图文档类GISDocument 126
14.2 为GISDocument添加函数 127
14.3 添加与删除图层操作 129
14.4 调整图层显示顺序 132
14.5 存储操作 134
14.6 总结 136
第15章 地图窗口的简化 137
15.1 与地图窗口的联动 137
15.2 修改地图窗口 138
15.3 实现对图层管理对话框的调用 141
15.4 总结 143
第16章 开发一个集成的控件 144
16.1 扩大化的MyGIS 144
16.2 从Form 1到GISPanel 145
16.3 测试GISPanel 146
16.4 总结 147
第17章 唯一值专题地图 148
17.1 GIS Thematic类 148
17.2 唯一值地图 151
17.3 扩充图层管理对话框 153
17.4 总结 156
第18章 独立值地图与分级设色地图 158
18.1 支持多种专题地图方式的图层定义 158
18.2 独立值地图 160
18.3 分级设色地图 163
18.4 支持专题地图的图层管理对话框 166
18.5 总结 170
第19章 栅格图层 171
19.1 栅格文件结构 171
19.2 扩充的图层类定义 172
19.3 针对新的图层类更新类库 176
19.4 构建栅格数据 182
19.5 总结 185
第20章 网络数据模型基础 186
20.1 基本的网络要素 186
20.2 建立拓扑关系 188
20.3 最短路径分析 190
20.4 展示分析结果 194
20.5 总结 195
第21章 操作网络数据模型 196
21.1 生成弧段及结点图层 196
21.2 单一文件多图层读写 198
21.3 网络分析对话框设计 200
21.4 实现对话框功能 203
21.5 总结 210
第22章 约简、纠错、完善与优化 211
22.1 关于图层名 211
22.2 关于保存图层 213
22.3 Peerchar的问题 216
22.4 解除dbf文件长度的限制 216
22.5 处理空值字段 217
22.6 提高文件读取效率 219
22.7 属性窗口的快速打开 221
22.8 纠正图层管理对话框的错误 222
22.9 避免无效显示 222
22.10 总结 224
第23章 空间索引的构建 225
23.1 空间索引基础 225
23.2 定义结点 226
23.3 开始种树 228
23.4 结点的插入 229
23.5 结点的分裂 232
23.6 树的调整 235
23.7 在图层中引入R-Tree 236
23.8 总结 240
第24章 空间索引的应用与维护 241
24.1 树的搜索 241
24.2 优化后的GISSelect 242
24.3 更快的图层绘制 245
24.4 树的存储 247
24.5 修改图层的索引选项 250
24.6 数据结点的删除 252
24.7 总结 254
第25章 空间参考系统 255
25.1 WGS 1984及UTM 255
25.2 单个点的坐标转换 256
25.3 空间实体坐标转换 259
25.4 带有空间参考系统的图层定义 261
25.5 图层坐标转换 265
25.6 总结 268
第26章 做最后的整合工作 269
26.1 真正的产品 269
26.2 “Hello World” 270
26.3 总结 271
附录:MyGIS类库说明 272