Postgraduate Course: Geospatial Programming for Planetary Scale Analysis (PGGE11310)
Course Outline
| School | School of Geosciences |
College | College of Science and Engineering |
| Credit level (Normal year taken) | SCQF Level 11 (Postgraduate) |
Availability | Not available to visiting students |
| SCQF Credits | 20 |
ECTS Credits | 10 |
| Summary | The 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:
- Understand the concepts of data modelling and be able to deconstruct real-world problems into models using appropriate tools (data literacy).
- Apply the principles of algorithm development and be familiar with a range of algorithms used to manipulate and analyse spatial data.
- 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.
- Be able to apply a wide range of open-source and cloud-computing tools within geospatial analysis to perform analysis.
- 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. |
| Keywords | Coding,Algorithms,Repository,Geospatial,Database management,Oracle Spatial,SQL,programming |
Contacts
| Course organiser | Dr Steven Hancock
Tel: (01316)51 7112
Email: steven.hancock@ed.ac.uk |
Course secretary | Ms Felicity Smail
Tel:
Email: Felicity.Smail@ed.ac.uk |
|
|