卜坤(1980-),男,山东省日照人,博士毕业于2008年,高级工程师,研究方向:地图学与地理信息系统,工作单位:中国科学院东北地理与农业生态研究所(长春)。工作内容涉及开源GIS应用、WebGIS开发、地理信息科学数据共享。多年来致力于推广开源GIS应用,推广在国内的应用。共发表学术论文10余篇,获得软件知识产权授权10余项。近几年工作重点包括开源WebGIS系统的设计与开发,地理信息数据库建库与标准化工作,数据交换/元数据工作方面,作为应用实践,开发维护多个科学数据中心并提供数据/元数据云服务功能。目前负责OSGeo(开源地理空间基金会)中国中心工作,以及联合国教科文组织防灾减灾知识服务系统、WDS(世界数据系统)中国中心及可再资源数据中心技术方面工作。
对python 与地理信息系统相关的类库进行了系统的梳理,并通过实例方式给出说明,所有代码通过仔细的调试,使用github托管,并通过单元测试。作者也是技术达人,开发了自己的网站程序,运维多个综合门户与专业系统,对地图感兴趣的同学大概都会访问过“地图云集”,很专业、好玩的一个应用。
Python与开源GIS是作者在开源GIS开发方面多年的一个积累, 整个体系非常的完整与全面。做技术开发的人一般都知道,在实际应用中涉及到的技术一般较少;而要完成一本书,必须非常全面地学习、掌握,需要花很多的时间。这也是为什么开发、技术人员众多, 但是图书、专著少的原因。
Python 处理GIS数据必备神书。在编程方面, Python 现在比较热, 在 “Python+地理信息” 方面, 这个是国内写的第一本书(不限于开源)。
在开源GIS方面,目前国内的书有限, 有 《GDAL源码剖析与开发指南 》,《开源GIS与空间数据库实战教程》, 另外就是与 WebGIS相关的 OpenLayers 有几本。
终于出版了,但终归是不完美的。我想,大多数的作者在自己写的书出版之后,都会有这样的感觉吧。写一本书会很难,但是时间之久,修改之多,还是远远超出了自己的预计。自2006年OSGeo中国中心成立之初我就开始了解并在学习工作中开始使用Python与开源GIS相关技术,逐渐的积累、归纳,形成一些技术文档的积累。到2013年左右,渐渐地梳理出框架, 与科学出版社进行联系,并大致取得出版的意向;后面经过选题等流程,到2014年基本确定下来;中间由于一些变动,到2017年10月份才签订了合同;而最终出版,则已经到了2019年11月份。
地理信息系统是我的专业,个人更多的侧重于技术方面,总是觉得原理方面的教程在技术方面缺少实际的案例,技术方面的书籍又缺少理论方面的基础,这样导致地理信息专业的学生动手能力弱,而计算机方面的技术人员做的又不深入。在学习与工作过程中,我发现得益于 Python 优雅的语法与强大的表现力,结合文字说明,可以很好地将技术概念与细节表达出来,非常适合写成教材。所以想写一本理论与应用结合的书,通过实际的操作与理论结合起来。这是初衷,但是实际写的时候,理论方面并不能铺垫太多,有很多的问题说明的也不算透彻,没有时间与精力深入下去。实际上到了最后,只能算是咬着牙坚持完成出版的校对了。
写书,也是一个自我反思的过程。自己的技术水平并没有多高,只是兴趣广泛,涉猎较多,在开源GIS的体系与结构方面有一些体会。这本书对于开源GIS技术框架的梳理可能会更有用一些,希望能够帮助到更多的人,使得开源GIS得到更多的应用。
本书的序言邀请了中国科学院地理科学与资源研究所王卷乐研究员写的,内容如下:
“夫地形者,兵之助也。”这是《孙子兵法·地形篇》中的一句话。自古以来,地理信息就是一国重要的信息资源。如何处理这些信息资源,需要科学技术的支持。从早期的计里画方制图,到后来的手扶跟踪数字化处理,再到后来的地理信息系统,都是在解决地理信息的数据处理问题。大数据时代的到来,既提供了海量地理信息数据获取和使用的机会,更是提出了技术处理能力的需求。
引进与使用开源GIS软件是一种可以快速实现地理信息数据处理技术突破的开放的、有效的的方法,而且开源软件的开发没有商业公司的生存压力,在很多方面有先进的理论与实现,非常有利于学生与技术人员掌握与使用。
卜坤博士多年来致力于推广开源GIS应用,开展了许多实践研究和应用。在此过程中,我也与他有一些实际合作,学到许多知识。据我的一些了解,他先后参加和承担了国际科联世界数据系统(WDS)-中国中心门户和WDS可再资源与环境世界数据中心网络平台建设、联合国教科文组织(UNESCO)-国际工程科技术知识中心防灾减灾知识服务系统网站平台建设、中国科学院大数据驱动的资源学科领域创新示范平台网站建设、一带一路国际科学家联盟平台网站建设等。这些平台建设和应用集中体现了开源GIS在数据管理、处理、分析、可视化等方面的技术。
除此之外,卜坤博士还积极参加许多相关的公益性工作,包括OSGeo 中国中心网站维护、开源GIS文档翻译和编写等,为国内开源GIS社区的发展做出自己的努力和贡献。
本书正是结合他这些年的实践开发工作而著,内容涉及开源GIS应用、WebGIS开发、地理信息科学数据共享等。非常值得一读!也值得操作实践!特此给大家推荐以为序。
开放科学是目前科学研究的趋势,这里面又具体包含了开放数据/数据共享、开放获取,以及软件代码开源等诸多方面; 在地学方面数据共享与开放获取大家了解的多一些,但是在开源GIS的理论与方面可能相对较少。 这本书较多涉及技术领域,对开源GIS的使用与开发有很多的可借鉴之处, 也可以从某种程度上促进开放地理科学的开展。
在知识经济与经济全球化的时代,地理空间信息是现代社会的战略性信息资源,地理空间
信息产业已成为现代知识经济的重要组成部分。因此,充分利用国际开源地理空间信息技术与资源,从底层入手,面向行业应用需求,则有可能实现我国地理信息系统技术的跨越发展,突破核心关键技术的封锁,推进我国地理空间信息产业的新发展。
开源 GIS 的发展较早,现在技术体系也已经比较完善,在数据处理、制图、Web 应用中都
有所发展,在国外的学校、科研机构以及商业中都有应用。但是在国内,由于宣传力度不够,
以及国人版权意识淡薄的原因,从学校到企业,对开源 GIS 的了解相对较少。国际开源地理空
间基金会(open source geospatial foundation, OSGeo)中国中心作为国内开源 GIS 的推广组织,
现在也只是由几名技术爱好者在推动。所以需要写这样一本书,来推动对开源GIS的认知与应用。
本书主要以空间数据的处理、分析以及地图制图为主线。在选择内容时,以目前最为经典、常用的类库为主,目的是为了给初学者对基本的概念进行系统的讲解。
本书从应用开发角度,根据作者几年的工作经验,介绍 Python 语言在开源 GIS 中的应用。 希望能够籍此机会,使得开源 GIS 能够得到应用,并进一步推广开源 GIS 的理念与技术。
因为选题时限定了Python,因此,在内容的取舍上,很大程度依赖于已经存在的Python的类库与程序,这样会在某种程度上破坏主线的完整性,另外,在介绍不同的类库与程序时,不可避免地会受到已有知识与术语的左右。
本书内容适合地理信息专业学生、研究人员、开发人员阅读。书中代码经过了测试,可以在主流的 Linux 操作系统中运行;在 Windows 系统中大部分也可以
运行。
本书有专门的配套网站( https://www.osgeo.cn/pygis/ ) 。
网站的开发是为了宣传Python在开源GIS中的应用,主要作为专著《Python与开源GIS》的补充。在书中用到了一些资源,以及超出内容之外的一些技术,需要进一步说明。
作为应用方面的著作,书中用到一些数据,并有代码,这些资源都可以从网站上下载,并且在网站上内容也会有相应更新。资源包括源代码、预览PDF、配套数据、相关课件、VirtualBox镜像。
图书的撰写与网站中内容的制作是独立的,由于时间有限,网站的很多内容不能及时更新,也存在有多种问题,阅读时请多注意。
Python在 GIS 中的应用非常之广。除了书中介绍的开发方面的一些类库,在桌面 GIS 方面, ArcGIS从版本10开始不再支持原来的VBA,而改用 Python ; QGIS本身大部分的代码特别是插件部分可以采用python进行开发。 地图引擎 Mapnik——基于C++引擎的顶级地图引擎库,和 Python结合比较紧密, Mapfish支持部分专题地图在线制作; 在 WebGIS 应用中 Python + GeoDjango 是最常用也最庞大的后台框架。