Seamless fieldwork thanks to QFieldCloud
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 351 | |
Author | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/69182 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Year | 2022 |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
FOSS4G Firenze 202262 / 351
1
7
13
22
25
31
33
36
39
41
43
44
46
52
53
55
58
59
60
76
80
93
98
104
108
127
128
133
135
141
142
143
150
151
168
173
176
178
190
196
200
201
202
204
211
219
225
226
236
242
251
258
263
270
284
285
292
00:00
BitCartesian coordinate system
00:21
WordCartesian coordinate systemMobile WebAndroid (robot)MappingRevision controloutputCycle (graph theory)Computer animation
00:51
WindowoutputRevision controlComputing platformEmailComputer animation
01:31
Connected spaceDifferent (Kate Ryan album)Orientation (vector space)Meeting/InterviewComputer animation
02:03
CASE <Informatik>DatabaseGame controllerMultiplication signSynchronizationConnected spaceProduct (business)Point cloudDigital rights managementOffice suiteCore dumpAdditionBuildingBitPoint (geometry)Electronic mailing listRevision controlComputer animation
03:47
PasswordTerm (mathematics)LoginStack (abstract data type)Software testingSelf-organizationUser profileDemo (music)Google ChromeGroup actionSuccessive over-relaxationDemonExpert systemWorkloadEmailDefault (computer science)Computer fileGEDCOMMathematicsCodeGoogolCollaborationismArray data structureView (database)Raster graphicsProcess (computing)Polygon meshDatabaseData typeVolumenvisualisierungRotationScale (map)Coordinate systemPoint cloudSource codeLocal ringData storage deviceSynchronizationMaß <Mathematik>ReliefMetadataServer (computing)Web browserDynamic random-access memoryBookmark (World Wide Web)Digital rights managementProjective planeText editorCASE <Informatik>Form (programming)Set (mathematics)Revision controlSelf-organizationMoment (mathematics)Right angleDifferent (Kate Ryan album)Video gameArrow of timeSynchronizationStructural loadMathematicsDirection (geometry)Total S.A.Point cloudGeometryMereologySource codeDefault (computer science)Medical imagingStandard deviationLevel (video gaming)Web pageLoginUser interfaceContext awarenessGoodness of fitElectronic mailing listComputer fileMultiplication signSystem administratorCollaborationismTraffic reportingGroup actionTouch typingProfil (magazine)PlanningField (computer science)Real numberInformationIterationMenu (computing)DatabaseProcess (computing)Social classPlug-in (computing)TesselationArray data structureComputer animationXML
12:28
VolumenvisualisierungRotationServer (computing)Bookmark (World Wide Web)Process (computing)Polygon meshDatabaseView (database)Raster graphicsArray data structureComputer-generated imagerySoftware maintenanceWeb browserData typeCoordinate systemCASE <Informatik>Projective planePoint cloudComputer animation
13:18
VolumenvisualisierungDatabaseArray data structureView (database)Raster graphicsProcess (computing)Polygon meshData conversionSoftware as a serviceSoftware maintenanceLocal ringFile formatSynchronizationType theoryDirectory serviceComputer-generated imageryScale (map)Data typeProjective planePoint cloudMoment (mathematics)Group actionComputer animation
13:39
DatabaseArray data structureView (database)Polygon meshRaster graphicsComputer-generated imageryLocal ringPoint cloudSynchronizationComputer fileGroup actionSource codeVolumenvisualisierungRotationSoftware maintenanceData storage deviceDemo (music)Field (computer science)Archaeological field surveyDiameterInternetworkingBand matrixMathematicsMathematicsElectronic mailing listMobile WebOpen setPoint cloudAttribute grammarArithmetic meanProjective planeServer (computing)Web 2.0TrailCASE <Informatik>Network topologyField (computer science)Computer animationXMLUMLJSON
15:06
Computer fileMobile WebTerm (mathematics)Insertion lossAttribute grammarSoftware maintenanceLogic gateTorusDiameterGeometryGroup actionWeb 2.0Projective planeMathematicsAttribute grammarNetwork topologyPoint cloudBuildingRow (database)Software maintenanceComputer animation
16:15
Type theoryComputer fileData typeProcess (computing)Matrix (mathematics)Local ringPoint cloudSynchronizationCoordinate systemSoftware maintenanceGroup actionSource codeData storage deviceComputer-generated imageryDatabaseView (database)Raster graphicsArray data structurePolygon meshVolumenvisualisierungRotationReliefServer (computing)Demo (music)Software testingWeb browserNetwork topologyProcess (computing)Set (mathematics)Web 2.0Field (computer science)Revision controlAttribute grammarOffice suiteCycle (graph theory)Computer animation
17:03
Band matrixInternetworkingSynchronizationMathematicsPoint cloudLocal ringTerm (mathematics)Computer fileRevision controlHeat transferWeb pageSelf-organizationNumberField (computer science)Revision controlMathematicsFunction (mathematics)XMLComputer animation
17:27
Attribute grammarDiameterState of matterTerm (mathematics)Patch (Unix)Revision controlDigital rights managementRevision controlNetwork topologyDiameterMoment (mathematics)Computer animation
18:16
Term (mathematics)MathematicsComputer fileGoogle ChromeMathematicsSet (mathematics)Network topologyRevision controlComputer animation
18:34
View (database)DatabaseRaster graphicsArray data structureProcess (computing)Polygon meshInflection pointComputer-generated imagerySoftware maintenanceData typeDigital filterComputer fileRevision controlData recoveryVolumenvisualisierungRotationTerm (mathematics)MathematicsField (computer science)Patch (Unix)Group actionAttribute grammarDiameterMusical ensembleRevision controlField (computer science)MathematicsWindowScheduling (computing)Computer animationXML
19:02
Term (mathematics)Computer iconComputer fileConfiguration spaceVariable (mathematics)Integrated development environmentInheritance (object-oriented programming)Data typeGroup actionText editorService (economics)Content (media)DatabasePasswordNP-hardBitPresentation of a groupComputer filePoint cloudDatabaseINTEGRALMathematicsDigital rights managementService (economics)GeometryCASE <Informatik>XMLProgram flowchart
19:50
Open sourceOnline helpInstance (computer science)Variable (mathematics)Point cloudService (economics)Beta functionSource codeProjective planeComputer animation
20:27
Information privacyRevision control
20:49
Pairwise comparisonDigital rights managementNewsletterData storage deviceCollaborationismBeta functionSelf-organizationFreewareControl flowField (computer science)Data storage deviceSelf-organizationMultitier architectureLevel (video gaming)Flow separationComputer animation
21:25
Physical systemRevision controlMereologyAreaWeb 2.0
21:54
Scripting languageMoving averageWeightRevision controlProjective planeOpen sourceComputer animation
22:13
Multiplication signComputer animation
Transcript: English(auto-generated)
00:02
Cool. Hi everybody. Yes, so the idea today is to show a little bit what Qfield can do for you and why it is an amazing tool together with Qfield obviously. I'll assume that most of you already know Qfield. If you do not, it's an application that has taken over the world basically.
00:25
It's a lot of people using it out there. We have currently only on Android 560,000 downloads, we have monthly usage of about 100,000 people
00:40
and we are currently at version 2.2 of the release site. Qfield is a mobile mapping application which runs on Windows, on iOS. It's currently in, no let's say better, until yesterday in TestFlight and since this morning
01:05
I got the mail from this fruit company that we are allowed to push the button and release it. That's going to happen with version 2.3 but I'm not allowed to tell you yet, just keep it in the room.
01:23
If you want to get Qfield, you just go to Qfield.org slash get and it will redirect you to whichever platform you're on. The idea of Qfield has always been to be able to work for you as an online tool but as well as an offline tool because data are in different places so you want to be
01:48
able to capture those wherever your data is. You don't want to just miss some data because you have no connectivity or you don't want to be super slow just because you are purely offline oriented.
02:02
So there was a thought from the very beginning of building the tool when I started it back in 2011, it was always the idea that eventually it will turn into this thing that just works all the time, that you can all the time be digitising data and I'm really happy
02:23
that we are there now, so that's a really cool thing. And to get there we had to build Qfield cloud because what we did before was basically with Qfield you connect to a post list database and you'll have your live connection, everybody's happy, you're digitising, you put your points, they get into some quarantine
02:44
database that you want to have a bit of control over, you do your quality assurance and you move things over to your production database. Work fantastically as long as you have connectivity. The other use case was well you do a dump of your Postgres database and it works all
03:01
the time, you can go underground, you can do whatever you want, whenever you want, but then you'll have to go home, to go back to the office, synchronise data back and blah blah blah, semi cool. And that's where the idea of Qfield cloud was born, basically I'm saying okay good,
03:22
how do we make people work as if they were offline but actually being online so that they can just keep on working, that's where Qfield cloud comes in. On top of it, obviously we focused a lot on additional things like teams, like roles, conflicts management and all that that came together with the possibility of having
03:43
a centralised place where you can actually manage all those things. And today I'm just basically going to go through a use case and show you how it looks like.
04:02
First of all, obviously we have a login and then you get in and you see all your projects you're working on, if somebody is not used to how Qfield works, it's basically a QGIS with a simplified user interface that's made for mobile devices, but in the background it's a full blown QGIS, that means we can deal with any data sets
04:24
that QGIS has and it works with QGIS projects, which means that you do your styling on QGIS, upload it to the cloud, it gets pushed out to the devices and they look as beautiful as they look in QGIS, your forms are already configured as you configure them,
04:42
there's a lot of time of work to be saved there. When you get in here, you get all your projects you have, the organisations you're a member of, kind of your profile, user name, standard things of a cloud thing.
05:02
As soon as you go into an organisation, there we have the possibility to have teams, so within an organisation itself you'll have teams that have members and the members can have different roles within the organisation, they can be just a plain member or they can be an administrator,
05:23
that's the first level of role, which is not very interesting yet because it's just part of how you manage the Qfield cloud kind of thing. The interesting part is really more when we get into the projects and here we can see in the overview of a project, we have two people involved,
05:44
the project has a total of five files, there were already three iterations over it, so we get kind of a rough idea already of what this project is all about, and as soon as we start clicking deeper, we'll get all the information about it.
06:01
When I go to the files tab, that is where I can see actually versioning of my data, so I can see any data that is part of my work can be versioned, so I have a geo package that is versioned, I have a QGIS project that is versioned,
06:23
down at the bottom you'll see some images that are versioned as well, and it's not that everything is the same version, they're really only the real version that that file has, so if the geo package changes it's going to get a new version, but the QGIS project is not going to get a new version,
06:43
so this kind of gives you the possibility also in case you mess up with your data, to really just go back in time, recover, you click on the little blue button and you got all your data back in the status of September, oh wow that's a good coincidence Marco, September 11, 21,
07:04
so really really easy way just to go back. Furthermore, when you click on a file change log, you'll get to see what actually happened, so here just a listing of whenever the changes were,
07:22
and yeah it doesn't right click, gives me a context menu, but it has a back so it's all right, it's okay no worry, so I can go all the changes to the changes step,
07:41
I'll see all the changes that happen on the project, and I'll get into detail later on, and then I can go to the collaborator, and here I can see that my project has three collaborators in this case, two are groups and one is the user, so I can really mix and match, say well my Florence East team has reading only permissions,
08:05
my Florence West team has reporter permissions, and here we have five levels of granularity, we go from read only, where you can obviously do nothing but looking at the data, via reporter which is someone that can bring back data,
08:23
but cannot touch somebody else's data, so it's just giving us new data, it's the classical way when you say well open it up to somebody, and just give us back data, we look at it and see what we do with that, and then we can go further to, there is an editor level where you can start also editing your things,
08:42
there is a manager level where you can edit also the QGIS project, and then you have the administrator right which can do basically anything, so that's the kind of granularity that we have here at the cloud, the good thing of solving permissions issues here, is that you're not just as if you were doing it in PostGIS,
09:03
waiting for the people to do something and then tell them, oh no you're not allowed to do that, because if you just give only read permission on the PostGIS database, they can still edit and then push, and at that moment it goes like sorry no not for you, here we actually can guide the user interface of Qfield
09:22
to not allow for editing if you are in a read-only project. The next step we have jobs, we see exactly actually what's happening, or what has happened in the past in a project, we can see well at the very beginning we processed a QGIS file,
09:42
that's when we uploaded the project, we looked at the project and we created a project out of it, then we had an export and a new version of the project, so we can really go back and see what has actually happened to our work during the whole life. Then we have the classic delta applies
10:00
when something comes back from someone in the field, so it's really applying the difference to the dataset. And then finally some settings where you can rename your project, you can make it public and one little thing that we have
10:21
is that you can say you always override conflicts, if you want you can check that and basically the newest version always wins, if you want that you can turn it on, if you do not want that it will get you to the conflict management kind of page that I'll show you later.
10:41
So the project is uploaded, people have been using it, someone else wants to start using it in QGIS, goes with the qfield sync plugin, downloads the existing project, all the data is downloaded, the project is here, gets opened and then I can go and change things.
11:04
And as soon as I change the project, I change the data, I can synchronise back them up to the cloud and here you see that in this little dialogue we have a yellow arrow which is saying there were changes, they get pushed to the cloud.
11:23
I can also say well no, actually I want to pull again the latest version because I did some mess-up here locally, so I can override that, there is no issues, just a matter of you choosing which direction of one thing to happen.
11:40
So we can, and that's something that we can do also without Qfield cloud, but in Qfield itself you can say what to do with each layer. You can say for example that our WMS should be accessed directly, because you don't want to have to dump the WMS background map,
12:02
so you can just choose, you say well directly access it from the data source and Qfield is just happily going to get the WMS styles for you directly without any load on your infrastructure, just going to pull from wherever they need to be pulled. Then we can put offline editing
12:21
which is the default thing for vectors, which is the interesting one that we'll do offline and pull it back. And then we can go, no sorry, yeah that's about it, we can push it up and that's it. If we don't have a project up there yet, it's a different project,
12:41
so the use case more where you start a new project, you already have your QGIS project, we can just start a wizard, which is a create new project wizard, basically it takes the currently open project and it converts it to a cloud project, that being we do not want to mess with your project,
13:01
with your original project, so it makes a copy of it, it will edit whatever needs to be edited, but your original project just stays happily wherever it was and nothing gets touched. Here I say how is it going to be called, where is it going to be stored, push it up and all is good.
13:23
The new project that was edited for the cloud gets opened automatically for you and from that moment you are into this new project that is for cloud, I can go and configure all my layers, the action that I want to go as I did before,
13:40
and then I can, if I did some more changes, push my changes again. Obviously the same thing, something will happen on the device side and this is where with Qfield, I'll open up, I'll log in as well, I'll open up the list of projects,
14:01
I'll have some projects that are here, say, available on the cloud and missing locally, means I haven't pulled them yet, I'll say my gardening project, I want to download it, so it's available locally and it gets opened. You see, same symbology, same layer trees, same everything on mobile and that's one of the great things
14:20
about the QGIS ecosystem, you get the same with the server as well, so it's really cool ecosystem to be working in, you can go from Qfield to QGIS, to QGIS server and publishing, same styling and that's a pretty amazing thing. We edit an attribute in the field, which is what we want to do eventually,
14:42
and we see up here that we have tracking on how many changes we did, in this case we have just one change, and as soon as we are happy, we say, yeah, I want to push that, we can just push the changes, they get pushed to the web and Qfield is happy, I have no changes left to push,
15:01
all good, keep on working, do something, go back on the web, so that I can have a look at what actually happened on the web, and here we see that suddenly my gardening project has one change. I can go and check this change
15:21
and we actually see that I changed that one of my trees in the garden went to false from true to needs maintenance, very simple, just an example, but here basically what I did is I looked at the tree, it's way too big, clicked it and say, yeah, this tree does need maintenance, and here you can see just a simple,
15:44
like a resume of what's changed, or we can see the complete status of the attributes, so all the attributes that didn't change, and even more, we can see also if you are building something on top of Qfield Cloud, because Qfield Cloud is completely API you can see the raw JSON of the change,
16:03
so this is what you would be getting if you were interacting via API to Qfield Cloud. If you are building something on top of it, that's what you're getting out of it. If I go to the jobs, I can see that there is a delta apply
16:21
and that it finished, no issue there. I go to the dataset, there is a new version available, and if I go back to the office, I can pull that new version as well, so I've completed the cycle of the data from the field to the web to the office
16:42
without having actually to have the person on the field having to move back to the office. Pull the data, I have my attributes updated, and then I notice, well, no, that was actually wrong, I go back on the web, get another version of the data,
17:02
put it in QGIS and push it up again. In the field meantime, the gardener is doing something else, it's pushing conflict, and that's where we get to changes that are not applied. I didn't have the little check override conflicts
17:21
because I want to manually have a look at what the conflicts are, so you see it was turned off, and here you can see that we have a conflict there, where the diameter of the tree is. From here I can say, well, apply this, ignore it, skip it,
17:41
so I can really say, well, ignore completely things, or take the latest version, take the version before. We think that automated conflict management is a very tricky thing, and that's why we make it that you have to go and put a tick,
18:02
if you really want to automatically just take the latest version. If not, that's exactly the moment where a person that understands what he's doing should be intervening, because conflicts are conflicts and need to be solved, and ideally they are solved by somebody compatible. I decided that my gardener had no idea
18:21
about how big the tree is, and that I was much better in estimating the diameter, and so I ignored his change, and we just happily go on with a new version of the dataset, with ignore changes by the gardener, and that's all good. If then, anyway, I'd say,
18:41
okay, but maybe let's go and have a look at what it was before, I can still go back and recover all the versions. Field conflict, that's the window that I didn't show before, so where I can say either schedule to apply or overwrite,
19:01
or ignore permanently the change. Newer thing we added, we can do secrets management, which means if you need to have a PG service file, you can put it as a secret in there. Q4Cloud will use it to connect to your database,
19:24
and we always saw the geopackage way, because it's easy to show versioning, but those geopackages that get generated could also be the data being pushed back to PostGIS, it's just a bit hard, it's not as easy to understand in presentation,
19:41
so here it would be used to just push your data back to your integration database, for example. You can just set it up easily, and the other thing, you can also set environmental variables there, so it's not only for a PG service, it's also if you need some variables to be set,
20:00
you can set them in the secret there, to get encrypted and you're good to go. Q4Cloud, we do offer an hosted instance at qfield.cloud, which is currently in public beta, but it can be deployed in your own cloud obviously, it's an open source project,
20:21
so you can either take it yourself or you can come to us and we'll help you roll it out on your infrastructure. The version that we host, it's in Switzerland, so it's in a pretty secure place, and with pretty strict privacy law,
20:41
and Switzerland has a lot of hydroelectric electricity, so it's pretty sustainable as well. Pricing is just going to be a community tier, which limited storage, then a bigger tier for a pro user, and then the one we see for teams,
21:03
where we invoice per user per month, but only active users, which means your company might have 20 users, but if only three go out on the field during a month, only those three get invoiced. That is why we separate storage costs from user costs in the organization level,
21:21
so that you get a fair usage kind of thing. What's next? One of the first things that we'd like to add is geofencing, so that you're not only giving a role to a person, but you're also giving an area to a person, so that they can just go to, if they are part of team Florence West,
21:40
they just go to Florence West, and then eventually also publishing, like one click publish this version kind of thing, and you have your web GIS system to publish your data at a certain version. As I said before, it's a customizable tool, it's under MIT license,
22:00
so you can take it, do what you want with it, and if you can contribute back, because that's how open source project work, if you do not contribute back, it's a lot of weight on one company to carry. If you have any questions, I guess my time is over anyway, please.