Welcome to Automating GIS processes course!¶
Automating GIS processes -course teaches you how to do different GIS-related tasks in 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. If Python is not familiar to you, we recommend to start with our earlier course that focuses on learning the basics of Python from geo-python.github.io.
The majority of this course will be spent in front of a computer learning to program in the Python language and working on exercises. During Teaching Period I, the Automating GIS processes and Introduction to Quantitative Geology courses met together and focused on learning to program in Python. Previously, both these courses lacked sufficient time for students to properly learn the basic concepts of programming in Python.
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 laboratory summary write-ups that you submit must be completed individually and must clearly reflect your own work.
The course is open for everyone. 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.
Step by step instructions with cloud computing!
The materials are written in a way that you can follow them step by step exactly as they are written, as long as you use the cloud computing resources that we provide for you (unfortunately for Uni. Helsinki people only). Read more about our cloud computing environment from here. If you work from your own computer, you need to adjust the file paths to the data accordingly.
If you would like to use these materials for your own teaching or develop them further, we highly support that. Please read more about how to do it from here.
Course topics by week¶
See earlier materials from Period I here.
The materials are divided into weekly sections that are published at these pages every Monday morning. Lessons are held with following schedule:
- 31.10 - Lesson 1: GIS in Python; Spatial Data Model, Geometric Objects, Shapely
- 07.11 - Lesson 2: Working with (Geo)DataFrames
- 14.11 - Lesson 3: Geocoding and spatial queries
- 21.11 - Lesson 4: Geometric operations, reclassifying data
- 28.11 - Lesson 5: Visualization, static and interactive maps
- 08.12 - Lesson 6: Using ArcGIS through Python (the arcpy-module)
- 12.12 - Lesson 7: Raster data processing in Python
Lesson content, readings and due dates are subject to change
- General info
- Installing Python + GIS
- License and terms of usage
- Introduction to Python GIS
- Geometric Objects - Spatial Data Model
- Exercise 1
- Lesson 2 Overview
- Download datasets
- Pandas and Geopandas -modules
- Introduction to Pandas
- Introduction to Geopandas
- Exercise 2
- Lesson 5 Overview
- Download datasets
- Static maps
- Interactive maps with Bokeh
- Sharing interactive plots on GitHub
- Interactive maps on Leaflet
- Inspiration: World 3D
- Exercise 5
- Lesson 6 Overview
- Python in ArcGIS
- ArcGIS Toolbox
- Writing arcpy scripts
- Running the Python script from ArcGIS
- Lesson 7 Overview
- Download data
- Reading raster files with GDAL
- Reading raster as a numerical array
- GDAL command line tools
- Exercise 7