OPENGIS.
CH
Quantum GIS on Android
Marco Bernasocchi
MSc in Geography with specialisation in GIS UZH Independent programmer Ski and Dive instructor
marco@opengis.ch
OPENGIS.CH
In this talk...
Tell you about QGIS and the people who use it & make it Explain why it is important that projects like QGIS exist QGIS in Natural sciences QGIS on Android Live demo, discussion & questions
Part of this presentation are based on Tim Sutton's QGIS for humanity presentation: http://linfiniti.com/2011/11/zurich-qgis-developer-meeting-summary-november-2011/
OPENGIS.CH
Some history: proprietary GIS
Pay to use model Pay for support model Pay to share model Good software for those who can afford it, no software for those who can't
Cc image : http://en.wikipedia.org/wiki/File:Paul_Wall.jpg
OPENGIS.CH
But, sometimes life is hard...
OPENGIS.CH
...you can barely afford good hardware infrastructure... Let alone the cost of expensive software
OPENGIS.CH
What if there was another way?
OPENGIS.CH
...to build something bigger than ourselves...
OPENGIS.CH
...that many, many DO enjoy...
...hundreds of thousands...
OPENGIS.CH
...all around the world...
OPENGIS.CH
...and many help to build...
- slide courtesy G. Sherman
OPENGIS.CH
To make something awesome like Linux, like LibreOffice, like GIMP... Please welcome: QGIS and the Open Source world
OPENGIS.CH
History of QGIS development
http://pvanb.wordpress.com/2011/01/10/how-qgis-has-grown-over-the-years/
OPENGIS.CH
QGIS development this year
www.youtube.com/watch?v=3D60XJGerDFWI
OPENGIS.CH
Now lets see some use cases...
OPENGIS.CH
Emergency response
OPENGIS.CH
Emergency response
OPENGIS.CH
Animal Tracking
OPENGIS.CH
Animal Tracking
OPENGIS.CH
Filter for Zebra
OPENGIS.CH
Zebra only
OPENGIS.CH
Web map publishing
OPENGIS.CH
Planning
OPENGIS.CH
Marster Thesis in GIS
Visualising multivariate spatio-temporal data Design and evaluation of an open source software environment based on 3D DEMs and multiple linked views
OPENGIS.CH
Globe
OPENGIS.CH
Globe 3D anaglyph
OPENGIS.CH
Globe 3D on a geowall
OPENGIS.CH
Linked Visualisation Framework
OPENGIS.CH
Timeplot Summit
OPENGIS.CH
Timeplot Face
OPENGIS.CH
Helix Summit
OPENGIS.CH
Helix Face
OPENGIS.CH
QGIS Features
PostGIS and SpatiaLite, most vector formats supported by the OGR library, including ESRI shapefiles, MapInfo, SDTS and GML. raster formats supported by the GDAL library*, such as digital elevation models, aerial photography or landsat imagery, GRASS locations and mapsets, online spatial data served as OGC-compliant WMS , WMS-C (Tile cache), WFS and WFS-T Convert other GPS formats to GPX, or down/upload directly to a GPS unit Perform spatial analysis, including: map algebra, terrain analysis, hydrologic modeling, network analysis
OPENGIS.CH
QGIS Features
on-the-fly reprojection print composer overview panel spatial bookmarks identify/select features edit/view/search attributes feature labeling (with data driven labelling as well) vector diagram overlay advanced vector and raster symbology graticule layer map decorations like north arrow, scale bar and copyright label
OPENGIS.CH
QGIS Features
digitizing tools for vector features field and raster calculator Georeferencer plugin Publish your map on the internet using QGIS Server or the "Export to Mapfile" capability (requires UMN MapServer) Adapt QGIS to your needs through the extensible python and C++ plugin architecture.
OPENGIS.CH
Subprojects
QGIS Browser QGIS Server QGIS Client QGIS on Android
OPENGIS.CH
Questions so far?
See you after the break for Why and how go mobile?
OPENGIS.CH
Why go mobile? Because sometimes civilisation is far away...
OPENGIS.CH
Why go mobile?
Work on the terrain Lightweight and portable Automatic georeferencing and bearing Possibility of custom calculations at input time depending on position, bearing, So we can get off our offices :)
OPENGIS.CH
Why to go mobile?
Finally widespread of (almost) adequate hardware at normal prices
Good performance Good battery life Integrated GPS and compass Finger and pen input In near future rugged tablets
Strong development of software It's modern ;)
OPENGIS.CH
How to go mobile? By getting our hands dirty...
OPENGIS.CH
How to go mobile?
Choose a platform
IOS and you'll have little hardware choice Win mobile and you'll be shaking hands with Lucifer soon :) and have almost no devices available Android Many devices, Linuxish, Trendy
Adapt UI to touch
OPENGIS.CH
Strategy
Two different version
First a 1-to-1 port of the FULL desktop application with the same GUI
targeting Tablets (10.1) Started as a Google Summer of Code project
Later, a new application using an ad-hoc minimalistic GUI optimized for smaller screens like smart-phones
Development not started yet
Application installer
OPENGIS.CH
Let's get technical: Technologies
QGIS: Qt (C++) + cmake + external libs (GDAL,
GEOS, Proj4, expat, GSL, Iconv, QWT, sqlite, libpq, open-ssl)
ANDROID: Java + Android ant build system NDK (android native development kit): Java + C++ + JNI + Android ant build system NECESSITAS (Qt-android port): Qt + qmake = BIG complex mess !!!
OPENGIS.CH
Let's get technical: implementation
Necessitas consists of:
The Android port of the Qt libraries Ministro II, the Qt libraries manager for android (a sort of apt) Java android application that takes care of the Java to C++ (via JNI) binding of the UI and libraries dependency management.
OPENGIS.CH
Let's get technical: implementation
QGIS on Android consists of:
The cross compiled dependencies (in form of unversioned .so files) An .so file (shared object) of QGIS (there is no executable binary) and of all the QGIS libs A necessitas based Java application
OPENGIS.CH
Let's get technical: workflow
Cross compilation of dependencies Cross compilation of QGIS linking the croscompiled dependencies Building and enhancing the Java wrapper Packaging Distributing All by scripts and now automatically on the server as well
OPENGIS.CH
Let's get technical: application workflow
Install apk (using the installer) On first run, the assets (svg, translations, ) are extracted to the filesystem (this could be optimized) A service call is issued to Ministro II to deliver the required Qt libs. If the libs are not installed, Ministro asks to download them After all dependencies are load the qgis.so is loaded and its main gets executed
OPENGIS.CH
Current limitations
No GPS nor compass reading yet No right click gesture Shapefiles bug preventing use of shapefiles with strings in dbf Some dialogs are too big No SSL Debug version with no armV7 optimization
OPENGIS.CH
Bug Tracker
OPENGIS.CH
Current features
OPENGIS.CH
Use cases: on terrain digitizing
Central DB (Postgress) Save to spatiallite locally Go on the field and get your hands dirty Back in the office, sync it back to the Postgress DB
OPENGIS.CH
Multiple users on terrain digitizing
As soon as Android QGIS will support Python plugins
OPENGIS.CH
Next Plans
Implement GPS Fix Shape files bug Implement Right click gesture (long click)
OPENGIS.CH
Future Plans
Implement Compass Add ssl Optimize build for arm-v7a Fix all bugs at
http://hub.qgis.org/projects/android-qgis/issues
Add Python support Create a new UI for the mobile version
OPENGIS.CH
Conclusion
We build it for you to use!
OPENGIS.CH
Conclusion
When you improve QGIS (by contributing time, money, code, translations, help on the mailing list etc.), there is a huge multiplier effect that you don't get with proprietary software: By helping yourself, you help others
OPENGIS.CH
Conclusion
Use it and join our community become a participant in the process of making the tools you use.
OPENGIS.CH
Conclusion
There are many other Free and Open Source GIS tools out there! http://osgeo.org
OPENGIS.CH
What next?
You can get your copy at http://download.qgis.org http://android.qgis.org Visit the home page at http://qgis.org Visit QGIS' blog to find out about us and to read many informative articles: http://planet.qgis.org
OPENGIS.CH
Questions & Discussion
Thank you for the attention http://opengis.ch marco@opengis.ch
OPENGIS.CH
Demos
Multiview Plugin Globe Android Offline editing