MSc Environmental Monitoring, Modelling and Reconstruction

Year of entry: 2023

Course unit details:
Understanding GIS

Course unit fact file
Unit code GEOG71551
Credit rating 15
Unit level FHEQ level 7 – master's degree or fourth year of an integrated master's degree
Teaching period(s) Semester 1
Offered by
Available as a free choice unit? No


As GIS technologies become increasingly common across all sectors of industry and research, the users of those technologies are becoming increasingly detached from the science behind the software. Understanding GIS seeks to remedy this by using Python programming to explore GIS actually work, providing students with an in-depth “behind the scenes” understanding of applied geographical information science.


  • Offer students insight into how GIS software really works.
  • Teach students skills in the Python programming language.
  • Enable students to automate data processing and analytical tasks.
  • Allow students to develop problem-solving skills.

Teaching and learning methods

The course unit will be delivered through hybrid lecture and practical sessions. Each of the teaching weeks will involve both a one-hour lecture and a two-hour practical in a computer lab.

Each week, the lecture will introduce a theoretical grounding for the related practical, which will be followed up by a Python-based practical where that knowledge can be applied. The course will progressively build skills in Python-based GIS by visiting a new topic area each week: this will begin with a basic introduction to Python and GIS, and will end with the creation of software capable of performing complex GIS operations.

Sessions will draw upon a range of resources, including PowerPoint slides for lectures, web-based walkthrough guides for practical sessions, links to relevant web resources, and example code.

Knowledge and understanding

  • Understand how many common GIS operations actually work, rather than simply being able to implement them in desktop software.

Intellectual skills

  • Gain a deeper understanding of the geographical information science paradigms that underpin geographical information systems.

Practical skills

  • Demonstrate competency in the handling of multiple types of spatial data.
  • Undertake spatial analysis and map production programmatically
  • Automate repetitive or time-consuming tasks to take advantage of computing power to work more effectively and efficiently

Transferable skills and personal qualities

  • Demonstrate skills in writing and debugging software in the Python programming language, specifically in the context of geospatial applications.
  • Develop problem skills, enabling students to break down complex problems into achievable solutions

Employability skills

Problem solving
Python Programming

Assessment methods

Assessment 1 comprises a simple spatial data task, which consolidates the practical and theoretical knowledge that you have learned in the first weeks of the course. Students submit their code solution as well as a report justifying their approach and explaining any limitations. (40%)

Assessment 2 comprises implementing an algorithm from the literature into a script in order to undertake data analysis for a client. Students submit the working code for the algorithm as well as a report for your client explaining the approach and its limitations. (60%)

Feedback methods

Assessment feedback is provided via Blackboard.

Additional formative feedback available in class and via a programming forum.

Recommended reading

Articles Referenced in the Practicals

  • Bresenham, J. E. (1965). Algorithm for computer control of a digital plotter. IBM Systems journal, 4(1), 25-30.
  • Canters, F., Deknopper, R., & De Genst, W. (2005). A new approach for designing orthophanic world maps. In Proceedings of the 22nd International Cartographic Conference (pp. 9-16).
  • Gosling P., C. & Symeonakis E. (2020). Automated map projection selection for GIS, Cartography and Geographic Information Science, 47:3, 261-276.
  • Guttman, A. (1984). R-trees: A dynamic index structure for spatial searching. In Proceedings of the 1984 ACM SIGMOD international conference on Management of data (pp. 47-57).
  • Hart, P. E.; Nilsson, N. J.; Raphael, B. (1968) A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Transactions on Systems Science and Cybernetics SSC4 4 (2): 100-107.
  • Huck, J., Whyatt, D., & Coulton, P. (2015). Visualizing patterns in spatially ambiguous point data. Journal of Spatial Information Science, 2015(10), 47-66.
  • Kaučič, B., & Zalik, B. (2002, April). Comparison of viewshed algorithms on regular spaced points. In Proceedings of the 18th spring conference on Computer graphics (pp. 177-183).
  • Mandelbrot, B. (1967). How long is the coast of Britain? Statistical self-similarity and fractional dimension. science, 156(3775), 636-638.
  • Schelling, T. C. (1969). Models of segregation. The American Economic Review, 59(2), 488-493.
  • Schelling, T. C. (1971). Dynamic models of segregation. Journal of mathematical sociology, 1(2), 143-186.
  • Visvalingam M. & Whyatt J., D. (1993) Line generalisation by repeated elimination of points, The Cartographic Journal, 30:1, 46-51.


Other Relevant Material

  • Canters, F. (2002). Small Scale Map Projection Design. CRC Press, Boca Raton.
  • Crooks, A. et al. (2019) Agent Based Modelling & Geographical Information Systems: A Practical Primer. Sage, London.
  • Iliffe, J. & Lott, R. (2008). Datums and Map Projections for Remote Sensing, GIS and Surveying (2nd ed.). CRC Press, Boca Raton.
  • Lawhead, J. (2013). Learning Geospatial Analysis with Python. Pakt, Birmingham, UK.
  • Python Software Foundation (2022). Documentation for the Python Programming Language.
  • Van Sickle, J. (2010) Basic GIS Coordinates (2nd ed.). CRC Press, Boca Raton.
  • Veness, C. (2022) Calculate distance, bearing and more between Latitude/Longitude points.
  • Veness, C. (2022) Vincenty solutions of geodesics on the ellipsoid.
  • W3Schools (2022). Python Tutorial.
  • Westra, E. (2010). Python Geospatial Development. Pakt, Birmingham, UK.
  • Worboys, M. & Duckham, M. (2004) GIS, a Computing Perspective (2nd ed.). CRC Press, Boca Raton.
  • Xiao, N (2015) GIS Algorithms. Sage, New York.

Study hours

Scheduled activity hours
Practical classes & workshops 30
Independent study hours
Independent study 120

Teaching staff

Staff member Role
Jonathan Huck Unit coordinator

Return to course details