Skip to main content
Mapit GIS Cloud
Demnächst verfügbar

Die Plattform ist fertig und läuft. In Kürze öffnen wir sie für ausgewählte Nutzer. Die allgemeine Verfügbarkeit ist geplant für Januar 2027.

Projektsynchronisierung

Ein ganzes GeoPackage-Projekt, für ein Team freigegeben und von allen gleichzeitig erfasst.

Four surveyors’ devices sending what each collected into one dataset

Das Prinzip

Die Datei ist der Datenbestand. Sie ist nicht das Transportmittel.

Ein Mapit-Projekt ist ein GeoPackage: eine Datei mit den Layern, den Formularen dahinter und allem, was darin erfasst wurde. Wenn ein Projekt in die Cloud geht, bleibt diese Datei, was sie ist, und die Kopie auf dem Server ist diejenige, auf die alle zusammenlaufen. Nichts wird in eine Datenbank zerlegt, die sich nur über uns wieder auslesen lässt. Deshalb ist die Antwort auf „Können wir unsere Daten haben?“ ein Download und kein Supportticket.

Was übertragen wird, ist nicht die Datei. Ein Telefon, das das Projekt bereits hat, sendet die Zeilen, die es geändert hat, und empfängt die Zeilen, die alle anderen geändert haben. Die erste Synchronisierung bewegt also ein Projekt, und jede weitere nur noch ein Gespräch. Deshalb sind die zweite und die zweihundertste Synchronisierung beide klein, und deshalb bekommt ein Team mit schwacher Verbindung am Ende eines langen Tages seine Arbeit weg, statt einem Fortschrittsbalken zuzusehen.

Zwei Personen, ein Feature

Zusammengeführt wird Feld für Feld, nicht Zeile für Zeile

Zwei Vermesser öffnen denselben Lichtmast. Einer korrigiert die Höhe, der andere erfasst den Leuchtentyp. Bei zeilenweiser Synchronisierung wird daraus ein Streit, und einer von beiden verliert seinen Nachmittag. Hier kommen beide Änderungen an, weil der Server ermittelt, welche Spalten sich tatsächlich geändert haben, und jede einzeln übernimmt. Die Geometrie zählt als ein einziges Feld, denn eine halbe Position ist keine Position.

Wenn dasselbe Feld wirklich auf zwei verschiedene Werte gesetzt wird, gilt der Wert, der zuerst den Server erreicht. Diese Regel ist bewusst gewählt und nicht bequem: Die Alternative wäre, die Uhr eines Geräts entscheiden zu lassen, und Telefonuhren gehen oft genug falsch, dass „die spätere Änderung gewinnt“ stillschweigend bedeuten würde: „wer die falsche Zeitzone eingestellt hat, gewinnt“.

Der verworfene Wert wird nicht verworfen. Er wird zu einem Konfliktdatensatz mit beiden Seiten, welches Gerät was gesendet hat und wann, und ein Manager entscheidet im Portal, welche Version gilt. Eine Synchronisierung darf eine Entscheidung treffen, aber sie darf niemals Arbeit verschwinden lassen. Ein Feature zu bearbeiten, das jemand anderes gelöscht hat, ist dieselbe Geschichte von der anderen Seite: Die Löschung bleibt bestehen und die Bearbeitung wird aufbewahrt, statt dass eine Zeile stillschweigend wieder zum Leben erwacht.

Zweite Woche

Ein neues Feld erreicht jedes Telefon, ohne dass jemand den Auftrag neu herunterlädt

A field added to the form, travelling out to every phone already collectingv2

Aufträge ändern sich. In der zweiten Woche braucht jemand eine Spalte, die im ursprünglichen Formular nicht vorgesehen war, und in den meisten Systemen bedeutet das eine neue Datei für alle und einen Abend, an dem man sicherstellt, dass niemand mehr mit der alten arbeitet. Hier ändert ein Manager die Struktur, gibt sie frei, und die Änderung kommt als Patch: Die Telefone übernehmen die neue Spalte und behalten alles, was bereits darauf ist, einschließlich der Arbeit, die am Morgen erfasst und noch nicht gesendet wurde.

Ergänzende Änderungen gehen durch. Ein Feld umzubenennen, seinen Typ zu ändern oder einen Layer zu entfernen, in den noch erfasst wird, wird bei der Freigabe mit Begründung abgelehnt, denn genau diese Änderungen lassen Arbeit ins Leere laufen, und eine Ablehnung, die man lesen kann, ist besser als eine Migration, die man hinterher entdeckt.

Im Gelände

Offline ist der Normalfall, nicht der Störfall

Die App funktioniert ohne Konto und ohne Empfang; das tat sie schon, bevor es all das hier gab. Synchronisieren ist etwas, das das Projekt tut, wenn eine brauchbare Verbindung da ist, und nichts am Erfassen wartet darauf. Ein Hochladen wird auch nie abgelehnt, weil ein Projekt kurz vor seiner Größengrenze steht: Das Team hat das Kontingent nicht festgelegt, und einen Tag Feldarbeit wegen der Abrechnungsregel eines anderen zu vernichten, ist kein Tausch, den wir eingehen. Stattdessen wird der Manager gewarnt.

Gut zu wissen

Was es nicht tut

  • Es ist nicht Echtzeit

    Nichts aktualisiert sich, solange ein Telefon keinen Empfang hat, und kein Bildschirm tut so, als wäre es anders. Jede Zahl trägt die Uhrzeit, zu der sie stimmte.

  • Fotos bleiben auf den Telefonen

    Die Angaben zu einem Foto reisen mit seinem Feature: Name, Größe, Prüfsumme und zu welchem Feature es gehört. Die Datei selbst verlässt nie das Telefon, mit dem es aufgenommen wurde.

  • Ein Projekt pro Entwurf

    Strukturänderungen werden in einem Entwurf auf Grundlage einer bekannten Freigabe vorgenommen. Wenn zwei Personen gleichzeitig dasselbe Projekt umbauen, wird das abgelehnt statt zusammengeführt.

  • QGIS zeigt an, es bearbeitet nicht

    Erfasst und bearbeitet wird in der Mapit GIS App auf Android und iOS. Das QGIS-Plugin öffnet ein Cloud-Projekt zum Ansehen, nur lesend.

Weiter

Team-Aktivität

Was das Team erfasst hat und wann jede Person zuletzt synchronisiert hat, mit der Uhrzeit bei jeder Zahl.