GeoDMS Academy

welcome to the GeoDMS Academy
Welcome to the wonderful world of the Geo Data and Model Software (GeoDMS).
The GeoDMS is an open source GIS modelling framework for fast, transparent and reproducible calculations on large geographical datasets. It is continuously in development and used by, amongst others, the Netherlands Environmental Assessment Agency (PBL), the Joint Research Centre of the European Commission, Vrije Universiteit Amsterdam, Deltares and multiple Dutch municipalities.
what is the GeoDMS good at?
The GeoDMS is especially suitable for:
- modelling and analysing large geographical datasets, such as large grids, building registers, or road networks;
- combining multiple calculation steps in a controlled, reproducible way;
- parameterising calculation schemes to perform scenario analyses and compare results;
- discrete allocation under capacity restrictions, accessibility and network calculations;
- being able to reproduce and understand what you calculated last week, and transfer your model logic to a colleague.
The GeoDMS is less suitable for:
- quickly making a simple thematic map (use QGIS or ArcGIS for that);
- managing or versioning data (use a database or version management system for that).
Coming from Python and wondering whether to build your model in GeoDMS at all? Read Why GeoDMS on the main wiki first; it includes a translation table of GeoDMS concepts for pandas users.
how does it work?
Working with the GeoDMS involves two tools used side by side: the GeoDMS GUI and a text editor. In the GUI you navigate the tree of results, inspect data and maps, and trigger calculations. In the text editor you write and edit configuration files — plain text files (.dms) that describe your data sources, calculation rules and visualisation settings. Everything in the GeoDMS is scripted: there are no point-and-click analysis menus.
This Academy teaches you how to read, understand and write these configuration files, from first principles to advanced techniques.
outline of the Academy
The Academy is structured so that you build up knowledge module by module. You can work through it front to back, or jump to a specific topic if you already have some experience.
- Module 0 gets you set up: installing the software, opening your first configuration, and configuring your editor.
- Module 1 introduces the core concepts of the GeoDMS language through four sub-modules:
- 1a covers item naming and the namespace concept
- 1b explains the unit system (value types and metrics)
- 1c shows how to work across multiple domain units using relations, lookups and aggregations
- 1d covers classification and visualisation styles for thematic maps
- 1e teaches you to read error messages and debug a configuration systematically
- Module 2 covers reading and writing data in various formats (shapefiles, CSV, rasters, parquet, and the native GeoDMS formats FSS and MMD), and how to combine the GeoDMS with Python.
- Module 3 introduces meta scripting: templates, indirect expressions and
for_eachto write reusable and scalable configurations. - Module 4 covers (spatial) selections, building geometric relations, measuring geometry properties, constructing and manipulating geometries, and converting coordinate systems.
- Module 5 shows how to work with grid domains, convert between vector and grid representations, perform neighbourhood operations, and navigate grid coordinates.
- Module 6 goes into network calculations (road and public transport).
- Module 7 presents the discrete land-use allocation using the Land Use Scanner demo version, with two appendices on its background and scenarios.
- Modules 8 and 9 are final exercises: two realistic capstone cases (Deltares and TNO) in which you combine everything you learned.
- Module 10 shows how to leave the ready-made exercises behind and start your own project from scratch.
The Deepening section contains supplementary material on specific topics, such as building your own network dataset and understanding performance and memory.