The course will introduce students to the scripting and programming tools and skills commonly employed in GIS and spatial analysis. The skills learned in this course are equally applicable in scientific research, the public sector, and in industry. This course helps satisfy the programming requirements of the GIS and remote sensing the Geoinformatics major. No programming background is assumed for this course, but, because programming is an integral part of the course we strongly encourage students to make efforts to ensure they understand and practice the programming concepts discussed in this course.
During the labs offered in this course, the students will practically learn the programming skills. The main objectives of this module are to provide:
- An overview of computer systems.
- An introduction to functions of software components: operating systems, editors, compilers.
- The knowledge of programming in a high-level language: selection and loop structures, routines, array and record types, text file operations.
- An introduction to object-based programming: use of class libraries and construction of simple classes.
At the end of this course, you will be able to:
- Solve fairly simple computer programs using the Python language, but which are applicable to many other programming languages.
- Be familiar with major geospatial vector and raster file formats and specifications for spatial reference coordinate systems Read and write the basic syntax of the Python language.
- Have used and be comfortable with online resources that support geocomputing and programming in the GIS profession.
- Know how to use Python with open-source GIS libraries.
- Learn how Python can extend the capabilities of ArcGIS to solve problems difficult or impossible to address otherwise.
- Develop basic skills in the Python programming language, and acquire programming concepts necessary for advanced GIS courses that require programming.
- Be able to write shell commands to accomplish common geoprocessing tasks Understand the procedures involved in developing algorithms.
- Translate a problem in the field of GI science into working computer programs.
- Learn when scripted solutions are preferred over mainstream GIS software.
- Getting Started
- Command Shells and Shell Scripting
- Spatial Reference Systems and Data
- GDAL and OGR Utility Libraries
- Python: Basics
- Python: Functions
- Python: Flow Control
- Python: Containers
- Python: Containers II
- Python: Memory, Copies & Files
- Python: System Access
- Python: Objects
- GDAL and Python I
- GDAL and Python II
Allocated time per teaching and learning method
Teaching / learning method
MSc thesis supervision
There will be a final closed book and closed notes examination. The practical skills are assessed based on the students’ performance during practical and a report for a small individual assignment.
Final Grade Determination
The final grade in this course will be based on the following components:
Lutz, Mark, Learning Python – Fifth Edition, O’REILY (2013)