Geoinformatics content (mainly computer labs) ========================================= Python programming ------------------- Key topics ~~~~~~~~~~~~ - Principles of computer programming - Python programming - Introduction to object orientation Literature for exam ~~~~~~~~~~~~~~~~~~~~ Think Python, An introduction to software design, A. Downey, 2008, Green Tea Press, Needham, 234 pp. Chapters 1, 2, 3, 5, 6, 7, 8, 10, and 14. Soon available at 'verkoopruimte' (fourth floor W.C. van Unnikbuilding, appr. 11 Euro), online at http://www.greenteapress.com/thinkpython/thinkpython.html e-Lectures ~~~~~~~~~~~ e-Lecture `Programming Python - 01 Introduction `_ e-Lecture `Programming Python - 02 Variables, expressions, statements `_ e-Lecture `Programming Python - 03 Functions `_ e-Lecture `Programming Python - 04 Conditionals and user intervention `_ e-Lecture `Programming Python - 05 Fruitful functions and program development `_ e-Lecture `Programming Python - 06 Strings `_ e-Lecture `Programming Python - 07 Lists `_ e-Lecture `Programming Python - 08 Files `_ e-Lecture slides `Python programming, pdf <_static/sheets/python.pdf>`_ Computer lab ~~~~~~~~~~~~~~~~~~~~ Available at the `PCRaster site `_, please ask your tutor for the password. .. Task: Python case .. ~~~~~~~~~~~~~~~~~~~ .. Write a short program that (choose a topic): .. - Solves a differential equation (e.g. a linear reservoir) using 2 different numerical schemes. Compare the outcome. - Reads a small raster map (given as an ascii file) from disk, performs 2 different window operations (select a window operation from the window.. functions provided here http://pcraster.geo.uu.nl/documentation/pcrman/r2850.htm), and writes the map (in ascii format) to disk. - Sorts a sequence of random numbers. .. Explain the structure of the program in a short specification (max. 1 page). Hand in by emailing the Python program and the specification to d.karssenberg@geo.uu.nl. Map Algebra ---------------------- Key topics ~~~~~~~~~~~~ - Static modelling with PCRaster - Point operations and neighbourhood operations e-Lectures ~~~~~~~~~~~ e-Lecture `Introduction to Map Algebra `_ e-Lecture `Map Algebra Operations `_ e-Lecture slides `Map Algebra, pdf <_static/sheets/karssenbergMapAlgebra.pdf>`_ Computer lab ~~~~~~~~~~~~~~ Map algebra course, available in Blackboard. In Blackboard, go to 'Communities', select the community 'PCRaster Python - Map Algebra' and go to 'My Tasks', 'Assignment'. Literature for exam ~~~~~~~~~~~~~~~~~~~~~ Burrough, P.A. & McDonnel, R., Principles of Geographical Information Systems, Oxford University press, Chapter 7, The analysis of discrete entities in space, p. 162-170, and Chapter 8, Spatial analysis using continuous fields, p. 183-209. (Note: this is the same literature that also need to be studied for Model Theory, Spatial Models) Dynamic modelling with PCRaster Python ---------------------------------------- Key topics ~~~~~~~~~~~~~ - Forward modelling - Importing / reporting to the database - Point models Spatial models with neighbourhood interaction Computer lab ~~~~~~~~~~~~~~ Available in Blackboard. Reading material (not for exam) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Karssenberg, D., De Jong, K. and Van der Kwast, J., 2007, Modelling landscape dynamics with Python. International Journal of Geographical Information Science, 21, pp. 483-495. `Link. `_ This article explains how you can construct dynamic models using the PCRaster Python framework. Lectures, e-Lectures ~~~~~~~~~~~~~~~~~~~~~ e-Lecture `Dynamic Modelling with PCRaster Python, part 1 `_ e-Lecture `Dynamic Modelling with PCRaster Python, part 2 `_ e-Lecture `Dynamic Modelling with PCRaster Python, part 3 `_ e-Lecture slides `PCRaster Python, pdf <_static/sheets/pcrasterPython03.pdf>`_ Stochastic modelling with PCRaster Python ----------------------------------------------------------------- Key topics ~~~~~~~~~~~ - Defining probability distributions as inputs to models - Monte Carlo simulation .. - Particle filtering Computer lab ~~~~~~~~~~~~~~ Available in Blackboard.