Unit Outline
KGG375
Geospatial Data Analytics
Semester 2, 2024
Steve Harwin
School of Geography, Planning, and Spatial Sciences
College of Sciences and Engineering
CRICOS Provider Code: 00586B

Unit Coordinator
Steve Harwin
Email: steve.harwin@utas.edu.au
 

What is the Unit About?
Unit Description
Geospatial Data Analytics is an innovative unit designed to provide you with foundational knowledge and practical skills in geospatial programming, building on the knowledge gained in KGG212 GIS: Spatial Analysis. With a primary focus on Python, a powerful and widely used programming/scripting language, this unit explores the latest tools and techniques in geospatial data processing and analysis, encompassing GIS and remote sensing applications. In this unit, you will engage with various Python libraries and frameworks specifically created for geospatial data manipulation, visualisation, and analytics. The unit fosters an understanding of custom GIS solution development, automation of geospatial workflows, and insightful analysis of geospatial data, enabling students to thrive as highly competent professionals in the spatial industry.
Intended Learning Outcomes
As per the Assessment and Results Policy 1.3, your results will reflect your achievement against specified learning outcomes.
On completion of this unit, you will be able to:
1
Apply Python programming techniques to effectively manipulate, analyse, and visualise geospatial data, including GIS and remote sensing datasets.
2
Automate geospatial workflows through Python scripting.
3
Develop custom geospatial algorithms and tools using Python scripting for real-world spatial challenges.
4
Justify coding choices to produce code that meets industry standard for coding style and documentation.
Requisites
REQUISITE TYPE
REQUISITES
Pre-requisite
KGG212
Alterations as a result of student feedback
This unit has undergone significant change this year, with Mark taking on the role of unit coordinator. The unit now focuses on geospatial programming using a variety of commercial and open source python libraries to equip you in becoming a geospatial professional for the modern workforce. As always, the teaching team will greatly appreciate your feedback both informally during the delivery of the  unit in 2024, and formally through the University of Tasmania’s eVALUate surveys following  your completion of the unit.
 
 

Teaching arrangements
ATTENDANCE MODE
TEACHING TYPE
LEARNING ACTIVITY
CONTACT HOURS
FREQUENCY
On Campus
Workshop
One 2-hr workshop per week
2
Weekly
Computer Laboratory
One 3-hr practical per week
3
Weekly
Online
Online Class
One 2-hr workshop (recorded) per week
2
Weekly
Online Class
One 3-hr practical (introduction recorded) per week
3
Weekly
Attendance / engagement expectations
If your unit is offered On campus, it is expected that you will attend all on-campus and onsite learning activities. This is to support your own learning and the development of a learning community within the unit. If you are unable to attend regularly, please discuss the situation with your course coordinator and/or our UConnect support team.

If your unit is offered Online or includes online activities, it is expected you will engage in all those activities as indicated in the Unit Outline or MyLO, including any self-directed learning.

If you miss a learning activity for a legitimate reason (e.g., illness, carer responsibilities) teaching staff will attempt to provide alternative activities (e.g., make up readings) where it is possible.
 
 
 
 

How will I be Assessed?
 
For more detailed assessment information please see MyLO.
Assessment schedule
ASSESSMENT TASK #
ASSESSMENT TASK NAME
DATE DUE
WEIGHT
LINKS TO INTENDED LEARNING OUTCOMES
Assessment Task 1:
Fundamentals of Python Programming for Geospatial Data Processing
Week 7
30 %
LO1, LO2, LO3, LO4
Assessment Task 2:
Automating GIS Workflows with Python and QGIS
Week 10
30 %
LO1, LO2, LO3, LO4
Assessment Task 3:
Developing Custom Spatial Algorithms in Python for Raster Operations
Week 14
40 %
LO1, LO2, LO3, LO4
 
