6 ECTS credits
150 h study time

Offer 1 with catalog number 4019640FNR for all students in the 2nd semester at a (F) Master - specialised level.

Semester
2nd semester
Enrollment based on exam contract
Impossible
Grading method
Grading (scale from 0 to 20)
Can retake in second session
Yes
Taught in
English
Partnership Agreement
Under interuniversity agreement for degree program
Faculty
Faculty of Sciences and Bioengineering Sciences
Department
Geography
Educational team
Frank Canters (course titular)
BenoƮt Smets
Activities and contact hours
26 contact hours Lecture
26 contact hours Seminar, Exercises or Practicals
Course Content

Programming and application development skills have become key competences of many job profiles in the fast growing field of geographic information science and technology. This course covers programming concepts and techniques that will help students to solve a variety of spatial problems in their respective fields. Students will learn how to use the Python language for automating spatial analysis and GIS tasks. They will also learn how Python can be used to customize GIS software and extend its functionality. Specifically, the course focuses on how to work with Python to carry out geoprocessing tasks in ESRI's ArcGIS software. Interactive theory sessions on programming concepts alternate with assignments aimed at developing the student’s practical skills in geospatial programming and scripting.

1. Geoprocessing in ArcGIS
a. What is geoprocessing?
b. Automating geoprocessing tools
c. ArcGIS concepts : feature classes and core applications
d. Automating tools with ModelBuilder

2. Advanced use of ModelBuilder
a. Geodatabases and types of datasets in ArcGIS
b. Feature sets and feature selection mechanisms
c. Inline variable substitution
d. Tools for flow control

3. Introduction to Python
a. What is Python?
b. Executing code in Python
c. Python: language fundamentals
d. Controlling workflow in Python
e. Common Python pitfalls

4. Geoprocessing in Python
a. Object-oriented programming concepts
b. Python and ArcGIS: setting up a geoprocessing script
c. The ArcPy site package: Using geoprocessing tools in Python
d. Non-tool functions in ArcPy
e. Tool messages
f. Describing properties of datasets, listing data
g. Using a Python script in a model

5. Working with cursors
a. The ArcPy data access module
b. Search, insert and update cursors
c. Use of SQL statements in row search and row updating
d. Table locks
e. Useful ArcPy functions and tools when working with cursors

6. Working with geometries
a. File handling functionality in Python
b. ArcPy Point, Array and Geometry classes
c. Reading and writing geometries from and to a feature class
d. Use of geometry tokens
e. Geometries as input or output of a geoprocessing tool
f. Setting the spatial reference of a geometry or a dataset

7. Raster data manipulation with Python
a. Working with Spatial Analyst: the Raster object and Spatial Analyst classes
b. Map algebra expressions, raster reclassification.
d. Raster manipulation with Numpy Arrays
 

Course material
Handbook (Recommended) : Python Scripting for ArcGIS, Zandbergen, P.A., Esri Press, Redlands, California, 9781589483712, 2013
Handbook (Recommended) : Learning Python, Lutz, M., 5de, O'Reilly, 9781449355739, 2013
Digital course material (Required) : GIS Programming, Course slides available, Canvas
Additional info

Prerequisite

Students should be familiar with GIS concepts and cartographic principles. They should also have a basic working knowledge of ArcGis 10.x.  Programming experience is not required, but is clearly a plus.

Learning Outcomes

General Competences

After successful completion of this course the student should:
- be familiar with geoprocessing tools and toolboxes in ArcGIS;
- be able to make use of advanced modelling techniques in ArcGIS ModelBuilder;
- have a basic understanding of Python and of programming concepts and troubleshooting techniques that are common to most programming languages;
- be able to assemble geoprocessing tools into scripted models for solving GIS problems and for setting up complex geoprocessing workflows in the ArcGIS environment;
- know how to customize GIS software, extend its functionality and make optimal use of geospatial software libraries.
 

Grading

The final grade is composed based on the following categories:
Other Exam determines 100% of the final mark.

Within the Other Exam category, the following assignments need to be completed:

  • other exam with a relative weight of 1 which comprises 100% of the final mark.

Additional info regarding evaluation

Examination method

Practical exam on model building and Python scripting in computer lab (100%)

Allowed unsatisfactory mark
The supplementary Teaching and Examination Regulations of your faculty stipulate whether an allowed unsatisfactory mark for this programme unit is permitted.

Academic context

This offer is part of the following study plans:
Master of Geography: Standaard traject (only offered in Dutch)
Master of Geography: Standard track
Master of Teaching in Science and Technology: geografie (120 ECTS, Etterbeek) (only offered in Dutch)