Welcome to Geospatial Analysis with Python and R (the Python part)¶
Automating Geospatial Analysis and GIS-processes: The course teaches you how to do different GIS-related tasks in the Python programming language. 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 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 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.
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 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.
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. This course is using many parts on the following course:
Read more about open licensing terms from here.
The materials are divided into several sections:
|Lesson 0||Recap Getting started Python; Setup Miniconda environments; Jupyter Notebooks|
|Lesson 1||GIS in Python; Spatial data model; Geometric Objects; Shapely|
|Lesson 2||Introduction to Git; Working with GeoDataFrames; Working with an IDE (Spyder); Managing projections;|
|Lesson 3||making spatial queries and joins;|
|Lesson 4||Reclassifying data with Pysal|
|Lesson 5||Visualization, making static and interactive maps|
Lesson content, readings and due dates are subject to change
We will make more contents visible during the course
- Lesson 0 overview
- Installation and verifying setup for Python + GIS
- Recap Python Basics
- Lesson 1 overview
- Geometric Objects - Spatial Data Model
- Exercise 1
- Exercise 1 hints
- Lesson 2 Overview
- Git Version Control Basics
- Working with an IDE (Spyder)
- Introduction to Geopandas
- Map projections
- Exercise 2
- Exercise 2 hints
- Lesson 4 overview
- Data reclassification
- Heatmaps with the Jupyter Gmaps plugin
- Exercise 4
- Exercise 4 hints
- Lesson 5 Overview
- Static maps
- Interactive maps with Bokeh
- Interactive maps on Leaflet
- Exercise 5
- Exercise 5 hints
- Examples 2018