Assessment details
Assessment Task 1: Fundamentals of Python Programming for Geospatial Data Processing
Task Description:
This assignment showcases the ability to work with geospatial datasets. The assignment focuses on basic Python programming skills within a geospatial context using Jupyter notebooks. You will apply Python fundamentals, such as variables, data types, control flow, functions, and code style, to import and manipulate a GIS point dataset.

The assignment requires you to input and output spatial datasets, manipulate coordinates and attributes, and generate output files for further GIS data handling, while adhering to first principles in programming. Some time will be provided in the practical for this task, but the remaining work is to be done in the your own time.

The use of generative artificial intelligence (AI) tools for this assessment is allowed only as specifically instructed, and any unauthorised use may be considered a breach of academic integrity.
Task Length:
Python scripts and explanation/documentation in a Jupyter notebook (500 words and 300-800 lines of code). The use of generative artificial intelligence (AI) tools for this assessment is allowed only as specifically instructed, and any unauthorised use may be considered a breach of academic integrity.
Due Date:
Week 7
Weight:
30 %
 
CRITERION #
CRITERION
MEASURES INTENDED
LEARNING OUTCOME(S)
1
Apply Python programming fundamentals to import and manipulate geospatial data.
LO1
2
Develop an efficient Python script using Jupyter notebooks which inputs, processes, and outputs spatial datasets in the specified format.
LO1, LO2
3
Use first principles in Python programming to create custom solutions for processing spatial data, addressing real-world spatial challenges.
LO1, LO2, LO3
4
Write Python code that adheres to PEP8 style guidelines, alongside documentation, to communicate the purpose and functionality of the code components.
LO1, LO3, LO4
 
Assessment Task 2: Automating GIS Workflows with Python and QGIS
Task Description:
In this assignment, you showcase the ability to automate geospatial workflows and create custom GIS solutions using PyQGIS. You will integrate Python and QGIS to develop custom geospatial solutions and automate GIS workflows, leveraging the capabilities of PyQGIS. You will create Python code in a Jupyter notebook to programmatically link Python and QGIS, demonstrating your ability to solve spatial analysis problems.

The assignment requires you to showcase your skills in Python coding, documentation, use of appropriate PyQGIS functions for spatial analysis, and visualisation of the results. Some time will be provided in the practical for this task, but the remaining work is to be done in your own time.

The use of generative artificial intelligence (AI) tools for this assessment is allowed only as specifically instructed, and any unauthorised use may be considered a breach of academic integrity.
Task Length:
Python scripts, plots and documentation/explanation in a Jupyter notebook (500-1000 words and 300-900 lines of code). The use of generative artificial intelligence (AI) tools for this assessment is allowed only as specifically instructed, and any unauthorised use may be considered a breach of academic integrity.
Due Date:
Week 10
Weight:
30 %
 
 

CRITERION #
CRITERION
MEASURES INTENDED
LEARNING OUTCOME(S)
1
Apply Python programming techniques and PyQGIS functions to manipulate and analyse geospatial data
LO1, LO2, LO3
2
Develop and document efficient Python code in a Jupyter notebook
LO1, LO2, LO4
3
Use plotting functions to visualise spatial analysis results and present custom geospatial solutions and insights
LO3
4
Develop Python code that follows PEP8 style and incorporates comprehensive documentation/comments, to communicate the purpose, functionality, and structure of the code in the context of automating GIS workflows
LO1, LO3, LO4
 
Assessment Task 3: Developing Custom Spatial Algorithms in Python for Raster Operations
Task Description:
This assignment tasks you with developing a custom spatial algorithm in Python, focusing on raster operations and using relevant Python data structures and spatial libraries, such as NumPy and Rasterio. You will explore kernel operations with applications in terrain analysis, hydrological flow modelling, geomorphological operations, or advanced viewshed analysis.

The assignment also covers data product export to GIS file formats and plotting output grids using appropriate colour maps. Some time will be provided in the practical for this task, but the remaining work is to be done in your own time. You will be assessed on code structure, documentation, correct algorithm implementation, and output plot quality.

