THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2026/2027

Draft Edition - Due to be published Thursday 9th April 2026

Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Geosciences : Postgraduate Courses (School of GeoSciences)

Postgraduate Course: Geospatial Programming for Planetary Scale Analysis (PGGE11310)

Course Outline
SchoolSchool of Geosciences CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Postgraduate) AvailabilityNot available to visiting students
SCQF Credits20 ECTS Credits10
SummaryThe manipulation of data is key to EO and GIS. More and more data is being made freely available, enabling studies to be performed at regional to global scales, giving new insights into society and nature. As the datasets used get larger and workflows more complex, different ways of thinking are required. For large-scale analysis, standard methods for handling data encounter bottlenecks; particularly in terms of computer memory, processing speed, and in multi-user environments. Programming and database methods allows us to handle multiple large files and to automate processing chains, as well as creating new algorithms and methods that do not exist within pre-made packages. The course will review some of the challenges that relate to processing geospatial data in corporate, government and research environments. These skills open up possibilities within geospatial analysis and are highly sought after by employers. Some examples include: climate change studies, poverty analysis, and the monitoring and verification of natural capital.

This course covers the issues that need to be overcome when using geospatial data at scale in an operational environment. Students will work with a variety of geospatial data formats and storage methods, develop code to interrogate these, handle large geospatial datasets and extract decision ready information. This will include spatial databases, machine learning, geospatial packages, batch processing, version control, developer platforms, repositories and cloud computing. Emphasis will be placed on generating scalable workflows to allow arbitrarily large datasets to be handled. Students will extend their skills in programming and SQL.
Course description This course will give students the skills they need to develop code for analysing large geospatial datasets using python and Spatial SQL. The course will build on existing skills to teach students how to:

* Handle and visualise geospatial data in python
* Understand current issues in database management theory and their use in the complex geospatial environments found in governments and corporate organisations
* Develop algorithms to extract decision ready information from single and multi-source data
* Use batch processing to analyse large datasets efficiently and cost-effectively ("planetary scale analysis")
* Develop collaborative code libraries and manage them through repositories
* Make use of techniques, such as machine learning, to perform analysis
* Combine spatial and non-spatial data through integrated data models
* Make use of open-source, commercial and cloud computing resources to efficiently solve real world problems at scale

The course will run on Linux and assumes a basic knowledge of the python programming language and SQL

By the end of the course students will be able to construct a workflow to extract decision ready information from large datasets to address a real world problem, be comfortable with the python language and spatial SQL, be able to write their own code for data analysis, be familiar enough with the syntax and the documentation to read any piece of python, adapt a previously written piece of code for their own analysis, and to manage programs collaboratively through a code repository. They will be comfortable with spatial databases, understanding current issues and able to apply their skills to a range of applications. These are highly desired skills for many EO and GIS jobs.
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Other requirements None
Course Delivery Information
Academic year 2026/27, Not available to visiting students (SS1) Quota:  40
Course Start Semester 2
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 200 ( Supervised Practical/Workshop/Studio Hours 40, Programme Level Learning and Teaching Hours 4, Directed Learning and Independent Learning Hours 156 )
Assessment (Further Info) Written Exam 0 %, Coursework 100 %, Practical Exam 0 %
Additional Information (Assessment) 100% coursework«br /»
«br /»
The course will have two pieces of summative assessments and one formative: «br /»
«br /»
Formative: A learning journal in week 3 (practice for summative journal). «br /»
«br /»
Summative: «br /»
* Regular learning journal with code repository (40%) «br /»
«br /»
* A final project, submitted as a group repository and report, with mechanism (such as webPA) to separate individual marks (60%)
Feedback Solutions to practicals will be released to students via github each week.

Students will be given an opportunity to ask questions about the previous weeks work and solutions at the start of each session.

Students will submit a regular learning journal (summative assessment) along with their code repository, to which feedback will be provided.
No Exam Information
Learning Outcomes
On completion of this course, the student will be able to:
  1. Understand the concepts of data modelling and be able to deconstruct real-world problems into models using appropriate tools (data literacy).
  2. Apply the principles of algorithm development and be familiar with a range of algorithms used to manipulate and analyse spatial data.
  3. Create Structured Query Language (SQL) code for the manipulation of objects within a relational database management system, and understand how this may be extended to query spatial databases.
  4. Be able to apply a wide range of open-source and cloud-computing tools within geospatial analysis to perform analysis.
  5. Create a code library that implements a geospatial analysis workflow to handle large and varied datasets.
Reading List
Beazley, D.M., 2009. Python essential reference. Addison-Wesley Professional.

McClain, B.P., 2022. Python for geospatial data analysis. O'Reilly Media, Inc.

Rigaux, P., Scholl, M. and Voisard, A. (2002) Spatial Databases with Application to GIS. Morgan Kaufmann.

https://stackoverflow.com and https://gis.stackexchange.com are invaluable resources to keep up with the rapidly evolving fields of geospatial programming and databases.
Additional Information
Graduate Attributes and Skills Coding, Programming, SQL. Students will be comfortable with the python language and spatial SQL queries. Able to write their own scripts for data analysis, familiar enough with the syntax and the documentation to allow them read and use any piece of python or adapt a previously written piece of code for their own analysis. Able to manage programs collaboratively through a code repository. They will be familiar with spatial database concepts, understanding current issues and be able to apply their skills to solve real-world problems. These are highly desired skills for many EO and GIS jobs.
KeywordsCoding,Algorithms,Repository,Geospatial,Database management,Oracle Spatial,SQL,programming
Contacts
Course organiserDr Steven Hancock
Tel: (01316)51 7112
Email: steven.hancock@ed.ac.uk
Course secretaryMs Felicity Smail
Tel:
Email: Felicity.Smail@ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Prospectuses
Important Information