本书是根据作者近五年的教学经验总结的一本教材,它主要面向地理信息系统专业本科生或研究生,讲授如何通过程序语言实现地理信息系统的基本功能,包括空间数据与属性数据的管理、分析及可视化等。全书内容均为底层开发,不依赖于任何商业地理信息系统软件,各种算法或数据操作方法均有详细介绍,且深入浅出,适合教师讲授或学生自学之用。通过阅读本书,希望提高读者的原始创新能力。
更多科学出版社服务,请扫码获取。
李响,先后于南京大学获得学士及硕士学位,于香港中文大学获得博士学位,曾在法国及美国从事博士后研究工作,目前任职于华东师范大学地理科学学院暨地理信息科学教育部重点实验室,受聘为教授、博士生导师,同时担任城市空间优化与智能交通研究工作室负责人。主要研究领域包括交通地理信息系统、空间优化算法、时空数据管理与分析等。
目录
丛书序
前言
第1章 一切从“●”开始1
1.1最简单的空间对象1
1.2让空间对象变成程序代码2
1.3第一个迷你GIS6
1.4总结10
第2章 更完整的类库11
2.1建立一个新的项目11
2.2空间对象体系11
2.3重新实现迷你GIS16
2.4总结18
第3章 屏幕坐标与地图坐标19
3.1坐标系统19
3.2两种坐标之间的转换21
3.3再次更新迷你GIS25
3.4总结28
第4章 制作可浏览的地图29
4.1地图缩放29
4.2地图平移32
4.3更丰富的迷你GIS33
4.4总结35
第5章 从Shapefile中读取点实体36
5.1获得Shapefile白皮书36
5.2读取shp文件37
5.3图层的引入42
5.4更新的GIS44
5.5总结48
第6章 从Shapefile中读取线和面实体49
6.1更完善的GISLine及GISPolygon49
6.2读取线与面shp文件53
6.3功能更加完善的GIS56
6.4总结57
第7章 读取Shapefile中的属性数据58
7.1建立属性数据的字段结构58
7.2dbf文件驱动程序及读取59
7.3再次完善GIS62
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.2Include函数——判断点面位置关系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地图文档类GISDocument126
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扩大化的MyGIS144
16.2从Form1到GISPanel145
16.3测试GISPanel146
16.4总结147
第17章 唯一值专题地图148
17.1GISThematic类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.3Peerchar的问题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-Tree236
23.8总结240
第24章 空间索引的应用与维护241
24.1树的搜索241
24.2优化后的GISSelect242
24.3更快的图层绘制245
24.4树的存储247
24.5修改图层的索引选项250
24.6数据结点的删除252
24.7总结254
第25章 空间参考系统255
25.1WGS1984及UTM255
25.2单个点的坐标转换256
25.3空间实体坐标转换259
25.4带有空间参考系统的图层定义261
25.5图层坐标转换265
25.6总结268
第26章 做最后的整合工作269
26.1真正的产品269
26.2“HelloWorld”270
26.3总结271
附录:MyGIS类库说明272