Können PostGIS und QGIS eine zuverlässige Bearbeitung für mehrere Benutzer ermöglichen?

21

Nachdem ich einige Optionen in Betracht gezogen habe, versuche ich meinen 15-20 QGIS 2.2-Benutzern die Möglichkeit zu geben, einen oder zwei grundlegende PostGIS-Layer gleichzeitig anzuzeigen / zu bearbeiten. Der größte hat nur 16.000 Datensätze. Ich habe PostgreSQL 9.1 / PostGIS 2.0 installiert und grundlegende Tests scheinen in Ordnung zu sein, haben sie aber noch nicht für die breite Masse freigeschaltet.

Normalerweise haben wir nur 2-3 Redakteure gleichzeitig, aber möglicherweise 15 Zuschauer. Alle Bearbeitungen erfolgen in QGIS, die Viewer in QGIS und ArcGIS (wir haben jedoch kein SDE).

Wie gesagt, dies sind nur grundlegende Punktedateien, und bei Änderungen werden nur Punkte hinzugefügt / gelöscht und einige Tabellenbearbeitungen vorgenommen. Ich mache mir keine Sorgen, die gleichen Funktionen gleichzeitig zu bearbeiten.

Kann die Kombination eine zuverlässige Mehrbenutzerbearbeitung für zwei grundlegende Punktedateien ermöglichen?

Mike
quelle

Antworten:

15

Da Sie sich keine Sorgen um gleichzeitige Änderungen an Features machen, sollten Sie sich theoretisch keine Sorgen machen. Die Hauptgefahr bei QGIS besteht darin, dass gleichzeitige Bearbeiter auf die Bearbeitungen des anderen zugreifen können, ohne es zu merken ("die letzte Bearbeitung gewinnt").

Für Daten, die sich in der aktiven Bearbeitung mit mehreren Benutzern befinden, möchten Sie möglicherweise zumindest den Verlauf verfolgen, was Sie tun können, ohne etwas an QGIS zu ändern, indem Sie Ihren aktiven Tabellen nur einige Trigger und eine Verlaufstabelle hinzufügen.

http://postgis.net/workshops/postgis-intro/history_tracking.html

Auf diese Weise haben Sie einen Ort, auf den Sie leichter zugreifen können als auf die Datenbank-Backups und die Wiederherstellung zu einem bestimmten Zeitpunkt, wenn Sie jemals Änderungen rückgängig machen möchten.

Paul Ramsey
quelle
Vielen Dank für Ihre Antwort @Paul. Die gleichzeitige Bearbeitung mehrerer Benutzer in PostGIS über QGIS ist sicher, um Tabellenaktualisierungen vorzunehmen und vorhandene Punkte zu verschieben. Mein Hauptanliegen sind INSERTS und DELETES. Wenn zwei Benutzer offene Bearbeitungssitzungen haben, fügt Benutzer A einen Punkt hinzu und Benutzer B löscht einen Punkt. Benutzer A speichert zuerst. Wird der Punkt von Benutzer A beim Speichern von Benutzer B entfernt, da er nicht Teil der Datenbank war, als Benutzer B mit der Bearbeitung begann? Ich werde heute einige Tests durchführen, aber das ist mein Hauptanliegen (Verlust von Bearbeitungen).
Mike
Machen Sie einen Test, aber ich verstehe, dass QGIS Feature für Feature bearbeitet wird. Daher werden nur die bestimmten Aktionen des Benutzers gespeichert, nicht der gesamte Status seiner Ansicht der Daten, wenn er auf Speichern klickt. In Ihrem Beispiel wird also der Punkt von A hinzugefügt und der Punkt von B gelöscht, wie Sie möchten.
Paul Ramsey
3
Verbrachte heute ein paar Stunden mit Testen. Du hast recht, es macht genau das, was ich gehofft habe. Das Einzige, was Sie sehen müssen, ist, wenn ein Benutzer einen Datensatz löscht und speichert, er ist verschwunden, unabhängig von den offenen Sitzungen anderer Benutzer. Danke für deine Hilfe @Paul! Jetzt muss ich die Verlaufsverfolgung einrichten .....
Mike