![]() ![]() |
Python地理空间数据分析 本书介绍了为什么发现并量化数据模式对空间数据分析非常重要。你将学会:在数据问题中应用空间关系。使用栅格和矢量图。使用开源工具和公共数据集为地图增加信息量。使用 Python 脚本自动化处理地理数据。理解空间数据科学的图形化表现形式,激发好奇心。 编辑推荐 前言本书是关于如何做地理空间数据分析的入门指南,书中采用的Python 库和包都针对数据的探索和挖掘做了优化。近年来,随着物联网的出现,以及位置数据在本地计算机上的普及,包括地理空间专家、数据科学家、商业分析师、地理学家、地质学家、研究人员、分析师、计算机科学家和统计专家等不同领域的专业人员都在使用带有内置分析功能的地理信息平台。他们在探索学习的过程中,往往希望对日常使用的分析工具底层所采用的技术有更深入的了解。图形化用户界面的分析工具固然强大,但通过自己编写Python 代码来完全定制化或自动化分析结果,不但能提升你的核心技能,也有助于更好地掌握大型平台和系统的运作原理。开源项目已经无处不在,如今,大多数行业的专业人士可以获得各种定位数据和公开的数据集。随着云计算的发展,我们不再需要将大量数据下载到本地计算机,这就意味着,任何拥有互联网设备的人都有同等的机会获取数据。本书旨在成为能满足业内人士需求的资源库,无论他们身处哪一领域,本书都将成为他们实现目标和达成愿望的指南。我们也鼓励各种背景的读者参与地理空间数据分析,为城市规划、气候变化研究等各个领域的决策提供支持信息。即使是对于有经验的数据分析师, 技术往往也有其固有的难度。如果你熟悉Python,会调用QGIS 或者ArcGIS 等类库,在现成的数据系统上工作,那么即使你不了解其背后运作的工作流,不理解栅格、向量、数学模型等概念,也可以完成工作。但了解这些基础概念,将有助于你对数据的探索和解释变得更严谨、更深刻。为什么我要写这本地理空间数据分析与Python 相结合的书?因为我遇到了亟待解决的问题。我在分析电子健康记录时发现,这些记录中包含了大量的医疗数据,但可用的人口统计信息却十分匮乏。而在检查既有的医疗保健基础数据时,我发觉定位数据对预测健康结果有着重要的作用。要制定公共卫生政策,我们就必须回答诸如以下这类问题:? 患者所在的社区周边,在步行范围内或者便捷的交通沿线上是否有生鲜市场?? 患者所在的社区是否适合步行,治安状况怎样?? 患者是否有参与绿地活动的机会?? 高速公路、输电线和废物处理厂等设施对周边社区健康有怎样的影响?? 如何结合位置数据研究这些关于环境的问题?将这些类型的非空间数据与空间信息相结合,将有助于制作地图和其他可视化产物,帮助你思考更复杂的问题,探索你周围的环境,或者地球上你感兴趣的其他任何地方。选择Python 的理由Python 是一种流行的轻量级脚本语言,因其语法十分直观,所以比大多数编程语言更易于学习,也更能快速上手。而且Python 已经和ArcGIS 和QGIS 等地理信息系统(geographic information system,GIS)有所结合,因此非常适合地理空间数据分析。同时,Python 拥有充满活力的开源社区,有十分丰富的代码库和工具包支持。本书并不是一本Python 入门教材。如果你刚开始接触Python,需要从基础开始学习,在本书之外,有很多更为适合的资源。你可以从Matt Harrison 与Theodore Petrou(Packt Publishing)编写的《Pandas 1.x Cookbook》(第二版)入手,或者参与一些线下面授或在线的课程,比如Dunder Data 提供的Master the Fundamentals of Python(https://oreil.ly/swed0)。尽管我建议你至少掌握一门编程语言,但你可能没有系统学习的计划或时间,那也没关系,本书的目的是让你掌握并使用公开地理空间数据所构成的庞大的生态系统,并不要求你具备全面的编程能力。书中提供了代码片段以及对应的分步指导,我还将为你介绍本书未涵盖的各类外部资源,以便你可以实践所学的知识。当你逐渐熟悉大型库或包中的一两个函数后,你一定会更自信地去探索更加广阔的领域。本书的组织结构我们将从介绍几个关键GIS 概念开始逐步深入,随着内容的推进,我会循序渐进地引入Python 的学习,而不是默认你具有丰富的编程或地理信息数据分析的专业知识。本书采用的资源都是开源的,大多数使用Python 完成,开发人员免费分享这些源代码,其中有些还包含开源社区其他成员的贡献。我会尽我所能确保本书提供的资源无需繁琐的订阅服务即可使用,所有可能产生的费用,无论大小,都会在本书中明确标注,方便你做出决定。我着重强调开源,也并不意味着我不支持商业化的解决方案,我只是希望可以尽量减少学习中的阻力,集中围绕重要的问题开展有意义的分析,把好钢用在刀刃上。本书涉及许多开源工具、数据和各种数据集,其中一些资源你可能暂时无法获取。本书的结构不同于典型的技术书籍(尤其是针对Python 的书籍),没有采用线性组织方式。完成数据分析任务的方法多种多样,你可能在集成开发环境(IDE)中更容易获得灵感,也可能更喜欢在终端或控制台中工作。任何一本书都不可能涵盖Python 所有包和库的每个细节,你可能已经对某个特定的工具或库很熟悉,但你最常用的函数并没有收录在本书中,这也无伤大雅,我只希望你能对这些都有基本的感性认识,便于你继续深入探索更丰富的功能。本书面向的读者对象本书介绍的这个领域对我也是一次挑战:有些Python 程序员刚开始接触地理空间分析,有些地理空间从业者刚开始学习Python,那么我应该如何写一本能兼顾这两类读者需求的书?我决定化繁为简,从激发兴趣开始。我的目标不是在任何一个领域拓展你的专业知识,而是让大家一起专注于学习工具的使用和最佳实践。在本书结束时,我希望所有读者都有足够的自信,能够熟练并单独进行地理信息数据分析。为此,在我教授每一种工具和技术时,希望你能亲自动手,安装必要的工具,并使用Jupyter 或Google Colab notebook 运行代码。而且我希望你不仅仅止步于此,我还提供了大量不同的经验,邀请你继续探索。一些关于工具的技巧世上不存在绝对可靠的代码,所以你需要学习如何排除代码故障,而这正是数据女神发明Stack Overflow(https://stackoverflow.com)的原因。但请注意,这些网站提供的答案不一定是最佳的,甚至不一定是对的,请你仔细甄别。为了更好地提供帮助,我选择了有着稳定GitHub 来源的Python 包,希望可以获得更可靠的支持。话虽如此,但我还是有一些建议,希望有助于你安装以及熟悉本书涉及的工具:? 请尽量创建Python 虚拟环境,以便你控制Python 版本以及相关依赖。? 如果你不使用Conda 或Mamba 环境,请时刻关注你使用的Python 和其他软件或包的版本。代码错误最常见的原因就是版本问题。? 不确定你的pip install 是否运行成功?请运行pip list。所有已经安装的包都会显示在会话窗口的运行结果中。? 不要惧怕阅读文档!阅读教学材料是重要的学习技能,也是排除故障的关键。找到你的学习路径本书前两章介绍了一些初入地理空间分析领域时需要了解的基础概念和技能,在你未来的深入研究中会用到它们。此后的章节里,我们将展开介绍具体工具,并通过实战操作帮助你熟练运用。第3 章介绍QGIS,第4 章介绍Google Earth Engine 和其他云端的分析工具。第5 章介绍OpenStreetMap,第6 章讲解ArcGIS Python API,第7 章介绍如何使用GeoPandas 库做空间统计。第8 将暂停介绍工具,开始讲解数据清洗,学习如何从有价值的数据中去除难以避免的噪声数据。之后的第9 章将介绍一个非常有用的资源:地理空间数据抽象库(Geospatial Data Abstraction Library,GDAL)。最后,在第10 章中,我们会通过三个实践项目,将你在本书中所学的全部内容结合起来,通过研究气候变化这一紧迫的全球问题,展现你的地理空间数据分析能力。在本书末尾,你可以找到大量工具、包和数据资源的链接,以及本书所使用的资料来源和推荐阅读的参考资料,帮助你继续学习之旅。排版约定本书采用以下排版约定。斜体(Italic)表示新术语、URL、电子邮件地址、文件名和文件扩展名。等宽字体(Constant Width)表示程序清单,在段落内表示程序元素,例如变量、函数名称、数据库、数据类型、环境变量、语句和关键字。粗体等宽字体(Constant width bold)表示应由用户原封不动输入的命令或其他文本。斜体等宽字体(Constant width italic)表示应该替换成用户提供值的文本,或者由上下文决定的值。使用代码示例补充材料(代码示例、练习等)可从https://github.com/datamongerbonny/geopynotebooks.git 下载。与本书相关的技术问题,或者在使用代码示例上有疑问,请发电子邮件到errata@oreilly.com.cn。本书是要帮你完成工作的。一般来说,如果本书提供了示例代码,你可以把它用在你的程序或文档中。除非你使用了很大一部分代码,否则无需联系我们获得许可。比如,用本书的几个代码片段写一个程序就无需获得许可,销售或分发OReilly 图书的示例集则需要获得许可;引用本书中的示例代码回答问题无需获得许可,将书中大量的代码放到你的产品文档中则需要获得许可。我们很希望但并不强制要求你在引用本书内容时加上引用说明。引用说明一般包括书名、作者、出版社和ISBN,例如:Python for Geospatial Data Analysis by Bonny P. McClain (OReilly). Copyright 2023 Grapheme Consulting, Inc., 978-0-098-10479-5。如果你觉得自己对示例代码的使用超出了上述许可范围,请通过permissions@oreilly.com 与我们联系。OReilly 在线学习平台(OReilly Online Learning)近40 年来,OReilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。公司独有的专家和改革创新者网络通过OReilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。OReilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自OReilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。联系我们任何有关本书的意见或疑问,请按照以下地址联系出版社。美国:OReilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中国:北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)奥莱利技术咨询(北京)有限公司勘误、示例和其他信息可访问https://oreil.ly/python-for-geo-data 获取。对本书的评论或技术疑问,可以发电子邮件到errata@oreilly.com.cn。欲了解本社图书和课程的新闻和信息,请访问我们的网站http://oreilly.com。我们的LinkedIn:https://linkedin.com/company/oreilly-media。我们的Twitter:https://twitter.com/oreillymedia。我们的YouTube:https://youtube.com/oreillymedia。致谢我要感谢众多地理空间专业的学生与学者,他们为我提供了指导、建议和疑问,而这些也是成书的动力。作为一本既能入门又能为有经验者提供指导的书,大家对此书的热情让我倍感自豪。我十分感激田纳西大学诺克斯维尔分校地理系(the Department of Geography atthe University of Tennessee, Knoxville)助理教授吴秋生的大量工作与支持。吴博士对地理空间社区的贡献是无可比拟的,正是他在2021 年GeoPython 研讨会(GeoPython Conference 2021)上有关GEE 和geemap(https://oreil.ly/X4Pv6)工作坊的演讲使我了解到GEE 和Python 集成的重要价值,一年后我也有幸登上了同样的研讨会讲坛。我还要感谢来自Dunder Data(https://www.dunderdata.com)的Python 和数据探索专家Ted Petrou。Ted 提供的实时资源和实惠的工作坊,填补了Python 教学与工作环境中的Python 实践间的空白。SpatialThoughts(https://oreil.ly/3eJ0c)的Ujaval Gandhi 长期致力于介绍地理空间平台和技巧,无论对于注册学员还是独立学习者,他都倾囊相授,我也从他那里获益良多。还要由衷的感谢GeospatialConnections(https://oreil.ly/SeeNU)社区的各位版主:Bruce Buxton,Juliana McMillan-Wilhoit,Tim Nolan 和Kendrick Faison。感谢你们无私的帮助,在社区中与各位同行的交流让我增长了不少见识。感谢我的丈夫Steve,他给予的支持不只是幽默和陪伴,还有沙拉和小熊软糖。还要感谢我的两个儿子Harrison 和Ryland,像北极星一般为我照亮前路,不断给我智慧、魔力,以及一切的动力。 Bonny P. McClain博士是美国国家出版俱乐部(National Press Club)、500女性科学家(500 Women Scientists),以及城市和地区信息系统协会(Urban and Regional Information Systems Association, URISA)的成员,还曾经是Tableau 演讲局(Tableau Speaker Bureau)和美国调查记者编辑协会(Investigative Reporters and Editors,IRE)成员,因此有大量机会参与卫生政策制定和卫生经济学研讨。 目录
你还可能感兴趣
我要评论
|