MSc Environmental Monitoring, Modelling and Reconstruction
Year of entry: 2023
- View tabs
- View full page
Course unit details:
|Unit level||FHEQ level 7 – master's degree or fourth year of an integrated master's degree|
|Teaching period(s)||Semester 1|
|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.
- 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
- 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
- Develop problem skills, enabling students to break down complex problems into achievable solutions
- Problem solving
- Python Programming
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%)
Additional formative feedback available in class and via a programming forum.
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.
|Scheduled activity hours|
|Practical classes & workshops||30|
|Independent study hours|
|Jonathan Huck||Unit coordinator|