We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

QField for QGIS

00:00

Formal Metadata

Title
QField for QGIS
Title of Series
Number of Parts
69
Author
License
CC Attribution - ShareAlike 3.0 Germany:
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 and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
QField ist die native Benutzerschnittstelle für mobile touch Geräte und bietet eine vollwertige mobile GIS Daten Verwaltungsinfrastruktur. Das Synchronisationtool ermöglicht einen nahtlose Datenaustausch zwischen dem mobilen Gerät und der vorhandenen Infrastruktur. Die Ergänzung der QGIS Suite mit einer native touch User Interface bietet den Anwendern eine vollwertige mobile GIS Daten Verwaltungsinfrastruktur. Die Ubiquität von mobilen Geräten aller Grössen ist in den letzten Jahren enorm gestiegen, auf dem stetig wachsenden Markt, kommen folglich immer mehr mobile Geräte in der Arbeitswelt zum Einsatz. Die Ubiquität von mobilen Geräten aller Grössen ist in den letzten Jahren enorm gestiegen. Mit weltweit mehr als 2 Milliarden verkauften Mobile Geräten bis 2014 [0] und einem stetig wachsenden Markt kommen folglich auch immer mehr solcher Geräte in der Arbeitswelt zum Einsatz. Intuitive Bedienung, erhöte Handlichkeit, integriertes GPS und (relativ) geringe Anschaffungskosten machen heute den Kauf mobiler Geräte schmackhafter und einfacher den je. Dank seiner Multi-plattform Natur (Win, Mac, Linux und Android) und seinen breiten Features-Set (Desktop, Server, Web-Client), ist QGIS eine der verbreitesten Open-Source GIS Softwaren und wird bereits von vielen Institutionen benutzt. Die Ergänzung der QGIS Suite mit einer native touch User Interface bietet den Anwendern eine vollwertige mobile GIS Daten Verwaltungsinfrastruktur. Durch die Erfahrungen bei der Entwicklung von QGIS für Android haben wir bei OPENGIS.ch herausgefunden was für eine mobile Anwendung notwendig ist und funktioniert. Vor allem haben wir Erkenntisse darüber gewonnen was absolut zu vermeiden ist: Komplexität, kleine UI Elemente und Projektdefinitionsarbeit auf mobilen Geräten. Dank vordefinierter Modi (Datenerhebung, Datenprüfung, Vermessungen, etc.) und klaren Bedienungselementen können sich somit die Anwender in jeder Situation auf ihre Aufgaben konzentrieren. Um den Arbeitsablauf noch weiter zu vereinfachen haben wir ein neues offline Synchronisationtool entwickelt. Dieses ermöglicht einen nahtlose Datenaustausch zwischen dem mobilen Gerät und der vorhandenen Infrastruktur.
Message sequence chartAndroid (robot)Thomas KuhnWEBAndroid <Systemplattform>Patch (Unix)CBMStylus (computing)Zoom lensData modelFunction (mathematics)User interfaceSmartphoneHTTP cookieVolumeAndroid (robot)Smart cardVideodatDesktop <Programm>Computer animation
Uniform resource nameMASUser interfaceMenu (computing)Maxima and minimaMoving averageTOUR <Programm>World Wide WebHidden Markov modelRegulärer Ausdruck <Textverarbeitung>Greatest elementCMSSmart cardRow (database)MassHTTP cookieObject (grammar)Similarity (geometry)Android (robot)User interface
CMSGreatest elementSynchronizationSynchronizationDigitizingKubuntu <Programm>HTTP cookieLink (knot theory)Grand Unified TheoryScientific modellingWordData typeLösung <Mathematik>Desktop <Programm>OpenGLFile viewerPlug-in (computing)Ubuntu <Programm>WINDOWS <Programm>Processing <Programmiersprache>Android (robot)Computer animation
Computer animation
Finite state transducerDrum memoryComputer animation
Engineering drawing
Maxima and minimaProgram flowchartComputer animation
OpenGLEngineering drawingComputer animation
Menu (computing)XMLComputer animation
Hidden Markov modelWorld Wide WebNumberArtificial neural networkRow (database)Computer animation
Information managementWorld Wide WebMaxima and minimaOMTRAW-FormatArtificial neural networkUniformer RaumMoving averageLinieSource code
MultithreadingLocal ringComputer animation
World Wide WebMaxima and minima
DemosceneVersion <Informatik>EmailInternetLink (knot theory)CASSoftware testingSoftware developerMobile appBeta functionSoftware bugNormaleWeb pageComputer animation
DatabaseFirewall (computing)File formatCodeDatabaseGrand Unified TheoryCore dumpSQLitePlug-in (computing)Lösung <Mathematik>User interfaceLecture/Conference
Computer animation
Transcript: German(auto-generated)
Gut, Q-Field. Also Q-Field ist eine neue Android-App momentan, die sich vor allem an Leute wendet,
die was außerhalb machen möchten mit Kugis. Also, verstehen wir mal zuerst, OpenGIS von sind ich und Matthias Kuhn. Ich kenne den Kugis-Welt vor allem wegen Kugis und Android. Matthias Kuhn
ist im Kugis-Welt eher als Core-Committer bekannt. Habt ihr schon vorher gesehen, sein Name war aufgelistet in die Neuheit. Das arbeitet auch recht viel. Wir beide arbeiten C++, Python, Web, Kugis, Android. Also ein bisschen alles, was man in dem Bereich machen kann.
Warum überhaupt habe ich vor drei Jahren mit Kugis auf Android angefangen? Weil damals hat es angefangen mit vielen mobilen Geräten. Hat man viele Geräte gesehen, hat man gedacht, irgendwas kommt mit dem Android. Und deswegen habe ich damals noch als Student bei der Firma
SourcePool mit, also die waren meine Tutors, Mark, Hugen, Tobler und Firmin, haben wir angefangen Kugis eins zu eins auf Android zu portieren. Es war gut, es war eine sehr
lehrreiche Erfahrung. Halb traurig ab und zu auch, aber es hat am Schluss relativ gut funktioniert. Einfach, es war nie perfekt, es war immer okay. Man war immer konfrontiert
mit dem Problem, dass wenn man draussen ist, kann man nicht auf so kleine Icons klicken, man kann nicht auf 15 Buttons klicken, um etwas zu erreichen. Es muss schnell, es muss einfach gehen, es muss eine spezifische User Interface geben und GPS muss ganz wichtig
sein. Also deswegen haben wir gedacht, gut, wir machen jetzt etwas Neues, der auf die Kugis-Libraries basiert, aber völlig auf Feldarbeit optimiert ist. Wir haben angeschaut, was wir gelernt haben vom Kugis an Android. Das es immer noch gibt übrigens,
das ist die eins zu eins Portierung, was ihr im Desktop habt, könnt ihr auch auf dem Android Tablet, auch Smartphone, aber den funktioniert wirklich suboptimal. Oder eben mit Qfield haben wir das Ganze angeschaut und gesagt, okay, was brauchen wir? Wir brauchen etwas, wo die Projekte am Desktop gemacht werden können, weil das grosse Arbeit wollen
wir nicht im Feld machen, wir wollen es im Büro machen, bevor wir rausgehen. Wir wollen, dass es GPS zentral ist, wir wollen, dass es absolut offline fähig ist, wir möchten Synchronisierungsfunktionen haben, wir wollen wenige und grosse Buttons
und einen Paradigma nützen, den in verschiedene Modi funktioniert. Also wir wollen rausgehen und sagen, okay, jetzt bin ich nur am Daten anschauen und ich will nur Daten anschauen, ich will nur relevante Sachen für Daten anschauen, ich will Daten bearbeiten,
ich will Daten digitalisieren und dann schalte ich den Modus und bekomme ich die Tools, die ich für diesen Modus benutze. Dazu kommen gewisse Tools, die immer vorhanden sind, eben Pan, Zoom, das kennt man, das übliche, wie man Karten umgeht, Identify, man kann
immer auf eine Feature klicken und sehen, was es dort ist. GPS ist immer hier, eine Scalebar und ein Kreuzchen in der Mitte, um Snapping zu vereinfachen. Das erkläre ich nachher. Das ist, wie so Sachen entstehen, man sitzt, man nimmt eine Pizza,
wie man es vom Kugis Hackfest kennt, und dann fängt man an, Sachen zu zeichnen und reduziert man auf das Wesentliche, bis man schlussendlich auf die Grundregeln für
unsere User Interfaces gekommen sind und die basierend auf paar Sachen, die ich schon erklärt habe. Hauptsächlich reduziert, reduziert, reduziert. So sieht es aus,
zum Beispiel, wenn man einem neuen Projekt öffnen möchte. Ihr seht, wir haben zwei Buttons. Einer versteckt die Settings, also der obere Button versteckt dieses Menü, der ein bisschen wachsen kann. Der untere Button schaltet ein und schaltet aus dem GPS.
Wenn man weiter geht, bekommt man verschiedene Projekte, die auf dem Gerät gespeichert sind und da kann man sie auswählen und werden die geladen. Ihr seht, sehr grosse Tasten, sehr einfach zu bedienen. Nur zur Vergleich, mal was ich damals im Kugis
für Android gemacht habe. Ihr seht ziemlich schnell der Unterschied zwischen diesem Interface und diesem Interface. Ich sage nicht, das ist schlecht, ich habe es ja gemacht. Ich sage nur, dass es einen, es war nötig da durchzugehen. Qfield nützt
sehr viel Arbeit, das für Kugis für Android gemacht worden ist und Kugis für Android nützt Sachen, die für Qfield gemacht werden, so wie auch Kugis selber auch schon Sachen von Kugis, von Qfield beinhaltet. Zum Beispiel, wir haben Qfield auf Qt5 geschrieben und
schon ein paar Sachen im Master Qgis reingetan, dass es vereinfacht das Bild mit Qt5. Ja, das habe ich gezeigt, eine ganz reduzierte User Interface. Wenn man dann
irgendwo auf die Karte klickt, wählt man verschiedene Objekte aus. Da haben wir extra eine Lösung gesucht, wo man nicht unbedingt auf einen Objekt klicken muss. Man hat sehr oft
verschiedene Layer übereinander, wo verschiedene Features nebeneinander sind und wir haben alle relativ grosse Finger und auch mit dem Stylus. Man hat die Präzision nicht, die man mit einem Mouse hat, deswegen haben wir eine Lösung gesucht, wo wir einfach alle Sachen, die mehr oder
weniger berührt worden sind, ausgewählt werden und dann kann man aus der Seite bekommen eine Liste, verschiedene Layer, da ist ein Layer Gebäude, ein Layer Liegenschaften und da wird dann gezeigt, was überhaupt highlightet ist. Zur Vergleich nochmal, Kugis selber hat auch eine
ähnliche Funktion. In Kugis Desktop sieht es sehr schön aus, In Kugis für Android wegen Platzmangel nicht so ideal funktioniert. Wenn man dann sagt, ok gut, schön, jetzt habe
ich 15 Features ausgewählt, weil ich so präzise klicken konnte, aber ich möchte doch die einzelnen Features ansehen, da sieht man jetzt wegen der Farbe ein bisschen schlechter, aber oben gibt es eine Pfeile nach rechts, eine Pfeile nach links, da kann man durch diese Features scrollen und man bekommt die Attributtabelle pro Element. Links haben wir immer noch die
Mappe und es wird rot eingefärbt, was wir momentan auf die rechte Seite betrachten und
mit diesem noch nicht definitiven Button, der zweite von links, da diesen GPS ähnlichen Button eigentlich kann man sagen, ob ich das Ganze verfolgen möchte, ob ich will, dass die Karte sich bewegt, während ich die Features rechts bewege oder möchte ich, dass die Karte einfach
bleibt, denn ich habe gesagt, GPS ist ganz wichtig, ich verrate jetzt, wenn ich diese Präsentation fertig gemacht habe, ich war auf dem Zug heute, etwa vor Mainz, GPS können
wir ein ausschalten und wir können die Karten auf den GPS zentrieren, wir können momentan noch nicht digitalisieren, wir sind noch nicht so weit, aber ja, das ist mal schon ein guter Schritt. Die drei technische Slides, wie ich gesagt habe, Qt 5 mit QML und Qt Quick 2,
das sind alle Technologien, die von Ligia empfohlen werden, supported werden, auch für Android
sind eher zukunftsorientiert, wir haben gesagt, wir könnten jetzt weitermachen mit QWidgets, Qt 4, aber es macht keinen Sinn, wir können somit, wie gesagt, QGIS helfen, einfacher
bereit zu sein für Qt 5 und zusätzlich eben mit QML und Qt Quick 2 haben wir uns einfach den Leben eher vereinfacht. Qt Quick Controls sind wie vorgegebene Kontrollen,
die man nutzen kann, eine Library, ein Controller, dann haben wir einen QWidget haben wir immer noch, QWidget ist eher so der Qt 4-Welt und wie ich schon vorher erwähnt habe, es gibt eine Zwischenarbeit zwischen QGIS für Android und Qfield, die ganzen Libraries bilden,
wir müssen natürlich GDAL, OGR, Spatialite, alle die schöne Dependenzen, die ihr dank Jürgen auf Windows kriegt, in einen klickt oder dank Ubuntu mit einem Line bekommt, bei uns
muss alles noch kompiliert werden für ARM und dann installiert werden. QML ist sowas wie HTML, kann man sich so im Waage vorstellen, es zeigt nicht, wen das passiert, den macht
es, sondern es ist wirklich eine deklarative Approach, also man sagt, diese View, diese View, diese View und verbindet Sachen zusammen, wenn irgendwas hier passiert, können jetzt verschiedene Sachen reagieren, zum Beispiel bei Feature Identifications haben
wir ein Modell, wo alle Features drin sind, wenn das Modell sich verändert, dann werden alle Views refreshed, also ich habe verschiedene Views und wenn der Modell sich ändert, alles wird automatisch verändert und ich muss nicht alles nochmal nachgucken. Qt
ist, dass es nicht QPainters benützt, also macht nicht Raster von alles, d.h. nützt
nicht immer die CPU und das ist ganz wichtig bei mobile Geräten, weil es extrem viel batterielastig ist. Wir nützen QWidgets, die auf einen Scene Graph, also OpenGL arbeiten, d.h. geht auf die Graphic Processing Unit, ist viel batteriesparender und viel
dynamisch, also reagiert besser, also ist viel schneller Interface. Wie ich vorhin gesagt habe, Qt nutzt aber immer noch an einem Ort einen QPainter und das ist
für den MapCamps. Wir behandeln das Ganze in OpenGL und machen schlussendlich einen Aufruf an QGis, bitte macht doch die Karte und QGis gibt die Karte zurück und wir renden die Karte via OpenGL Raster. Wir werden immer mehr im OpenGL arbeiten, haben
schon angefangen, alle die I-Lights, die sind direkt OpenGL Elementen, also alles selektorieren. Die Problemen, die wir immer wieder haben, mit denen ich seit jetzt drei Jahren kämpfe, ARM ist nicht x86, also dort gibt es verschiedene Probleme mit Datentypen,
vor allem bei Nummern, bei Float, libc ist ein bisschen kleiner in Android, also wir haben nicht alles zur Verfügung, was sonst wir so gewöhnt sind und bei OpenGL for Embedded Systems haben
wir auch einen kleineren Subset an Sachen. Was wir zurzeit haben, Projekte werden auf den Desktop vorbereitet, werden auf den Android Gerät rüber kopiert und können
dann benutzt werden. Wir haben eine ganz simple Interface, wie wir wollten. Wir haben GPS jetzt, was wir als nächstes machen möchten, sind verschiedene Modi, also das Digitalisieren ist sicher unser erstes Ziel, danach wahrscheinlich Synchronisierung
und Offline zusammen. Wir denken, sehr wahrscheinlich mit einem Python Plugin zu arbeiten, um die Synchronisierung von Projekten zu vereinfachen. Ich habe jetzt ganz viel gesprochen, ich möchte eigentlich schauen, ob das Ganze hier funktioniert mit dem Video.
Ersten Start an einem Projektladen, das ist jetzt ein relativ grosses Projekt mit
WMS-Intergrund und einem 120-130 MB Special Light Datenbank, das ist Stadt Uster, wo Andreas Neumann arbeitet.
Das ist hier ein Staatsgetaster, man sieht ganz gut, wie meine Internetverbindung schlecht war. Den WMS kommt immer zu spät, aber dank Multi-Trading Rendering ist es kein Problem, weil wir einfach schon weiter arbeiten können und schon verschiedene Features auswählen,
verschiedene Elemente anschauen, hier und her scrollen, obwohl eigentlich den WMS immer noch am Arbeiten ist. Editieren, ganz einfach auswählen, also zuerst mal oben den
Editiermodus einschalten, auswählen, was man editieren möchte, wird gespeichert und er sieht, dank dem wir mit OpenGL arbeiten, bleibt das Ganze relativ dynamisch. Den Hauptvorteil,
wir haben über einen reinen Cue-Painter-Lösung ist es einfach, wir haben nur einen Hintergrundbild, der von Kugis gerendert muss werden und den Rest wird einfach im OpenGL-Welt
gelöst und das ist viel viel schneller. Wir könnten sogar das Ganze optimieren und einmal ein grosses Bild an Kugis rendern lassen und das Ganze caching und dann nur mit dem caching Hintergrundbild arbeiten. Hier mal die GPS-Location, da war ich mal
langsam näher, mit einem langen Klick auf den GPS-Button wird die Karte zentriert, kann man ein- und ausschalten momentan, nochmal vom Start. Jetzt geht es um eher
größere Projekte, jetzt sind wir bei 200.000 Punkte, das ist ein Datensatz Swiss Names,
das sind alle Namen der Schweiz, geht einfach darum zu zeigen, dass es eigentlich immer noch funktioniert. Es ist natürlich nicht der Use-Case, wir gehen nicht mit 200.000 Punkte im Feld zu arbeiten, aber es ist immer noch stabil genug, eigentlich braucht
einfach Zeit, aber irgendwann kommen alle die Punkte. Die Linie, das kann ich jetzt beim nächsten Projekt zeigen, grundsätzlich, beim nächsten Projekt habe ich dasselbe
Ich habe noch, also ich habe WMS drin, ich habe lokale Raster, lokale Shapefiles und lokale Special Light und sieht man ganz gut, wie eigentlich das Multitrading uns
hilft und wie schnell das Ganze funktioniert. Das ist WMS, die Punkte sind Special Light, das ist ein lokaler Raster und das sind lokale Shapefiles. Wie bekommen Q-Field momentan,
also wir möchten, nein nicht wir möchten, wir haben Q-Field auf den Play Store, es ist aber nicht öffentlich findbar, weil es bekannt ist, dass die Leute nicht so gut lesen
können. Auf den Play Store findet man eine Q-Field Karma Edition, steht als erste Zeile This is not Q-Field, it's a Donate Edition. Haben wir schon vier, fünf Mails bekommen von Leuten, die reklamiert haben, ist ja extrem teuer, weil es 30 Franken kostet,
aber eigentlich ist es nur eine Donation zum Weiterentwickeln. Steht wirklich als Applikationsbeschreibung und da sind wir wirklich froh, dass wir uns entschieden haben, noch nicht mit einer Alpha-Version in den Play Store zu gehen, weil sonst hätten wir einfach überall nur einstehen, funktionieren nicht statt Bugs und es ist so, es ist
eine Alpha-Version. Wir haben es aber schon auf den Play Store, man muss uns einfach eine E-Mail schreiben, warum ihr Interesse habt, für was würdet ihr das gerne brauchen
und die Play Store E-Mail, die ihr ausschalten möchtet. Warum machen wir das? Vor allem die ersten zwei Fragen, weil wir sehr früh in der Entwicklung noch sehen, wir möchten wissen, was die Leute brauchen. Wir möchten nicht einfach irgendwas entwickeln, das niemand brauchen kann. Wir möchten wirklich sehen, was die Use Cases sind. Es ist eine
kleine Investition auf eurer Seite, für uns ist es extrem wichtig. Play Store E-Mail, wir werden eingeladen in einen Tester Group, bekommt eine E-Mail, müsst akzeptieren, auf einen Link klicken und dann könnt ihr es ganz normal über den Play Store installieren, wie alle anderen Apps. Ja, wie es finanziert wird, das Ganze, wir haben
verschiedene Interessenten gehabt, die schon Features finanziert haben. Wir brauchen natürlich weitere Finanzierung. Ich habe erwähnt, die Q-Field Karma Edition sind
30 Schweizer Schranken, glaube ich mittlerweile 28, 50 Euro, so etwas. Normale Donationen, die ihr auf unserer Webseite machen könnt und am allerliebsten eigentlich wirklich
Entwicklung Zeit. Also, wenn ihr was wirklich braucht und ihr könnt auch dafür zahlen. Also, es ist wie bei QGIS üblich, wenn man was braucht unbedingt, kann man zu den Entwicklern gehen und kann man sich diesen programmieren lassen. Crowdfunding,
haben wir auch schon überlegt, behalten wir noch auf der Seite, für wenn denn mal die App schon eher Beta oder vielleicht mal Version 0.9 ist, wo man wirklich auch verschiedene Leute geben kann. Danke vielmal für die Aufmerksamkeit und falls ihr Fragen habt.
Ja, eine Frage hätte ich bezüglich Datenzugriff. Welche Daten, in welchen Formaten kann ich tatsächlich zugreifen, bzw. speziell bei Office-Daten, die ich jetzt inhouse habe und die,
das weiß ich, hinter einer Firewall oder sonst wo gut versteckt sind, wie kann ich da von draußen darauf zugreifen? Wie kann ich diese benützen? Muss ich die draußen verfügbar machen oder wie funktioniert das? Okay, also, es gibt verschiedene Lösungen. Die einfachste Lösung sieht so aus, USB-Kabel anschließen und wirklich die Daten herüber
kopieren, die man braucht auf dem Tablet, wenn es geht. Wenn es nicht geht, weil es riesen Datenbanken sind, dann kann man sich direkt an die Datenbanken verbinden. Postgres,
wenn irgendwie SQLite über einen Share verfügbar ist, kann man wahrscheinlich auch. Momentan unterstützen wir einfach Shapes, Specialite, Postgres, alles, was GDAL unterstützt.
Grundsätzlich alles, was Kugis lesen kann, kann Kufild auch lesen, weil Kugis ist die Maschine, die hinten Kufild steht. Ihr müsst euch Kufild so vorstellen, einfach nehmt die User Interface von Kugis weg und stellt was Neues drüber. Denn wenn
Firewall im Spiel zielen, da ist einfach die Frage, wie man mit dem Netzwerk arbeiten kann. Aber die einfachste Lösung momentan ist wirklich mit Daten übertragen auf dem Gerät. Was wir sicher als Erste machen möchten, ist mit dem Offline Plugin einen Dump von
einer Postgres Datenbank in eine SQLite machen, den verschieben an die SQLite Datenbank auf den Gerät. Somit sind wir netzwerkunabhängig. Aber wenn man irgendwo draußen ist, wo man gute 3G Verbindungen hat zum Beispiel, dann kann man sich direkt an eine Postgres
Datenbank verbinden. Sagen wir so, rein theoretisch, wenn Kugis das kann, kann
es Kufild auch. Nicht wirklich. Aber den bräuchte man. Der nächste Satz wäre gewesen, wir fokussieren momentan auf Postgres, SQLite und ja.
Ok, vielen Dank soweit. Da draußen warten Leute. Ich glaube, hier findet gleich ein Anwendertreffen statt. Das sollte wahrscheinlich schon angefangen haben. Bist du jetzt noch die nächsten Tage hier anzutreffen und anzuquatschen? Nur heute. Die nächste halbe Stunde. Ich muss wieder zurück. Ja gut, dann wer noch Fragen hat, direkt vor der Tür bitte.