qgis for android

61
OPENGIS.CH Quantum GIS on Android Marco Bernasocchi MSc in Geography with specialisation in GIS UZH Independent programmer Ski and Dive instructor [email protected]

Upload: isra-wahyudhi

Post on 21-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Qgis for Android

OPENGIS.CH

Quantum GIS on Android

Marco Bernasocchi

MSc in Geography with specialisation in GIS UZH

Independent programmer

Ski and Dive instructor

[email protected]

Page 2: Qgis for Android

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/

Page 3: Qgis for Android

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

Page 4: Qgis for Android

OPENGIS.CH

But, sometimes life is hard...

Page 5: Qgis for Android

OPENGIS.CH

...you can barely afford good hardware infrastructure... Let alone the cost of

expensive software

Page 6: Qgis for Android

OPENGIS.CH

What if there was another way?

Page 7: Qgis for Android

OPENGIS.CH

...to build something bigger than ourselves...

Page 8: Qgis for Android

OPENGIS.CH

...that many, many DO enjoy...

...hundreds of thousands...

Page 9: Qgis for Android

OPENGIS.CH

...all around the world...

Page 10: Qgis for Android

OPENGIS.CH

...and many help to build...

- slide courtesy G. Sherman

Page 11: Qgis for Android

OPENGIS.CH

To make something awesome like Linux, like LibreOffice, like GIMP...

Please welcome: “QGIS and the Open Source world”

Page 12: Qgis for Android

OPENGIS.CH

History of QGIS development

http://pvanb.wordpress.com/2011/01/10/how-qgis-has-grown-over-the-years/

Page 13: Qgis for Android

OPENGIS.CH

QGIS development this year

www.youtube.com/watch?v=3D60XJGerDFWI

Page 14: Qgis for Android

OPENGIS.CH

Now lets see some use cases...

Page 15: Qgis for Android

OPENGIS.CH

Emergency response

Page 16: Qgis for Android

OPENGIS.CH

Emergency response

Page 17: Qgis for Android

OPENGIS.CH

Animal Tracking

Page 18: Qgis for Android

OPENGIS.CH

Animal Tracking

Page 19: Qgis for Android

OPENGIS.CH

Filter for Zebra

Page 20: Qgis for Android

OPENGIS.CH

Zebra only

Page 21: Qgis for Android

OPENGIS.CH

Web map publishing

Page 22: Qgis for Android

OPENGIS.CH

Planning

Page 23: Qgis for Android

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

Page 24: Qgis for Android

OPENGIS.CH

Globe

Page 25: Qgis for Android

OPENGIS.CH

Globe 3D anaglyph

Page 26: Qgis for Android

OPENGIS.CH

Globe 3D on a geowall

Page 27: Qgis for Android

OPENGIS.CH

Linked Visualisation Framework

Page 28: Qgis for Android

OPENGIS.CH

Timeplot Summit

Page 29: Qgis for Android

OPENGIS.CH

Timeplot Face

Page 30: Qgis for Android

OPENGIS.CH

Helix Summit

Page 31: Qgis for Android

OPENGIS.CH

Helix Face

Page 32: Qgis for Android

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

Page 33: Qgis for Android

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

Page 34: Qgis for Android

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.

Page 35: Qgis for Android

OPENGIS.CH

Subprojects

● QGIS Browser● QGIS Server● QGIS Client● QGIS on Android

Page 36: Qgis for Android

OPENGIS.CH

Questions so far?

See you after the break for “Why and how go mobile?”

Page 37: Qgis for Android

OPENGIS.CH

Why go mobile? Because sometimes civilisation is far away...

Page 38: Qgis for Android

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 :)

Page 39: Qgis for Android

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 ;)

Page 40: Qgis for Android

OPENGIS.CH

How to go mobile? By getting our hands dirty...

Page 41: Qgis for Android

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

Page 42: Qgis for Android

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

Page 43: Qgis for Android

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 !!!

Page 44: Qgis for Android

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.

Page 45: Qgis for Android

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

Page 46: Qgis for Android

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

Page 47: Qgis for Android

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

Page 48: Qgis for Android

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

Page 49: Qgis for Android

OPENGIS.CH

Bug Tracker

Page 50: Qgis for Android

OPENGIS.CH

Current features

Page 51: Qgis for Android

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

Page 52: Qgis for Android

OPENGIS.CH

Multiple users on terrain digitizing

● As soon as Android QGIS will support Python plugins

Page 53: Qgis for Android

OPENGIS.CH

Next Plans

● Implement GPS● Fix Shape files bug● Implement Right click gesture (long click)

Page 54: Qgis for Android

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

Page 55: Qgis for Android

OPENGIS.CH

Conclusion

We build it for you to use!

Page 56: Qgis for Android

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”

Page 57: Qgis for Android

OPENGIS.CH

Conclusion

Use it and join our community – become a participant in the process of making the tools you

use.

Page 58: Qgis for Android

OPENGIS.CH

Conclusion

There are many other Free and Open Source GIS tools out there!

http://osgeo.org

Page 59: Qgis for Android

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

Page 60: Qgis for Android

OPENGIS.CH

Questions & Discussion

Thank you for the attention

http://opengis.ch

[email protected]

Page 61: Qgis for Android

OPENGIS.CH

Demos

● Multiview Plugin● Globe● Android● Offline editing