Могут ли PostGIS и QGIS обеспечить надежное многопользовательское редактирование?

21

Рассмотрев несколько вариантов, я пытаюсь дать своим 15-20 пользователям QGIS 2.2 возможность одновременно просматривать / редактировать один или два базовых слоя PostGIS, самый большой из которых имеет всего 16 000 записей. Я установил PostgreSQL 9.1 / PostGIS 2.0, и базовое тестирование, кажется, работает нормально, но еще не развязало его массам.

Обычно у нас будет только 2-3 редактора, но, возможно, 15 зрителей. Все изменения будут в QGIS, зрителями будут QGIS и ArcGIS (но у нас нет SDE).

Как я уже сказал, это просто базовые точечные файлы, и правки будут просто добавлять / удалять точки и некоторые правки таблиц. Меня не беспокоит редактирование одних и тех же функций одновременно.

Может ли комбинация обеспечить надежное многопользовательское редактирование двух базовых файлов точек?

Майк
источник

Ответы:

15

Поскольку вас не беспокоит одновременное редактирование функций, я бы сказал, что теоретически вам не о чем беспокоиться. Главная опасность с QGIS заключается в том, что редакторы, работающие одновременно, могут топать друг друга, не замечая этого («последнее редактирование выигрывает»).

Для данных, находящихся под активным редактированием с несколькими пользователями, вы можете по крайней мере отслеживать историю, что вы можете сделать без изменения чего-либо в QGIS, просто добавив несколько триггеров и таблицу истории в ваши активные таблицы.

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

Таким образом, если вы когда-нибудь захотите отменить изменения, у вас будет куда проще обратиться к резервным копиям базы данных и восстановлению на определенный момент времени.

Пол Рэмси
источник
Спасибо за ваш ответ @Paul, похоже, что параллельное многопользовательское редактирование PostGIS через QGIS безопасно для обновления таблиц и перемещения существующих точек. Моя главная забота - это ВСТАВКИ и УДАЛЕНИЯ. Если два пользователя проводят открытые сеансы редактирования, Пользователь A добавляет точку, а Пользователь B удаляет точку. Пользователь А спасает первым. Когда пользователь B сохранит, будет ли удалена точка пользователя A, поскольку она не была частью БД, когда пользователь B начал редактирование? Я собираюсь провести тестирование сегодня, но это моя главная проблема (потеря правок).
Майк
Пройдите тестирование, но я понимаю, что редактирование QGIS заключается в том, что это функция за функцией, поэтому он будет сохранять только определенные действия пользователя, а не все состояние их просмотра данных, когда они нажимают сохранить. Таким образом, в вашем примере точка A будет добавлена, а точка B удалена, как вы хотели бы.
Пол Рэмси
3
Потратил несколько часов на тестирование сегодня. Вы правы, это именно то, что я надеялся. Единственное, что нужно посмотреть, это когда пользователь удаляет запись и сохраняет ее, она исчезает, независимо от открытых сеансов других пользователей. Спасибо за вашу помощь @Paul! Теперь мне нужно настроить отслеживание истории .....
Майк