The use of generative artificial intelligence (AI) tools for this assessment is allowed only as specifically instructed, and any unauthorised use may be considered a breach of academic integrity.
Task Length:
Python scripts, plots, and output files (500-1500 words and 300-1000 lines of code). The use of generative artificial intelligence (AI) tools for this assessment is allowed only as specifically instructed, and any unauthorised use may be considered a breach of academic integrity.
Due Date:
Week 14
Weight:
40 %
 
CRITERION #
CRITERION
MEASURES INTENDED
LEARNING OUTCOME(S)
1
Apply Python programming techniques, data structures, and spatial libraries to develop a custom spatial algorithm for raster operations
LO1, LO2, LO3
2
Implement the chosen spatial algorithm to produce results in line with the algorithm's intended purpose
LO3
3
Generate output plots of the algorithm results, using colour maps and exporting data products to relevant GIS file formats
LO1, LO3
4
Develop Python code that adheres to PEP8/PEP257 styles, incorporating documentation, including docstrings for functions and comments, to communicate the code purpose, functionality, and structure
LO1, LO3, LO4
 
 
 

How your final result is determined
To pass this unit, you need to demonstrate your attainment of each of the Intended Learning Outcomes, achieve a final unit grade of 50% or greater, and pass any hurdle tasks.
Submission of assignments
Where practicable, assignments should be submitted to an assignment submission folder in MYLO. You must submit assignments by the due date or receive a penalty (unless an extension of time has been approved by the Unit Coordinator). Students submitting any assignment in hard copy, or because of a practicum finalisation, must attach a student cover sheet and signed declaration for the submission to be accepted for marking.
Academic integrity
Academic integrity is about acting responsibly, honestly, ethically, and collegially when using, producing, and communicating information with other students and staff members.

In written work, you must correctly reference the work of others to maintain academic integrity. To find out the referencing style for this unit, see the assessment information in the MyLO site, or contact your teaching staff. For more detail about Academic Integrity, see
Important Guidelines & Support.
Requests for extensions
If you are unable to submit an assessment task by the due date, you should apply for an extension.
 
A request for an extension should first be discussed with your Unit Coordinator or teaching support team where possible. A request for an extension must be submitted by the assessment due date, except where you can provide evidence it was not possible to do so. Typically, an application for an extension will be supported by documentary evidence: however, where it is not possible for you to provide evidence please contact your Unit Coordinator.
 
The Unit Coordinator must notify you of the outcome of an extension request within 3 working days of receiving the request.
Late penalties
Assignments submitted after the deadline will receive a late penalty of 5% of the original available mark for each calendar day (or part day) that the assignment is late. Late submissions will not be accepted more than 10 calendar days after the due date, or after assignments have been returned to other students on a scheduled date, whichever occurs first. Further information on Late Penalties can be found on the Assessments and Results Procedure.
Review of results and appeals
You are entitled to ask for a review of the marking and grading of your assessment task if there is an irregularity in the marking standards or an error in the process for determining the outcome of an assessment. Details on how to request a review of a mark for an assignment are outlined in the Review and Appeal of Academic Decisions Procedure.
 
 

 
 

Required Resources
Required reading materials
 
 
Recommended reading materials
You will be working through Python tutorials provided by DataCamp: https://www.datacamp.com/ (access to these tutorials is provided during the unit)
 
Other required resources
Access to ArcGIS Pro software and the Anaconda distribution of Python in UTAS computer labs or virtual machines is required for this unit (Anaconda can also be run on a student's personal computer).

Students will require access to a computer with a good RAM, video card and hard drive space. Access to reasonable-speed internet with a generous monthly download limit will be essential.

Please note that students can access computers on campus in Hobart, Launceston, Cradle Coast and Sydney (Rozelle), or borrow a laptop from the campus library system to support the IT requirements for this unit.