GEOG6109 Programming for GIS and Spatial Analyses
Aims and Objectives
The aim of this module is to provide students with the skills required to understand and write software programs for analysing spatial datasets. More specifically the module will provide the students with the ability to develop programs that enable them to efficiently repeat the same analyses for different datasets (batch processing). Within this, the students will learn how to read, analyse and display data using open-source programming languages, as well as the basics of computer programming syntax. The software used for this course will be ArcGIS, which is available at the university, and the open-source packages Python and R. It is assumed students will have a good basic understanding of using ArcGIS for GIS analyses before starting the module, so Geography 6061 is a pre-requisite for the module.
Having successfully completed this module you will be able to:
- Understand the basic principles of writing useful code for spatial analyses
- Understand scripting in Python for data analyses within the ArcGIS environment
- Have a basic understanding of using R programming for analysing spatial datasets
- Develop programs and algorithms for spatial analyses in Python and R
This module is heavily practical-based to maximize the opportunity for students to learn and apply programming skills for spatial analysis with real datasets. Introductory lecture This 1 hour lecture will introduce the students to the main reasons why programming is so useful for spatial analysis, using real examples from the published literature. Topics covered will include reproducibility of code and the ability to batch process analyses. Practical classes – 3 hours each 1&2) Introduction to Python in the ArcGIS environment These practical sessions will introduce the students to programming ArcGIS using Python. This will include an overview of the basics of the Python language as well as how ArcGIS geospatial tools are integrated into Python in various ways. The second practical will consist of using Python to programmatically conduct simple analyses the students are already familiar with from Geography 60661. 3, 4, and 5) Using Python for analysing real-world geographical datasets. These sessions introduce a greater variety of programming techniques in Python(e.g. looping, conditional statements, using libraries such as numpy) using real-world geographical datasets 6 & 7) Using R for analysing spatial databases The session will introduce the open source statistical programming language R. The focus here will not be on statistical analyses, but rather the powerful tools within R for manipulating large data matrices that are frequently associated with spatial datasets. 8 & 9) Designing workflows for efficient batch processing of spatial datasets in Python and R These sessions build on previous work and will focus on how to best design workflows for multi-step analyses of spatial datasets 10 & 11) Using Python and R together for analysing These sessions will provide the students experience in using R and Python in conjunction with each other to perform multi-step spatial analyses with large real-world geographic datasets.
Learning and Teaching
Teaching and learning methods
The module will consist of : a) An introductory lecture that outlineswhy programming is such a valuable skill for spatial analyses b) Practical classes in the computing laboratories. Each of these will consist of a short lecture briefly outlining any necessary background information the datasets being used as well as the key concepts that the practical will cover. Dissemination of course information via Blackboard that will include lecture and practical handouts, the relevant datasets and coursework information
|Total study time||150|
To study this module, you will need to have studied the following module(s):
|GEOG6061||Core Skills in GIS (15)|