Finns det några bra rutiner för att skapa inhämtningsprojekt för insamling av information i fält?
Planering och förtänksamhet antar jag är förutsättningar, men om det finns någon självklar metod som man alltid följer känner jag inte till. Det beror såklart även på vilka verktyg man tänker använda, speciellt när det handlar om handgripligheter.
Jag tänker här se om jag kan hitta en metod som passar för insamling av lite generella data med QField, även om säkerligen Mergin Maps kan användas lika väl. Om man använder någon annan ”app” så kanske det inte går att omsätta lika enkelt.
Off-line eller On-line
Den första frågan man bör ställa sig är om man kan räkna med att vara on-line med Internet under hela tiden. Om man inte kan det, eller om man inte vill vara on-line, så behöver man framför allt paketera grundkartor för användning off-line. Även data som skall samlas in skulle kunna vara ”on-line”, exempelvis via en PostGIS databas.
I mitt exempel här så är däremot antagandet att alla data måste hanteras på lokal enhet helt off-line.
Jag börjar med att skapa en projektkatalog och i denna sparar jag ett nytt QGIS projekt med lämpligt namn. De data jag vill kunna ha i bakgrunden under inhämtningen lägger jag till och exporterar till ett GeoPackage som jag döper till ”Basemap”. Innan jag exporterar så väljer jag ”Map Canvas Extent” i dialogen för export (högerklicka på lagret). Då ”klipper” man utsträckningen till det område som är av intresse och kan därmed spara lite lagringsutrymme. Det går även att komprimera rasterdata med ”Create Options” om man tycker att det behövs för att spara ännu mera plats.
Jag använder en terrängkarta och en satellitbild från Sentinel 2 i det här exemplet, och beroende på vad som skall samlas in så går det såklart att använda vilka typer av bakgrundskartor som helst.
Även om jag nu avser vara off-line, så går det även att lägga till kartor som kan användas när man är on-line också. För full flexibilitet så är det helt klart möjligt.
Insamlingsdata
För de data som skall samlas in så skapar jag också ett GeoPackage. Genom att hålla isär grunddata och data som skall samlas in så vet jag exakt vilken fil det är som innehåller alla insamlade data och det bör vara relativt smidigt att hantera dessa i efterhand.
Om det skulle vara vektordata som man vill använda och inte redigera i fält, så är det bättre att lägga dessa i Basemap eller ett helt eget GeoPackage.
Man kan planera sina inhämtningslager på många olika sätt. Du kan exempelvis redan ha ett lager med attribut som skall samlas in eller uppdateras. Om det är data som skall uppdateras så får man även ta hänsyn till synkronisering med tillgängliga data efter insamlingen, men för det så finns det plugin. Åtminstone för QField, men detta kommer jag inte att använda här. Alla data som samlas in är data som inte redan finns, och jag kommer inte att behöva synkronisera med någon annan som inhämtar samtidigt.
I stället så skapar jag en tabell med mina lager där jag skissar upp mina attribut och kanske använder färger för att bestämma vad som är ”obligatorisk” information och vad som skall fyllas i beroende på tidigare val (etc).
Dessa lager återskapas sedan i QGIS med lite tillfälliga exempeldata av de stiltyper som kommer att användas. Det blir enklare att skapa lagerstilar på det viset.
Formulär
Det viktiga arbetet för att göra det så bra och enkelt som möjligt i fält, blir sedan att skapa formulären för insamlingen. Detta görs i lageregenskaperna under ”Attributes Form”.
Börja med att välja ”Drag and Drop Designer” och ta bort allt från rutan ”Form Layout”. Lägg sedan till grupper, om sådana skall användas med knappen med ett grönt kryss. I mitt fall så vill jag bara att fält som alltid skall fyllas i skall vara synliga vid generell insamling. Om jag kryssar i ”Behov av åtgärd” så skall en ny grupp med dessa fält bli synlig.
När man markerar en grupp så kan man välja att kontrollera synligheten i gruppen efter ett fält eller uttryck. I mitt fall så är fältet som styr ett ”boolean” fält, vilket kan användas direkt.
Gå igenom och gör inställningar för övriga fält så att lämplig typ av widget används. Det går även att göra inställningar för standardvärden med mera och det är lämpligt att laborera lite med redigering fram och tillbaka tills man är nöjd.
Gör samma sak för alla lager som skall användas för insamling och se till att spara projektet lite då och då.
När allt är klart så går det att rensa databasen från data så att det är en tom databas man börjar med.
Gör klart projektet
Innan insamlingen börjar så kan det vara bra att göra en del andra åtgärder först. Exempelvis skapa namngivna teman för vilka lager som är synliga i olika situationer. Det kan vara för att visa bakgrundskartor som är offline/online, eller för att växla mellan en topografisk karta och flygfoto.
Det är enklare att växla teman i QField än att tända och släcka enskilda lager.
Om det skall skapas någon form av inhämtningsrapport redan i fält så bör även en utskriftslayout med lämpligt innehåll skapas. Det går att skapa olika layouter för olika syften, men se till att namnge dessa på ett lämpligt sätt.
Om det behövs ytterligare metadata i projektet så bör det också skapas projektvariabler för detta.
Det går även att ställa in hu olika lager skall hanteras och om de exempelvis skall vara ”sökbara” under ”Data Sources” i projektinställningarna
Flytta till QField
Då alla data är lagrade i en projektkatalog så kan hela denna katalog flyttas till Androidenheten. Jag gör detta med en kabel ansluten till datorn och den plats som mappen skall flyttas i ligger i mitt fall på sökvägen: Delat internt lagringsutrymme/Android/data/ch.opengis.qfield/files/Imported Projects/.
Om det är svårt att hitta rätt mapp, så går det att inifrån QField importera hela projekt ganska smidigt. Komprimera bara alla filerna i katalogen till en zip-fil och lägg den någonstans där det går att komma åt den. Det skall bara vara möjligt att ladda ner filen till den mobila enheten på något sätt.
I Qfield så väljer man ”Open local file” och sedan klickar man på den gröna knappen med ett plus nere till höger. Därefter ”Import project from ZIP” och sedan får man bläddra sig fram till den zip-fil som förhoppningsvis är åtkomlig från enheten. Min zip-fil lagrade jag på en Next Cloud server och kunde hämta direkt från enheten utan att ladda ner den först.
När projektet är importerat så finns det på den sökväg som jag angav tidigare, men det är också direkt öppningsbart från importskärmen.
Förhoppningsvis så fungerar nu alla formulär på ett tillfredsställande sätt, men det finns många inställningar man kan göra i både QGIS och QField, så om man inte är riktigt nöjd så får man testa sig fram så det blir så bra som möjligt. Olika mobila enheter kan sedan ha lite olika beteenden, även om det inte är något jag märkt något direkt problem med.
Skicka tillbaka data
I inställningarna i QField så kan man välja att öppna ”Project Folder”. Här finns alla resurser som importerats, men även sådant som skapats medan man använt projektet, exempelvis PDF filer från utskrifter. Det går att exportera eller skicka filer direkt från detta fönster och på så sätt överföra rapporter eller data till en mottagare. Är det mycket data så är det sannolikt lika bra att göra det med en USB-kabel och då är det samma sökväg som användes tidigare man skall leta efter.
Även i det här fallet kunde jag enkelt dela mina filer via NextCloud och på så sätt läsa in dessa data i QGIS.
Om man nu skall samla in data för ett och samma projekt flera gånger så kommer det troligen att bli mest effektivt att använda QField Sync. Då paketeras ett projekt på lämpligt sätt och det går att göra ytterligare en del anpassningar direkt i tillägget. Det går även att använda QField Cloud och göra synkroniseringen via en molntjänst, men för kommersiellt bruk eller om det är mycket data så måste man skaffa ett abonnemang på lämplig nivå.
Om man har alla inhämtade data i ett GeoPackage, och dessutom sparat lagerstilarna som standard i samma GeoPackage, så behöver inte ens mottagaren ha tillgång till inhämtningsprojektet. Lägg bara till filen i QGIS så visas alla insamlade data som tänkt. Om du skapar ett formulär med ”Attachment” för att exempelvis kunna infoga bilder, så kommer dessa också att sparas i projektmappen. Dessa behöver också överföras, vilket inte görs om bara GeoPackage filen skickas. Även i detta fall kan det vara smidigare att använda kabel (eller QField Cloud).