/server

Mergin Maps: Store and track changes to your geo-data. Community Edition.

Primary LanguagePython

Code Layout Auto Tests Coverage Status

About

Mergin Maps 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 Maps 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 Maps organises all data in projects. A project in Mergin Maps is a directory containing various data files - GeoPackages, QGIS project files, documents, pictures and more. As soon as a project is uploaded to Mergin Maps, it can be easily accessed directly from the web, from QGIS or from iOS/Android via our mobile app.

You are currently browsing repository for Mergin Maps web server and web client. Our mobile app, QGIS plugin and integrations have standalone GitHub repositories, you can find them here.

Screenshots

Mergin Maps web


Dashboard

Project detail

Project version history

Admin interface

Mergin Maps mobile app

Input app
QGIS map on mobile
Input app
Feature form

Mergin Maps QGIS plugin
Mergin Maps 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 our mobile app based on QGIS, for iOS and Android
  • 🌟 QGIS integration - Mergin Maps 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
  • 🏰 Permission system - 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 Maps is open platform. CLI tools and client libraries are available for Python and C++
  • 📷 Sync images - Supporting sync of photos with common cloud storage using mergin-media-sync tool
  • 💽 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 Maps 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 Maps at https://merginmaps.com/ - the SaaS service run by Lutra Consulting, the makers of Mergin Maps.

Running locally

A step-by-step guide how to run local Mergin Maps instance can be found in our documentation.

Manage Mergin Maps

Admin users can enter the admin interface available at /admin URL which provides management of users, projects and other bits of the Mergin Maps instance.

Contributing

Contributions are welcomed! You can set up development environment by following a guide in development.md. Before you create your first pull request, we kindly ask you to sign the CLA with your GitHub user name and date here.

Documentation

For user help and documentation, visit https://merginmaps.com/docs If you'd like to contribute and improve the documentation, visit https://github.com/MerginMaps/docs

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

Join our community chat
and ask questions!

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 Maps is open source and dual-licensed under AGPL-3 and MM-Commercial licence.