teaching-programming-for-gis
teaching-programming-for-gis copied to clipboard
Jupyter notebooks to teach an introduction to Programming for GIS, including core Python concepts and packages to work with vector, raster, and network data.
Programming for GIS: Teaching resources
Abstract
This teaching material has been developed for a MSc module on programming for geographic data science at Birkbeck, University of London.
This repository contains a set of Juypter Notebooks to introduce students to the programming core concepts in Python and to packages to load, process, visualise, and analyse geospatial data.
The examples include data from the Open Geospatial Datasets for GIS Education repository.
Conda environment
All the notebooks in this repository run on an Anaconda3 environment defined in condaenv_geoprogv1.yml
(see folder conda_environment_geoprogv1
).
The notebooks were developed and tested on Mac OS Big Sur and Windows 10. Python version: 3.9.
Content
Each set includes 3 notebooks, named as content, exercises, and solutions. These are the topic covered with the corresponding Python packages:
- 01: Data types and variables (Python)
- 02: Control structures; Pandas data frames (
pandas
) - 03: Defining functions; temporal data (Python)
- 04: Vector data (
geopandas
) - 05: Raster data (
rasterio
,rasterstats
) - 06: Network analysis (
networkx
,osmnx
) - 07: Machine learning (
sklearn
); Natural Language Processing (spacy
)
Author
Andrea Ballatore (Birkbeck, University of London)
License
All the content in this repository (except the example datasets) is licensed under
Creative Commons Attribution-NonCommercial-ShareAlike (CC-BY-NC-SA).
Last update
March 2021