/mergin

Store and track changes to your geo-data

Primary LanguageVueGNU Affero General Public License v3.0AGPL-3.0

Mergin

Store and track changes to your geo-data

About

Mergin is a web platform for storage and synchronisation of geospatial projects across multiple users and devices (desktop and mobile). The platform is especially useful when you need:

  • Mobile data collection. If you need to capture location of assets (and their attributes) or update an existing database.

  • Data sharing. No complicated setup of access by IT admins to get your data to colleagues or clients. Set up permissions and send invites with few clicks.

  • Offline access. Work with data with no interruption even without constant Internet connection - sync any changes when you are back online.

  • Collaborative editing. No more problems dealing with multiple copies of the same dataset in different versions - all changes are automatically consolidated in one place.

  • Audit changes. Knowing who has changed what and when in a database is often important - Mergin keeps track of the history and allows to go back if needed.

  • No coding required. Everything can be set up with no knowledge of programming.

Mergin organises all data in projects. A project in Mergin is a directory containing various data files - GeoPackages, QGIS project files, documents, pictures and more. As soon as a project is uploaded to Mergin, it can be easily accessed directly from the web, from QGIS or from iOS/Android via Input app.

Screenshots

Mergin web


Dashboard

Project files

Project version history

Project settings

Mergin in Input app
Input app

Mergin in QGIS
Mergin in QGIS

Features

  • 🌍 Store data - GeoPackages, QGIS project files, GeoTIFFs, pictures or any other data easily
  • 📱 Mobile devices - Great for working on field surveys, thanks to Input app based on QGIS, for iOS and Android
  • 🌟 QGIS integration - Mergin plugin is available to help with project setup and seamless syncing within QGIS
  • 👥 Multi-user editing - Changes to vector/attribute data from multiple users are automatically merged
  • 📖 Data versioning - Keeping history of all changes, allowing to go back if needed
  • 🔌 Offline editing - Clients do not need to be online all the time - only when syncing changes
  • 🌱 Sharing with collaborators - Projects can be shared with other team members
  • 🏰 Granular permissions - Decide who can read, write or manage projects
  • 🌈 Web interface - Simple user interface to view and manage projects
  • ⚡️ Fast - Efficient sync protocol transfering data between clients and server
  • 🧑‍💻 Developer friendly - Mergin is open platform. CLI tools and client libraries available for Python and C++
  • 💽 Sync with database - Supporting two-way sync of data with PostGIS using mergin-db-sync tool
  • 👷‍♀️ Work packages - Split main database to smaller chunks for teams using mergin-work-packages tool

Mergin offers a unique combination of features that other tools do not provide out of the box:

  • relational databases (such as PostGIS or Oracle) are great for keeping a central repository of spatial data, but offline access, versioning and sharing outside of a single organisation are complicated to set up.

  • traditional storage products (like Dropbox or Google Drive) are great for storage of large amounts of data (pictures/videos) and offering offline access, but concurrent access to data (e.g. a single vector layer) is not going to work well.

Quick start

Try Mergin at https://public.cloudmergin.com/ - the SaaS service run by Lutra Consulting, the makers of Mergin.

Running with Docker

Run Mergin locally is easy. Adjust configuration in docker-compose.yml, e.g. replace 'fixme' entries and run with docker-compose:

$ docker-compose up
$ docker exec -it mergin-server flask init-db
$ docker exec -it mergin-server flask add-user admin topsecret --is-admin --email admin@example.com
$ sudo chown -R  901:999 ./projects/
$ sudo chmod g+s ./projects/

Projects are saved locally in ./projects folder.

Documentation

For user help and documentation, visit https://help.cloudmergin.com/ If you'd like to contribute and improve the documentation visit https://github.com/lutraconsulting/mergin-docs

For the Input mobile app, visit https://inputapp.io/ - with more documentation at https://help.inputapp.io/

Get in touch

If you need support, a custom deployment, extending the service capabilities and new features do not hesitate to contact us on info@lutraconsulting.co.uk

Developers

Contributions are welcome!

More information for developers can be found in the dedicated development page.

Client side modules:

  • Python client library + CLI
  • C++ client library + CLI

More related tools:

Learn more about geodiff - the low-level library providing seamless merging of changes from multiple sources.

License

Mergin is open source and licensed under the terms of AGPL licence.