Real Spatial Data Versioning & Collaboration with Kart
2021-09-27, 09:00–13:00, Isabel Allende

Kart (https://www.kartproject.org — formerly Sno) is a powerful new open-source and cross-platform version control system for geospatial vector and table data. Designed to enable collaboration and cross-vendor workflows, Kart is built on the power of Git. Working copies are common GIS files and spatial databases, so you can edit data directly in GIS software without plugins.

The workshop will introduce Kart and walk through installing; creating new repositories by importing open data sets; editing and committing data changes; reviewing history; cloning & pushing datasets; using and understanding different working copy formats; exporting repository data; managing metadata, licenses, and file attachments; performing branching and merging; and collaborating with other users.

To participate, no experience with Kart, Git or other version control systems is required, but a basic knowledge of GIS concepts and data formats is recommended. A Windows, macOS, or Linux computer that has QGIS installed and can install Kart is required.


Workshop Outline

[15 mins] Introduction
- Who we are
- What Kart is
- Distributed version control in software development
- History of Kart
- Design principles

[15 mins] Installing Kart
- Windows; macOS; Linux

[45 mins] First repository
- Importing data
- Making edits in QGIS
- Creating a commit
- The difference between repositories and working copies
- Reviewing history
- Kart for Git users

[30 mins] Interacting with remote repositories
- Cloning an existing repository
- Configuring SSH keys
- Pushing to a remote repository
- Fetching updates
- Options for hosting Kart repositories

[30 mins] Working copies & Exports
- Creating a PostGIS working copy
- Available working copy formats and options
- Data types
- Exporting data
- Available export formats
- Filtering exports
- The difference between working copies & exports

[15 mins] Managing metadata
- Adding a license and metadata XML
- Adding file attachments
- The difference between datasets and files

[30 mins] Branching and Merging
- Creating a new branch
- Visualising branches
- Branch naming
- Switching between branches
- Merging changes
- Pushing and fetching branches
- Handling merge conflicts

[30 mins] Data workflows
- Team collaboration
- Deploying data to production
- Data publishing
- Change reviews

[30 mins] Discussion; Q&A
- Project roadmap
- Getting involved


Authors and Affiliations

Hamish Campbell is a Product Manager at Koordinates, bridging the gap between technology and users. He’s spoken at previous FOSS4G events, Kiwi PyCon, and other conferences.

Robert Coup is the CTO of Koordinates and has been a speaker at previous FOSS4G events, State Of The Map, Git Merge, Kiwi PyCon, and other conferences. He’s been involved in geospatial for nearly twenty years, and is a contributor to GDAL and several other open source projects.

Eli Chadwick is a Sales Engineer at Koordinates, and has a huge range of experience designing, building, and working with open & proprietary GIS solutions in government and industry.

Level

2 - Basic. General basic knowledge is required.

Requirements for the Attendees

To participate, no experience with Kart, Git or other version control systems is required, but a basic knowledge of GIS concepts and data formats is recommended.

Robert Coup is the CTO of Koordinates and has been a speaker at previous FOSS4G events, State Of The Map, Git Merge, Kiwi PyCon, and other conferences. He’s been involved in geospatial for nearly twenty years, and is a contributor to GDAL and several other open source projects.

Hamish is a software product manager with a background in civil engineering consultancy. He cares about open data and building great software that is good for society and the planet.