@XAMTO_AI: 想学地理空间编程,但不知道从哪下手?我之前也这状态,直到翻到一本叫《GIS 编程入门》的开源书,免费,还能在线运行代码。 它从 Python 最基础的地方开始讲,一路带到进阶的地理数据分析,路径很顺。 最良心的是每节都配了可运行的代码示例…
摘要
介绍了一本名为《GIS编程入门》的开源书,免费提供且支持在线运行代码,适合从零基础学习地理空间编程,涵盖Python基础到高级地理数据分析。
查看缓存全文
缓存时间: 2026/08/22 01:21
想学地理空间编程,但不知道从哪下手?我之前也这状态,直到翻到一本叫《GIS 编程入门》的开源书,免费,还能在线运行代码。
它从 Python 最基础的地方开始讲,一路带到进阶的地理数据分析,路径很顺。
最良心的是每节都配了可运行的代码示例,一边看一边跑,比光读不练强太多了。
Python 零基础也能跟,不用额外补课 代码直接在线跑,省去配环境的麻烦 中英日韩等 8 种语言随便切,阅读没障碍 学完还能申请认证证书,简历上多一笔 文档和代码同步更新,不怕过时 完全开源免费,没有任何隐藏收费
地址:http://github.com/giswqs/intro-gispro…
giswqs/intro-gispro
Source: https://github.com/giswqs/intro-gispro
Introduction to GIS Programming
Introduction
Welcome to the official repository for Introduction to GIS Programming: A Practical Python Guide to Open Source Geospatial Tools. This repository contains all the code examples featured in the book, designed to help you learn and apply Python for geospatial analysis using open-source tools.
Get the Book
Print Edition
- 🇺🇸 English Full-Color Print Edition (556 pages) is available on Amazon (link)
PDF and EPUB Editions
🇺🇸 English | 🇨🇳 Chinese | 🇨🇿 Czech | 🇳🇱 Dutch | 🇫🇷 French | 🇩🇪 German | 🇮🇳 Hindi | 🇮🇩 Indonesian | 🇮🇹 Italian | 🇯🇵 Japanese | 🇰🇷 Korean | 🇵🇹 Portuguese | 🇷🇺 Russian | 🇲🇽 Spanish | 🇹🇷 Turkish
Cite the Book
If you use this book in your research or teaching, please consider citing it as follows:
Wu, Q. (2025). Introduction to GIS Programming: A Practical Python Guide to Open Source Geospatial Tools. Independently published. ISBN 979-8286979455. https://amazon.com/dp/B0FFW34LL3

