QField for QGIS
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 | 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 | 10.5446/17590 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
Message sequence chartAndroid (robot)Thomas KuhnWEBAndroid <Systemplattform>Patch (Unix)CBMStylus (computing)Zoom lensData modelFunction (mathematics)User interfaceSmartphoneHTTP cookieVolumeAndroid (robot)Smart cardVideodatDesktop <Programm>Computer animation
05:01
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
10:14
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
15:27
Computer animation
15:49
Finite state transducerDrum memoryComputer animation
16:10
Engineering drawing
16:46
Maxima and minimaProgram flowchartComputer animation
17:14
OpenGLEngineering drawingComputer animation
17:38
Menu (computing)XMLComputer animation
18:04
Hidden Markov modelWorld Wide WebNumberArtificial neural networkRow (database)Computer animation
19:00
Information managementWorld Wide WebMaxima and minimaOMTRAW-FormatArtificial neural networkUniformer RaumMoving averageLinieSource code
19:21
MultithreadingLocal ringComputer animation
19:50
World Wide WebMaxima and minima
20:13
DemosceneVersion <Informatik>EmailInternetLink (knot theory)CASSoftware testingSoftware developerMobile appBeta functionSoftware bugNormaleWeb pageComputer animation
23:53
DatabaseFirewall (computing)File formatCodeDatabaseGrand Unified TheoryCore dumpSQLitePlug-in (computing)Lösung <Mathematik>User interfaceLecture/Conference
27:24
Computer animation
Transcript: German(auto-generated)
00:07
Gut, Q-Field. Also Q-Field ist eine neue Android-App momentan, die sich vor allem an Leute wendet,
00:22
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
00:41
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.
01:01
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
01:24
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
01:42
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
02:01
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
02:21
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,
02:41
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
03:06
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
03:25
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,
03:42
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
04:04
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,
04:29
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
04:44
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,
05:04
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.
05:26
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
05:44
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
06:06
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
06:29
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
06:49
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
07:03
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
07:22
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
07:42
ä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
08:01
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
08:33
Mappe und es wird rot eingefärbt, was wir momentan auf die rechte Seite betrachten und
08:43
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
09:04
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
09:26
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,
09:55
das sind alle Technologien, die von Ligia empfohlen werden, supported werden, auch für Android
10:09
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
10:23
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,
10:41
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,
11:05
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
11:22
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
11:40
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
12:01
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
12:33
ist, dass es nicht QPainters benützt, also macht nicht Raster von alles, d.h. nützt
12:42
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
13:11
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
13:23
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
13:45
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,
14:14
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
14:25
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
14:44
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
15:05
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.
15:57
Ersten Start an einem Projektladen, das ist jetzt ein relativ grosses Projekt mit
16:05
WMS-Intergrund und einem 120-130 MB Special Light Datenbank, das ist Stadt Uster, wo Andreas Neumann arbeitet.
16:20
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,
16:48
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
17:05
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,
17:27
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
17:42
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
18:02
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
18:26
größere Projekte, jetzt sind wir bei 200.000 Punkte, das ist ein Datensatz Swiss Names,
18:40
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
19:01
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
19:24
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
19:40
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,
20:24
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
20:41
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,
21:03
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
21:26
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
21:41
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
22:02
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
22:29
verschiedene Interessenten gehabt, die schon Features finanziert haben. Wir brauchen natürlich weitere Finanzierung. Ich habe erwähnt, die Q-Field Karma Edition sind
22:43
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
23:01
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,
23:23
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.
24:07
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,
24:23
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
24:47
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,
25:04
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.
25:21
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
25:41
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
26:03
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
26:21
Datenbank verbinden. Sagen wir so, rein theoretisch, wenn Kugis das kann, kann
26:44
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.
27:05
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.