Podobieństwa i różnice
Zarówno QField, jak i Mergin Maps są projektami OpenSource przeznaczonymi do pracy w terenie. W obu przypadkach projekty mobilne przygotowywane są w aplikacji QGIS Desktop. Umożliwiają pracę na danych lokalnych, bezpośrednio na bazie danych (np. PostGIS) w trybie online lub na bazie danych w trybie offline (bez dostępu do internetu, z późniejszą synchronizacją).
Dodatkowo, oba programy umożliwiają rozszerzanie swoich bazowych funkcjonalności o nowe moduły. Główne różnice obu projektów to sposób pracy po stronie serwera, wygląd (UI) oraz intuicyjność (UX) interfejsu użytkownika.
Oba rozwiązania składają się z trzech integralnych komponentów, bez których korzystanie z aplikacji nie byłoby możliwe:
- serwer – przechowuje dane, dba o uprawnienia i integracje z pozostałymi komponentami,
- portal internetowy (część webowa) – umożliwia zarządzanie użytkownikami i projektami w formie aplikacji GUI,
- aplikacja mobilna – służy wizualizacji danych przesłanych przez użytkowników na serwer.
Mergin Maps
Serwer
Rozwiązanie oparte jest na technologii Docker, która służy odciążeniu serwera i zużywaniu mniejszej ilości jego zasobów. Kod źródłowy serwera został oparty przede wszystkim na języku programowania Python i Flask’u. W niektórych miejscach również zastosowano pliki konfiguracyjne YAML, które umożliwiają łatwą edycję zmiennych systemowych przewidzianych dla instalowanego przez użytkownika serwera.
Aplikacja może być rozszerzona za pomocą dodatkowych funkcjonalności napisanych w języku Python i udostępnionych przez technologię Docker jako kontener. Rozwiązanie to przy prawidłowej konfiguracji gwarantuje stabilną i szybką pracę, jednakże musi to skonfigurować osoba znająca się na kontenerach Docker’a i rozwiązaniach serwerowych. Dostawca oprogramowania oferuje następujące rozszerzenia:
- DB Sync (użytkownik może zbierać dane w terenie offline i zsynchronizować je z bazą danych PostgreSQL wraz z połączeniem z internetem).
- Media Sync (umożliwia synchronizację mediów z projektu Mergin Maps do innej bazy plików, np. Amazon S3 lub MinIO).
- Work Packages (rozszerzenie oferuje zarządzanie grupą osób w terenie i podział ich na kilka grup w taki sposób, aby członkowie jednej grupy nie widzieli danych innych grup. Tylko zarządca może zobaczyć dane wszystkich grup).
Strona internetowa
Strona została zbudowana na lekkich frameworkach (struktura aplikacji oraz ogólny mechanizm jej działania) – Vue, JavaScript, TypeScript. Pozwala to dodatkowo zmniejszyć obciążenie serwera i przyspieszyć pracę użytkownika docelowego na portalu. Użytkownik na stronie może z łatwością np. edytować informacje, wgrać potrzebne dane, zarządzać użytkownikami.
Aplikacja mobilna
Aplikacja jest mobilną wersją programu QGIS. Dostępna jest na trzy platformy mobilne: iOS, Android i Windows. Kod aplikacji jest napisany w języku C++.
Bazą projektu mobilnego jest projekt QGIS Desktop. Synchronizacja danych może się odbywać przez portal internetowy Mergin Maps, wtyczkę QGIS o nazwie „Mergin Maps” lub bezpośrednio z aplikacji mobilnej. Dodatkowo, twórcy oprogramowania umożliwili obsługę projektów przez API. Mergin Maps daje nam możliwość wizualizacji, tworzenia i edycji danych przestrzennych zarówno w trybie online jak i offline.
Aplikacja mobilna Mergin Maps wspiera wiele formatów danych i usług przestrzennych, w tym kafle wektorowe w formacie Mapbox Vector Tiles (MVT). Pełną listę wspieranych formatów można znaleźć w dokumentacji.
Chcesz dowiedzieć się, jakie projekty zrealizowaliśmy przy użyciu Mergin Maps? Klinkij tu.
Usługa chmurowa dostawcy
Jeżeli nie jesteś programistą, Mergin Maps przewidziało również możliwość wsparcia chmurowego. Dzięki takiemu rozwiązaniu nie musisz się martwić o prawidłową instalację serwera Mergin Maps na swojej infrastrukturze. Więcej informacji o usłudze chmurowej znajdziesz tu. Wersja Mergin Maps Enterprise ma dodatkowe funkcjonalności, które nie są dostępne w bezpłatnej wersji (community).
Wsparcie w zakresie Mergin Maps
Jeżeli mimo wszystko nie chcesz trzymać swoich danych na serwerze producenta lub po prostu chcesz mieć nieograniczoną kontrolę nad swoimi danymi, skontaktuj się z nami. Pomożemy Ci zaprojektować, zainstalować i wdrożyć to rozwiązanie u Ciebie! Jako oficjalny partner Mergin Maps w Polsce zorganizujemy szkolenie dla Twojego zespołu lub podpowiemy, jak wykorzystać jego możliwości.
QField
Serwer
Rozwiązanie oparto na technologii Docker oraz Django. Aplikacja serwerowa wymaga poprawnej konfiguracji, aby w pełni wykorzystać swoje możliwości oraz działać prawidłowo i płynnie. Pozytywnym aspektem tej technologii są np. szeroka możliwość personalizacji uprawnień, zabezpieczeń, wersjonowanie zmian i skalowalność.
Strona internetowa
Część serwerowa jest ściśle zintegrowana z aplikacją internetową i wspólnie stanowią QFieldCloud. Umożliwia ona admistratorowi proste zarządzanie użytkownikami i projektami. Fakt zastosowania frameworku Django, przy niepoprawnej konfiguracji serwera lub użyciu niskich jakościowo komponentów, może potencjalnie przyczynić się do wolnego działania aplikacji.
Aplikacja mobilna
QField, podobnie jak Mergin Maps, jest mobilną wersją programu QGIS Desktop. Została ona napisana głównie w języku C++. Dostępne są wersje na następujące systemy operacyjne: Android, iOS, Windows. Synchronizacja danych z serwerem odbywa się przez QFieldCloud. Projekt mobilny tworzy się całkowicie w programie QGIS Desktop, który należy wgrać albo na urządzenie, albo do QFieldCloud. Sposób działania jest zbliżony do Mergin Maps.
Co ciekawe, aplikację mobilną QField możemy rozszerzać za pomocą wtyczek napisanych w JavaScript. QField, podobnie jak Mergin Maps, umożliwia wizualizację, tworzenie danych tudzież ich edycję. Możemy korzystać zarówno z dostępem, jak i bez dostępu do internetu. W Mergin Maps synchronizacja jest integralną częścią platformy. W związku z tym jest domyślnie skonfigurowana dla użytkowników końcowych i nie są potrzebne żadne dodatkowe kroki podczas pracy na urządzeniach mobilnych, gdzie cała synchronizacja odbywa się za pomocą jednego przycisku.
Usługa chmurowa dostawcy
Twórcy QField umożliwiają zakup usługi chmurowej (QFieldCloud), gdzie dostarczają przestrzeń do przechowywania, synchronizowania i zarządzania projektami. Więcej informacji o usłudze chmurowej QFieldCloud można znaleźć tu.
Wsparcie w zakresie QField
Jako oficjalny partner QField w Polsce, EnviroSolutions pomoże Ci we wdrożeniu tego rozwiązania u Ciebie w organizacji. Tak, jak w przypadku Mergin Maps możesz bez opłat licencyjnych zainstalować swój własny serwer QFieldCloud, dzięki temu masz nieograniczoną możliwość modyfikacji i integracji części serwerowej, a wszystkie dane przechowujesz u siebie. Jeżeli chcesz nawiązać współpracę w tym zakresie, skontaktuj się z nami. Jeżeli jest taka potrzeba – zorganizujemy szkolenie dla Twojego zespołu lub nakreślimy, jak wykorzystać QField i QFieldCloud w Twojej organizacji.
Podsumowanie
Zarówno Mergin Maps, jak i QField to aplikacje mobilne, które służą do pracy z danymi GIS w terenie. Obsługują zewnętrzne odbiorniki GNSS, umożliwiają edycję warstw, pracę na bazie danych w czasie rzeczywistym lub w trybie offline. Są to rozwiązania OpenSource, więc licencja jest bezpłatna.
QField będzie lepszym rozwiązaniem dla tych, którzy stawiają na funkcjonalność i możliwość prostego rozszerzania aplikacji (poprzez wtyczki). Interfejs QField przypomina rozwiązania znane z QGIS, co powoduje, że może być dobrym wyborem dla osób znających dobrze QGIS. Mergin Maps powinno zainteresować użytkowników, którym zależy na pracy grupowej na jednym projekcie, intuicyjności oraz nowoczesnym wyglądzie. Aplikacja mobilna Mergin Maps jest bardziej intuicyjna dla użytkowników nietechnicznych, jednocześnie zachowuje wszystkie niezbędne narzędzia do pracy w terenie.
Aplikacja mobilna QField może działać bez QFieldCloud (serwera) poprzez transfer projektów bezpośrednio na urządzenie (np. przez USB). Ta opcja nie jest dostępna w Mergin Maps. Organizacje zespołów w QFieldCloud nie mają odpowiednika w Mergin Maps. W Mergin Maps można tworzyć różne przestrzenie robocze dla różnych zespołów.
Poniżej tabela porównawcza dla obu rozwiązań
Część mobilna
| Funkcjonalność | QField | Mergin Maps |
| Obsługiwane systemy operacyjne | Android, iOS, Windows | Android, iOS, Windows |
| Praca offline z synchronizacją danych w bazie | TAK (z wykorzystaniem QFieldCloud) | TAK (z wykorzystaniem serwerowego Mergin Maps, i rozszerzenia DB Sync) |
| Interfejs w języku polskim (stan na wrzesień 2024) | NIE | TAK (tłumaczenia od EnviroSolutions) |
| Dodawanie zdjęć i załączników | TAK | TAK |
| Filtrowanie dostępnych danych w projekcie według użytkowników | TAK | TAK |
| Obsługa zewnętrznych odbiorników GNSS | TAK | TAK |
| Śledzenie pozycji pracowników w terenie | TAK | TAK |
| Edycja danych w terenie | TAK | TAK |
| Obsługa zaawansowanych styli QGIS (np. symbologia) | TAK | TAK |
| Możliwość tworzenia wtyczek do aplikacji mobilnej | TAK (przez pluginy QML/JavaScript) | NIE |
| Możliwość zrobienia wydruku mapowego z aktualnego widoku | TAK | NIE |
| Stabilność (subiektywnie) | 4/5 | 4/5 |
| Łatwość obsługi (subiektywnie) | 4/5 | 5/5 |
| Wygląd interfejsu (subiektywnie) | 3/5 | 5/5 |
| Użyte technologie | QML, JavaScript, C++, Java, Perl | C++, QML, Java |
Część serwerowa
| Funkcjonalność | QFieldCloud | Mergin Maps |
| Obsługiwane bazy danych | PostgreSQL, SQLite | PostgreSQL |
| Zapis danych na serwerze | TAK | TAK |
| Możliwa praca na własnym serwerze | TAK | TAK |
| API | TAK | TAK |
| Obsługa technologii Docker | TAK | TAK |
| Wersjonowanie zmian | TAK | TAK |
| Synchronizacja danych | Wtyczka QGIS QField Sync/ QFieldCloud |
Wtyczka QGIS Mergin Maps/ portal Mergin Maps |
| Użyte technologie | Docker, Python (Django) | Docker, Python (Flask) |
| Licencja | OpenSource, GPL, MIT | OpenSource, LGPL |
Część webowa
| Funkcjonalność | QFieldCloud | Mergin Maps |
| Strona internetowa (zarządzanie użytkownikami i projektami) | TAK (Django, integracja z QFieldCloud) | TAK (Vue.js, TypeScript) |
| Wygląd interfejsu (subiektywnie) | 4/5 | 5/5 |
| Obsługa przez API | TAK | TAK |
| Dostępność dodatkowych funkcjonalności w wersji płatnej | TAK (w chmurze QFieldCloud) | TAK (Mergin Maps Enterprise) |
| Użyte technologie | Python (Django) | Python (Flask), Vue.js, TypeScript, SCSS |
| Społeczność i wsparcie | Społeczność, wsparcie EnviroSolutions | Społeczność, wsparcie EnviroSolutions |
| Aktualizacje i rozwój | Częste aktualizacje, integracja z QGIS | Regularne aktualizacje, integracja z QGIS |
| Licencjonowanie | OpenSource, GPL, MIT | OpenSource, LGPL, opcje płatne |


