Mark Foley's DIT Lecture Notes:
Programming for GIS

GIS Programming using Python. Further details on the module can be found here. This is the "official" syllabus which doesn't change too often. The module as delivered will be adjusted to reflect advances in the body of knowledge and the technologies associated with the subject.

This module considers the programming tools required for geo-spatial application development and examines a number of software libraries and frameworks that can be combined with geo-spatial data to create web based geo-spatial applications. It examines how maps can be generated using a map-rendering toolkit and provides practical experience in the development of a significant geospatial software application.

This page provides access to notes and other material that we'll be using in class. The module content is built around the idea of "topics". These correspond roughly but not exactly to weeks. In other words, we may not finish a topic in any given week or we may cover more than one topic in any given week.

This list will be expanded as the semester progresses.


  1. Geospatial Development Using Python
  2. Review of GIS concepts
  3. Working with Geospatial Data in Python
  4. GIS in the Database
  5. Working with Spatial Data (example)
  6. Using Python and Mapnik to Produce Maps
  7. Python, Remote Sensing and Elevation Data
  8. Advanced Geospatial Python Modelling
  9. Real-Time Data
  10. Scripting GIS with Python (ArcGIS and QGIS)

Reading List

Python Geospatial Development - 2nd Ed Erik Westra
Publisher: Packt Publishing, 2013, ISBN: 9781782161523

Learning Geospatial Analysis with Python Joel Lawhead
Publisher: Packt Publishing, 2013, ISBN: 9781783281138

The above are the main course texts. We will be mostly using material from these, at least initially. We will also be using material from other sources including, but not limited to, those listed below.

Programming ArcGIS 10.1 with Python Cookbook Eric Pimpler
Publisher: Packt Publishing, February 2013, ISBN: 9781849694445

Think Python How to Think Like a Computer Scientist Allen Downey
Version 2.0.12
Publisher: Green Tea Press

There is a free download of this book available. make sure that you download the version for Python 2.

Dive Into Python 3 Mark Pilgrim
Publisher: Apress; 2 edition (October 23, 2009) ISBN: 978-1430224150

There is also a free download of this book available.
Dive Into Python 3 covers Python 3 and its differences from Python 2.