Software Aberto e Programação em SIG


This course is intended to be an introduction to GIS programming and scripting for geoprocessing using Python programming language. Python use in GIS has become more and more common not only because of the availability of tools and software that support it (Esri's ArcGIS and QuantumGIS are just a few examples) but also due to the ease of learning and simplicity of the language itself.
This course is intended to be an introduction to Python and its use for GIS, not requiring prior programming knowledge.

The objectives of this course unit are:
     Understanding the basics of the Python language
     Know how to apply the most common geoprocessing algorithms by using a scripting language, replacing the traditional point & click.
     Be able to implement geoprocessing algorithms in distinct GIS environments (proprietary and open source).

General characterization





Responsible teacher

Roberto André Pereira Henriques


Weekly - Available soon

Total - Available soon

Teaching language

Portuguese. If there are Erasmus students, classes will be taught in English




  • Lutz , M. (2007) Learning Python, 3rd Edition. O'Reilly Media
  • Sherman, G. (2012) The Geospatial Desktop: Open Source GIS & Mapping. Locale Press

Teaching method

E-Learning Component:
Synchronous - Synchronous Sessions, self-assessment exercises.
Asynchronous tools - Discussion Forum. Access to Content Platform.
Classroom component (which may be replaced by videoconference):
Presentation and discussion of the Final Project

Evaluation method

Report and presentation of a practical project (individual) - 100%.

Subject matter

1. Python Programming

  • Introduction to Programming
  • Python basics
  • Functions and control structures
  • Strings, Lists, Tuples, Dictionaries
  • File I / O
  • Objects
2. Python Scripting in ArcGIS
  • Introduction to GIS objects
  • Manipulating data in ArcGIS
  • Using tools of ArcGIS
3. Python and Open Source tools
  • Using several modules and libraries for processing geographic data