Ostatnio podczas wykonywania projektu, pojawił się problem wykonania żmudnych i długotrwałych poprawek na jednej warstwie w krótkim czasie. Postanowiliśmy podzielić pracę na kilka osób, jednak okazało się, że podzielenie warstwy, przesłanie jej e-mailem do współpracowników i scalenie jej z powrotem w jedną warstwę spowodowało więcej problemów niż ktokolwiek mógłby się spodziewać.

Zmorą takiego sposobu wykonania okazał się problem monitorowania zmian oraz brak pewności, czy dana poprawka została naniesiona, czy nie. Szczęśliwie udało się nam zakończyć aktualizację warstwy na czas jednak kosztowało nas to sporo nerwów, niepewności i telefonów i e-maili…
Skłoniło mnie to do poszukania optymalnego i szybkiego rozwiązania tego problemu. W naszym wypadku najlepiej sprawdziło by się połączenie bazy danych PostgreSQL/PostGIS i oprogramowania desktop GIS – QGIS. Poniżej krótki opis sposobu i testów.
Na serwerze wewnętrznym zainstalowano PostgreSQL/PostGIS i stworzono odpowiednią ilość użytkowników o odpowiednich przywilejach:
- administrator bazy danych,
- edytor bazy danych
- użytkownik
Poprzez wtyczkę SPIT w programie QGIS administrator bazy załadował odpowiednie warstwy do bazy danych. Użytkownicy z przywilejem edytowania bazy danych mogli połączyć się z bazą za pomocą “Dodaj warstwę PostGIS” w programie QGIS i znacząc edycję. Pozostali użytkownicy mieli wgląd w najbardziej aktualną wersję warstwy. Mogli dokonywać kontroli wprowadzanych zmian lub używać jej do innych celów.
Ograniczenia rozwiązania:
- QGIS nie obsługuje transakcyjności. Z tego powodu edytorzy musieli podzielić się obszarem, w którym dokonywali zmian. Inaczej – w przypadku kiedy dwie lub więcej osób edytuje ten sam punkt – zostanie zapisana zmiana tego, który zapisze zmiany jako ostatni!
- W PostGIS nie można zapisać symboliki załadowanych warstw, więc użytkownicy, którzy dodają warstwę PostGIS muszą ją nadać na nowo.
- Niewiele popularnych komercyjnych rozwiązań (już) wspiera PostGIS z możliwością edycji. W przypadku serii produktów ArcGIS potrzebna jest do tego specjalna nakładka np zigGIS.
- Słabo rozwinięte możliwości edycyjne w QGIS (brak możliwości precyzyjnych zmian, uciążliwe kopiowanie elementów z jednej warstwy do innej)
Szanse rozwiązania:
- Rozwiązanie opiera się na darmowym oprogramowaniu, więc można je szybko, legalnie wprowadzić w życie.
- Dzięki możliwościom nadawania uprawnień można łatwo kontrolować kto ma wpływ na edycję warstwy.
- Możliwość zdalnego połączenia i edytowania warstw (np. przez VPN).
Każde rozwiązanie należy odnieść do konkretnych warunków i celów, więc ocena nie może być jednoznaczna, niemniej ta propozycja może być przydatna i stanowić namastkę prawdziwego “enterprise GIS”
Ocena
































Czy inny darmowy program np gvSIG, OpenJump czy uDIG nie poradziłby sobie z wymienionymi ograniczeniami?
Wedle informacji z zestawienia programów open source desktop GIS (Geodeta, 07/2009 str 42) trzy wymienione przez Ciebie programy mają możliwość zarówno odczytu jak i zapisu informacji z bazy PostGIS, więc prawdopodobnie z tym rozwiązaniem poradziłby sobie równie skutecznie jak QGIS. We wpisie posłużyłem się przykładem QGIS ponieważ sam znam go najlepiej i go używam.
Myślę, że różnicą przy użyciu gvSIG, OpenJump lub uDIG byłoby załadowanie danych do bazy danych (nie wiem czy ww programy mają narzędzie równoważne wtyczce SPIT).
Poza tym możliwości edycyjne są bardzo podobne.