Geospatial Analysis with Python and R

Geospatial Analysis with Python and R
Author

Alexander Kmoch, Desalew Moges, Evelyn Uuemaa, Anto Aasa

Published

September 25, 2023

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.

Note

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