Geospatial Analysis with Python and R
Preface
Welcome to Geospatial Analysis with Python and R, 2023
Synopsis
The course teaches you how to do different GIS-related tasks in the Python and R programming languages. Each lesson is a tutorial with specific topic(s) where the aim is to learn how to solve common GIS-related problems and tasks using Python and later R tools. In the lessons we use only publicly available data which can be used and downloaded by anyone anywhere. In this course, we assume that you know the basics of Python programming - but we will also repeat Python and R basics in order to refresh everyone's memory.
To understand and explore the benefits of using a non-gui (coding/scripting) approach to method development for spatial analytics and statistics, based on the standard approaches of widely used and integrated scripting environments (Python and R).
This is an introductory course on concepts, skills, and tools for working with the Python and R scripting environments. Obtain acquaintanceship with practical Python and R libraries for everyday scientific and professional GIS use, with a focus on automating different standard GIS-related tasks that support clear documentation of methods and productivity. These lessons assume no prior knowledge of the skills or tools. It is a hands-on teaching course, so the majority of this course will be together in front of a computer and working on exercises.
Course format
The majority of this course will be spent in front of a computer learning to program in the Python language and working on exercises.
The computer exercises will focus on developing basic programming skills using the Python language and applying those skills to various GIS related problems. Typical exercises will involve a brief introduction followed by topical computer-based tasks. At the end of the exercises, you may be asked to submit answers to relevant questions, some related plots, and/or Python/R codes you have written or used. You are encouraged to discuss and work together with other students on the laboratory exercises, however the independent assignment write-ups that you submit must be completed individually and must clearly reflect your own work.
Open Access!
The aim of this course is to share the knowledge and help people to get started with their journey for doing GIS more efficiently and in a reproducible manner using Python programming.
Read more about open licensing terms from here.
Course topics: Python
The materials are divided into several sections:
Lesson | Theme |
---|---|
Lesson 0 | Setup Python environments and Jupyter Notebooks; Recap Getting started Python; |
Lesson 1 | Spatial data model; Geometric Objects; Shapely |
Lesson 2 | Working with GeoDataFrames; Dealing with Geopandas and Projected Coordinate Reference Systems; |
Lesson 3 | Making spatial queries and joins; |
Lesson 4 | Reclassifying and analysising spatial data with Pysal |
Lesson 5 | Working with raster data; Calculating statistics and map algebra; |
Lesson 6 | Visualization, making static and interactive maps; |
Lesson 7 | Introduction to Git, FAIR and Reproducible Research |
Course topics: R
The R lessons are similarly structured:
Lesson | Theme |
---|---|
Lesson 1 | Setup R environments and RStudio |
Lesson 2 | Vector data analysis (part 1) |
Lesson 3 | Vector data analysis (Part 2) |
Lesson 4 | Making maps |
Lesson 5 | Raster data analysis |
Lesson 6 | Spatial interpolation |
Lesson 7 | Mobility analysis |
Lesson 8 | 3D maps |
Lesson 9 | Interactive maps |
Lesson 10 | Animations |
More to come, don’t get distracted.
Acknowledgments
This is a book created from markdown and executable code, made with Quarto. To learn more about Quarto books visit https://quarto.org/docs/books.
See Knuth (1984) for additional discussion of literate programming.
Supported by projects and funding:
HITSA
H2020 MSCA IF
Grant PSG841 Estonian Research Council (ETAG) Personal Research Funding