Skip to main content

Study information

Coding for Spatial Analysis

Module titleCoding for Spatial Analysis
Module codeGEOM181
Academic year2024/5
Credits15
Module staff

Mr David Hein-Griggs (Convenor)

Duration: Term123
Duration: Weeks

11

Number students taking module (anticipated)

15

Module description

The era of Big Data is upon us, and with zettabytes (one trillion gigabytes!) of scientific data freely available for research and analysis, it is no longer feasible to analyse data in bespoke fashion. Use of computational technology is no longer an option – automation of analysis using coding and programming logic is a must in the modern world of spatial analysis.

This module introduces coding and programming logic with a focus on free and open source software packages such as Python, R and Linux shell scripting (which allows for utilisation of other free and open source software for fast and efficient data analysis). It will help if you have experience with coding and programming logic, but the module does not assume prior experience with coding – only a willingness to engage with the learning tasks towards increasing competence in GIS analysis using purely coding solutions (rather than software like ArcGIS Pro or QGIS, although Python is embedded in these softwares “under the bonnet”). With understanding of how GIS and other spatial data fits nicely into “object oriented” programming, you will be well placed to undertake efficient, repeatable, and powerful data analysis as a GIS professional.

Module aims - intentions of the module

This module aims to impart knowledge of the vital importance of coding and programming logic and allow for the development of skills in data analysis using coding.

You will

  • Be introduced to the fundamentals of programming logic, including Boolean algebra and regular expression for utilising patterns in data.
  • Learn about essential components in code such as if statements, for and while loops, arrays, data types and functions.
  • Make use of Integrated Development Environments (IDEs) for ease of developing and running code.
  • Acquire understanding in what is meant by object oriented programming and how GIS data inherently fits with this approach to coding by virtue of GIS data as objects (represented as classes).
  • Utilise several powerful, specialised GIS themed Python packages and R libraries.

The module will be a mixture of lectures, recorded videos and taught practicals, with an emphasis on the latter as with coding the best way to learn is by doing. Taught practicals will emphasise the multi-platform aspect of coding, so all code will run on Windows, Mac OS and Linux.

Intended Learning Outcomes (ILOs)

ILO: Module-specific skills

On successfully completing the module you will be able to...

  • 1. Navigate IDEs in Python and R towards ease of developing and running code.
  • 2. Make use of Python packages and R libraries with GIS themes, including installation of these.
  • 3. Demonstrate awareness of the benefits of different solutions to problem solving and workflow development using code.

ILO: Discipline-specific skills

On successfully completing the module you will be able to...

  • 4. Spatially analyse and process data which is relevant to work as a GIS Professional.
  • 5. Differentiate between types of GIS data and how they are best represented and analysed

ILO: Personal and key skills

On successfully completing the module you will be able to...

  • 6. Utilise knowledge of programming logic, data structures and syntax towards learning other coding languages.
  • 7. Describe experience and knowledge of GIS themed coding on your CV towards making you more employable.

Syllabus plan

Whilst the module’s precise content may vary from year to year, it is envisaged that the syllabus will cover some or all of the following topics:

  • FUNDAMENTALS (Parts of a computer, the necessity of coding, types of coding, data structures, IDEs)
  • CORE PYTHON PACKAGES (Anaconda/Conda, Numpy, Pandas, Matplotlib, Xarray)
  • PYTHON PACKAGES FOR VECTOR ANALYSIS (Shapely, Cartopy, Fiona, CRS, OSMNX)
  • PYTHON PACKAGES FOR GRIDDED DATA ANALYSIS (Rasterio, Geopandas, Rasterstats, Pyproj, PyGDAL).
  • IMPLEMENTING PYTHON IN GIS SOFTWARE (in ArcGIS Pro and QGIS)
  • R and R GIS LIBRARIES (Raster, Maptools, Maps, GISTools)
  • LINUX (command line, shell scripting, regular expressions)
  • BIG DATA ANALYSIS (Data Analysis in Linux using Climate Model Output Data in netcdf format)

Learning activities and teaching methods (given in hours of study time)

Scheduled Learning and Teaching ActivitiesGuided independent studyPlacement / study abroad
361140

Details of learning activities and teaching methods

CategoryHours of study timeDescription
Scheduled Learning and Teaching 4Lectures
Scheduled Learning and Teaching 2Videos
Scheduled Learning and Teaching 30Taught practicals
Guided Independent Study 30Completion of computer practical exercises
Guided Independent Study 84Reading relevant literature, online research to support learning and assessments, and completing assessment write up.

Formative assessment

Form of assessmentSize of the assessment (eg length / duration)ILOs assessedFeedback method
Debugging exercise Approx 100 lines of code 2 - 4 Model answer and discussion
Practical discussions 3 hour practical sessions 1 - 5 Orally through staff and peer evaluation

Summative assessment (% of credit)

CourseworkWritten examsPractical exams
10000

Details of summative assessment

Form of assessment% of creditSize of the assessment (eg length / duration)ILOs assessedFeedback method
Code submission and reflective evaluation / justification 100Code to solve task plus 1000 word reflective commentary AllWritten

Details of re-assessment (where required by referral or deferral)

Original form of assessmentForm of re-assessmentILOs re-assessedTimescale for re-assessment
Code submission and reflective evaluation / justification Code submission and reflective evaluation / justification on a different project. AllReferral/deferral period

Re-assessment notes

Deferral – if you miss an assessment for certificated reasons judged acceptable by the Mitigation Committee, you will normally be either deferred in the assessment or an extension may be granted. The mark given for a re-assessment taken as a result of deferral will not be capped and will be treated as it would be if it were your first attempt at the assessment.

Referral – if you have failed the module overall (i.e., a final overall module mark of less than 50%) you will be required to submit a further assessment. The mark given for a re-assessment taken as a result of referral will count for 100% of the final mark and will be capped at 50%.

Indicative learning resources - Basic reading

Basic reading:

Indicative learning resources - Web based and electronic resources

Indicative learning resources - Other resources

 

Key words search

Python, R, GIS, coding, spatial analysis, GIS 

Credit value15
Module ECTS

7.5

Module pre-requisites

None

Module co-requisites

None

NQF level (module)

7

Available as distance learning?

Yes

Origin date

21/02/2023

Last revision date

20/06/2023