Igår tittade jag på ett fantastiskt program för mobila Windows enheter, som i praktiken är QGIS med ett helt touch-anpassat gränssnitt. Om man inte har behov av att se objekten på kartan medan man är ute så finns ju Open Data Kit (ODK), och i detta inlägg tittar jag närmare på ett tillägg till QGIS som skall göra ODK enklare att hantera.
Tillägget finns i den vanliga pluginkatalogen och heter QgisODK.
Arbetsflödet beskrivs i tillägget som bilden ovan. Det finns ”ODK” servrar, men formulären som skapas kan hanteras som filer eller via Google Drive också.
Vill man testa ”ona.io” så kostar det inget, men vill man ha lite extra funktioner och vara flera som använder tjänsterna så börjar det kosta pengar. Jag har inte riktigt koll på affärsmodellen, men jag tror att det utöver organisationskostnader, även kan tillkomma ”personkostnader” beroende på vad man vill att dessa personer skall kunna göra.
Det går att använda sig av befintliga vektorlager men jag skapar ett eget GeoPackage lager med en ”trees” tabell.
Det underlättar om man även skapar anpassade fält för ifyllnad i QGIS, då en del av dessa överförs till ODK (inte allt) och därmed så används exempelvis samma valbara alternativ vid den typen av fält. Det går dock att anpassa fälten även i QgidODK dialogen.
I inställningarna (knapp uppe till höger) så anger man ett Google Drive konto (eller ona.io) med lagringsplats, vilket underlättar överföringen till den mobila enheten.
När man gått igenom formuläret och skapat de grupper och fälttyper man vill ha så klickar man på ”Export to Web Service” och loggar in på webbtjänsten. I mitt fall Google Drive.
När formuläret är uppladdat får de personer som är angivna ett e-post meddelande om att det finns ett nytt formulär. I ODK appen (Android) så ställer man också in samma Google Drive konto och kan snabbt och enkelt hämta det nya formuläret därifrån.
Appen lagrar ett valfritt antal tomma formulär som sedan kan fyllas i lokalt. Varje gång man fyller i ett formulär skapas en datapost. Dessa kan skickas till ”servern” individuellt eller samlat, när man markerat dem som ”avslutade”. Flera personer kan hämta de tomma formulären och skicka in ifyllda dataposter till dokumentet centralt.
I QGIS använder man sedan tillägget från tidigare och knappen ”Import collected data”, där man väljer den tabell som skapades tidigare från Google Drive.
Här har jag stött på lite problem med synkroniseringen med ett lokalt lager. Om jag försöker synkronisera med ett tomt vektorlager så blir det pythonfel, och för andra tabeller med innehåll så hänger sig importen, medan det går bra att läsa in formuläret till ett nytt GeoJSON lager. GeoJSON är det enda alternativet, så jag hade gärna sett att man exempelvis skulle kunna synkronisera med ett GeoPackage eller PostGIS. Jag har däremot inte provat PostGIS.
Om man har ”attachments” till posterna, exempelvis bilder, så kan man även välja att ladda ner dessa vid synkroniseringen.
Jag vet inte om mina problem handlar om en operativsystemfråga, om det är en bugg i koden, eller om min metod att läsa in formulär är felaktig. Detta är ett vanligt problem med öppen källkod, där kod inte alltid är helt robust för alla situationer. Om det är fler som provar QgisODK och har samma problem så borde det vara en ”bugg” och då kan denna rapporteras till utvecklarna, och därmed ha en chans att åtgärdas.
(Tidigare inlägg om ODK: https://geosupportsystem.wordpress.com/2017/05/23/samla-in-data-i-falt-med-odk/)