





定价:79元
印次:1-1
ISBN:9787302667209
出版日期:2024.08.01
印刷日期:2024.07.30
图书责编:赵凯
图书分类:教材
"本书是一本系统介绍一个地理信息系统底层开发的完整教程,讲授如何通过程序语言实现地理信息系统的基本功能,包括空间数据与属性数据的管理、分析及可视化等。全书内容均为底层开发,不依赖于任何商业地理信息系统软件,各种算法或数据操作方法均有详细介绍,且深入浅出。通过阅读本书,希望提高读者的原始创新能力。 第1章介绍了如何实现一个最小化的地理信息系统,第2章搭建了一个底层开发的基本框架,第3至5章讲述了地理信息可视化的基本要点,第6章介绍了矢量图层,第7章讲述鼠标在地理信息浏览中的作用,第8至11章介绍Shapefile文件的读取以及如何自定义地理信息系统数据文件格式,第12至14章介绍空间及属性信息的选择方法,第15章介绍栅格图层,第16章介绍多图层管理,第17章实现了一个基本的地理信息系统集成控件,第18及19章介绍了地理信息的可视化技术,第20及21章讲述了网络分析方法的实现,第22及23章介绍了空间索引的构建及应用,第24章介绍了空间参考系统,第25及26章讲述了空间及属性数据的编辑方法,第27章介绍了地理信息系统开发的几种优化方法。 为便于读者高效学习,快速掌握地理信息系统底层开发知识,本书作者精心制作了电子书、完整的源代码以及通过电子邮件或微信公众平台的答疑服务等内容。 本书适合作为广大高校地理信息系统或地理信息科学专业的课程教材,也可以作为地理信息系统技术开发者或爱好者的自学参考用书。 "
李响,先后于南京大学获得学士及硕士学位,于香港中文大学获得博士学位,曾于法国及美国从事博士后研究工作,目前任职于华东师范大学地理科学学院暨地理信息科学教育部重点实验室,受聘为教授,博士生导师,同时担任地理科学学院副院长、地理信息科学教育部重点实验室副主任。其研究兴趣主要集中在以下两个方向“时空轨迹大数据处理及应用”与“空间智能分析算法”,主持相关省部级以上研究课题20多项,发表相关学术论文过百篇,出版相关学术专著3部。在时空轨迹大数据处理及应用领域,开发了国内外首套专用于时空轨迹数据管理与应用的软件工具XSTAR;在空间智能分析算法方面,关注于跨学科研究与跨领域应用的各种空间智能问题,充分发挥人工智能的自动时空信息采集技术、基于地理信息系统平台、构建领域相关的应用模型、实现现实问题的有效解决,在生产安防、环境保护、城市规划、交通管理、公安监控等方面有多项落地的应用。更详细介绍可参见其微信公众号“大数据攻城狮”。
前言 什么是地理信息系统底层开发 首先,我们需要定义什么是地理信息系统(GIS)。根据作者的理解,地理信息系统就是一个能够处理、分析和应用各类空间数据的软件系统。目前,工业界已经有不少成熟的商业或非商业的地理信息系统软件产品,比如ArcGIS。针对这些软件的应用通常可分为两个层次,即“应用”和“开发”,前者即利用软件的现有功能,通过非程序化的方式,达到应用的目的; 而后者则是在这些软件平台提供的二次开发工具的基础之上,开发一个新的软件产品,这通常被称为“基于某某软件的地理信息系统二次开发”,比如ArcGIS的二次开发工具ArcGIS Engine。对于一个非常成熟的地理信息系统软件产品来说,作者建议二次开发者阅读或学习其官方用户手册或开发教程,通常更加完备且准确。 本书要讲授的内容不是“二次开发”,而是“底层开发”。简单来说,我们的“底层开发”不是基于ArcGIS Engine开发一个软件,而是希望开发一个类似ArcGIS或ArcGIS Engine的软件。当然,我们说的“底层开发”也是有“底”的,或者说是相对的,它不是从机器语言或汇编语言开始,而是基于高级程序设计语言的,在本书中选择的是Windows平台下的C#编程语言,同时也建议读者能够基于本书的思想,尝试利用其他语言实现底层开发,在本书之前的读者群中,就曾经有过读者利用Java或Python语言在不同的操作系统下完成了本书的大部分学习内容,而且看起来非常棒! 为什么要学习地理信息系统底层开发 作者认为有如下三个理由。 第一,在开源共享的大环境下,越来越多的地理信息系统相关研...
目录
第1章一切从“●”开始
1.1最简单的空间对象
1.2让空间对象变成程序代码
1.3第一个迷你GIS
1.4总结
第2章更完整的类库
2.1空间对象体系
2.2迷你GIS的重新实现
2.3空间对象的随机生成
2.4总结
第3章屏幕坐标与实际坐标
3.1坐标系统
3.2两种坐标之间的转换
3.3迷你GIS的再次更新
3.4总结
第4章浏览功能的初步实现
4.1缩放
4.2平移
4.3归一化的浏览操作
4.4更丰富的迷你GIS
4.5总结
第5章更有效的显示方法
5.1闪烁的原因
5.2用双缓冲解决闪烁问题
5.3解决显示内容消失的问题
5.4解决显示内容变形的问题
5.5提高显示效率
5.6总结
第6章矢量图层
6.1建立属性数据的字段结构
6.2空间对象类型
6.3矢量图层类定义
6.4矢量图层类的应用
6.5总结
第7章用鼠标实现浏览
7.1定义鼠标的功能
7.2鼠标按键事件
7.3鼠标滚轮事件
7.4总结
第8章读取Shapefile中的点实体
8.1Shapefile文件结构概览
8.2读取shp文件头
8.3读取shp记录
8.4更新的迷你GIS
8.5总结
第9章读取Shapefile中的线和面实体
9.1更完善的XLine及XPolygon
9.2线与面shp文件的读取
...