Table of Contents
To download a PDF version of the Table of Contents, please visit https://gispro.gishub.org/book-toc.pdf.
-
Preface
- Introduction
- Who This Book Is For
- What This Book Covers
- Getting the Most Out of This Book
- Conventions Used in This Book
- Downloading the Code Examples
- Video Tutorials
- Get in Touch
- Acknowledgments
- About the Author
- Licensing and Copyright
-
Software Setup
- Overview of Software Tools
- Introduction to Python Package Management
- Setting Up Visual Studio Code
- Version Control with Git
- Using Google Colab
- Working with JupyterLab
- Using Docker
-
Python Programming Fundamentals
- Variables and Data Types
- Python Data Structures
- String Operations
- Loops and Conditional Statements
- Functions and Classes
- Working with Files
- Data Analysis with NumPy and Pandas
-
Geospatial Programming with Python
- Introduction to Geospatial Python
- Vector Data Analysis with GeoPandas
- Working with Raster Data using Rasterio
- Multi-dimensional Data Analysis with Xarray
- Raster Analysis with Rioxarray
- Interactive Visualization with Leafmap
- Geoprocessing with WhiteboxTools
- 3D Mapping with MapLibre
- Cloud Computing with Earth Engine and Geemap
- Hyperspectral Data Visualization with HyperCoast
- High-Performance Geospatial Analytics with DuckDB
- Geospatial Data Processing with GDAL and OGR
- Building Interactive Dashboards with Voila and Solara
- Distributed Computing with Apache Sedona
How to Run Code Examples
The code examples are organized into folders, each corresponding to a chapter in the book. The code examples are written in Python and can be run using MyBinder, Google Colab, or Docker. Follow this video tutorial to learn how to run the code examples.
Using MyBinder
The code examples can be run using MyBinder.
Using Google Colab
The code examples can be run using Google Colab.
Using Docker
The code examples can be run using Docker. There are two Docker images available:
A lightweight docker image without Apache Sedona:
docker pull giswqs/pygis:book
docker run -it -p 8888:8888 -v $(pwd):/app/workspace giswqs/pygis:book
A docker image with Apache Sedona:
docker pull giswqs/pygis:sedona
docker run -it -p 8888:8888 -p 4040:4040 -p 8080:8080 -p 8081:8081 -p 7077:7077 -p 8085:8085 -v $(pwd):/app/workspace giswqs/pygis:sedona
Video Tutorials
Complementing the written content, this book is supported by a comprehensive series of video tutorials that walk through key concepts and provide additional examples:
https://tinyurl.com/intro-gispro-videos
The videos are designed to complement, not replace, the written material. They’re particularly helpful for:
- Visual learners who benefit from seeing code being written and executed
- Understanding complex concepts through multiple explanations
- Learning about the development workflow and best practices
- Seeing how to approach problems and debug issues
The playlist is organized to follow the book’s structure. You can watch them in order as you progress through the book, or jump to specific topics as needed.
The videos were created in Fall 2024 when I was teaching the Introduction to GIS Programming course at the University of Tennessee. Although the course has concluded, the videos remain relevant and can be used as a reference for the book. Additional videos will be added in the future.
Enroll for Certification
Please note that you can access the course materials and lecture videos on the course website without enrolling in the course. However, if you’re interested in submitting lab assignments, receiving grades, and earning a certificate of completion, you can enroll in the course at any time by clicking the link below. There is no deadline for enrollment, and you can complete the course at your own pace.
About the Author
Dr. Qiusheng Wu is an Associate Professor and the Director of Graduate Studies in the Department of Geography & Sustainability at the University of Tennessee, Knoxville. He also serves as an Amazon Scholar. Dr. Wu’s research focuses on geospatial data science and open-source software development, with an emphasis on leveraging big geospatial data and cloud computing to study environmental change, particularly surface water and wetland inundation dynamics. He is the creator of several widely used open-source Python packages, including geemap, leafmap, segment-geospatial, and geoai, which support advanced geospatial analysis and interactive visualization. His open-source work is available at the Open Geospatial Solutions on GitHub.
Acknowledgments
This book was written using MyST Markdown and compiled using Typst with the min-book template. Credits to developers and maintainers of the Typst and MyST Markdown projects. Special thanks to @mayconfmelo for the min-book template and their help with customizing the template for this book.
Licensing and Copyright
This book embraces the principles of open science and open education. To support transparency, learning, and reuse, the code examples in this book are released under a Creative Commons Attribution 4.0 International (CC BY 4.0) license. This means you are free to copy, modify, and distribute the code, even for commercial purposes, as long as appropriate credit is given.
Please attribute code usage by citing the book or linking to the GitHub repository:
Wu, Q. (2025). Introduction to GIS Programming: A Practical Python Guide to Open Source Geospatial Tools. Independently published. ISBN 979-8286979455. https://amazon.com/dp/B0FFW34LL3
While the code is freely available, the text, figures, and images in this book are copyrighted by the author and may not be reproduced, redistributed, or modified without explicit permission. This includes all written content, custom diagrams, and embedded visualizations unless otherwise noted.
If you wish to reuse or adapt any non-code material from the book—for example, for teaching, presentations, or publications—please contact the author to request permission.
This dual licensing approach helps balance open access to learning materials with the protection of original creative work. Thank you for respecting these terms and supporting the open-source geospatial community.
相似文章
@XAMTO_AI: 自学编程这事儿,谁起步时没被现实按在地上摩擦过几轮? 有个北大本科生,大一就扎进计算机里自己折腾,四年熬下来,那些绊过他的、让他差点放弃的,反倒成了最值钱的经验——他把所有真正起过作用的学习资料和课程,按实战顺序理成了一份开源文档。 底层…
北大本科生将自学计算机四年积累的高质量开源课程资源(来自MIT、斯坦福、伯克利等)按实战顺序整理成一份开源文档,旨在帮助零基础者系统学习编程。
@XAMTO_AI: 别再收藏那些看着热闹、用不上的 AI 教程了。 这本 《动手学大模型》 才是真正需要的——开源、免费、代码能跑。 全书 12 章,手把手带你走完大模型落地的完整流程: ① 语言模型基础 ② 提示词工程 ③ 语义搜索 ④ 模型微调 ⑤ 多模…
推荐一本开源免费的《动手学大模型》教程,涵盖语言模型基础、提示词工程、语义搜索、模型微调、多模态应用等12章,所有代码可直接在Colab中运行。
@XAMTO_AI: 不少人嘀咕:AI编程都这么猛了,基础知识还用得着学吗? 用得着,而且越来越用得着。 安利一个GitHub上的宝藏项目:Professional Programming,从算法到系统设计再到代码质量,覆盖得明明白白。学习路径清晰,不是那种甩…
推荐GitHub上的Professional Programming项目,涵盖算法、系统设计、代码质量等编程基础知识,提供清晰学习路径和实战练习,强调在AI编程时代基础知识仍然重要。
@manateelazycat: AI很强,但是计算机新人还是要多积累知识的,这样才能解决复杂问题 重新发一下我过去推荐的计算机基础书籍吧 我自己的读书习惯,特别是学习计算机,喜欢读哪些写的通俗易懂的书,学到代码后面为什么这么做的原因,只有学习到之其所以然才能在以后用到的…
一位资深开发者分享了自己多年积累的计算机书籍推荐书单,涵盖Python、C++、Java、Rust等主流语言及多个技术领域,强调打好基础对解决复杂问题的重要性。
@Xudong07452910: 推荐一本免费的 AI 书:《Agentic AI 漫游指南》。 我刚开始读,感觉它和很多「AI 入门指南」不太一样。 虽然也有基础知识,但作者明显没有把主要篇幅放在那些已经被反复讲过的概念上,而是一路讲到强化学习 RL、推理 Reason…
推荐一本免费的AI书《Agentic AI 漫游指南》,它深入讲解强化学习、推理、评测等概念,不同于普通入门指南,帮助理解AI工作机制。该书源自arXiv预印本。