GEOG41060 Geostatistics and Programming for GIS

Academic Year 2023/2024

GIS programming skills are now an essential part of the data analyst’s portfolio. Learning to program facilitates a
greater understanding of geospatial data analysis and a deeper insight into how other programmers create and use
these tools. Helping you become comfortable with coding and thoroughly documenting novel GIS tools that can be
readily shared with a crowd is the goal of this course. This course will provide you with up-to-date software tools and
information necessary for building and implementing customized geospatial data analytics. It is assumed that students
taking this course are new to programming and have no prior experience. Essential practical as well as theoretical
concepts of spatial data modeling and its translation into GIS software and object-oriented programming are covered.
In addition, you will learn how to use R for geostatistics and Python for modelling with weekly labs and a final project
based on your own field of interest. Overall, you will gain a deep and solid foundation for programming in GIS.

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

This module is as a core skills module and aims to deliver the following learning outcomes:
• Familiarize yourself with different programming languages commonly used in geospatial data analysis, and
how to use these technologies to expand upon existing GIS software functionality.
• Demonstrate an understanding of programming concepts, methods, and approaches such as debugging,
error checking, and documentation.
• Conduct advanced geospatial statistics with R.
• Program small-scale GIS-based models in Python and integrated within QGIS to automate geoprocessing
• Critically evaluate different methodologies for developing applications in GIS.
• Conceptualize, plan, implement, and write up the results of an original GIS programming application,
customization, automation and/or extension.

Indicative Module Content:

Week 1 Introduction to R & QGIS for spatial data analysis. Lab: Data engineering & Summary Statistics in R.
Week 2 Hypothesis Testing & Autocorrelation. Lab: Hot Spots in R.
Week 3 Clustering & Aggregating Data. Lab: Point Pattern Analysis in R.
Week 4 Spatial Regression Models, Extrapolation & Forecasting. Lab: Spatial Regression in R and Raster Time Series Forecasting.
Week 5 Spatial Indexing SQL & Indexing in QGIS. Lab: Creating indexes from regression models in QGIS.
Week 6 Network Analysis. Lab: Network models.
Week 7 Introduction to Python for GIS analysis. Lab: PyQGIS Fundamentals.
Week 8 & 9 Fieldtrip weeks - No lectures or labs.
Week 10 Python Programming. Lab: Scraping Geo Data with Python
Week 11 GIS Data Access and Manipulation with Python. Lab: Working with Raster Data in Python.
Week 12 Practical Python for the GIS Analyst. Lab: Writing Geometries in Python.
Week 13 Advanced GIS with Python. Lab: Advanced GIS methods in Python.
Week 14 Final Project Presentations.

Student Effort Hours: 
Student Effort Type Hours
Autonomous Student Learning




Computer Aided Lab




Approaches to Teaching and Learning:
- Weekly in-person topic lectures with active learning.
- Weekly supervised in-class exercises with real-world data (labs).
- Research project report to synthesis material learned.
- Research project presentation. 
Requirements, Exclusions and Recommendations

Not applicable to this module.

Module Requisites and Incompatibles
Not applicable to this module.
Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Continuous Assessment: Weekly lab. Throughout the Trimester n/a Graded Yes


Presentation: Final Project presentation Week 12 n/a Pass/Fail Grade Scale No


Assignment: Final project. Coursework (End of Trimester) n/a Graded Yes



Carry forward of passed components
Remediation Type Remediation Timing
In-Module Resit Prior to relevant Programme Exam Board
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, post-assessment
• Group/class feedback, post-assessment

How will my Feedback be Delivered?

- Group feedback on common issues arising from the written assignments will be provided on brightspace. - Timely individualised feedback will be provided on written assignments. - Students are welcome to meet with the module coordinator during office hours (virutally) if more detailed feedback / further clarification is required. Please note: The UCD standard for feedback is within 20 working days, i.e. 5 weeks. We will endeavour to return assignments that are completed on time within 2-3 weeks, and where possible before the next assignment is due. Assignments handed in late will be subject to University timescales. This may mean that if you hand in your assignment late, another assignment will need to be completed, before the original one is marked. This will also be the case with the final project report, i.e. if you complete the assignments late, you may not have feedback in time to use it for your final project report.

Name Role
Dr Srikanta Sannigrahi Lecturer / Co-Lecturer