Quantum GIS on Android

baroohspottyΚινητά – Ασύρματες Τεχνολογίες

19 Ιουλ 2012 (πριν από 4 χρόνια και 9 μήνες)

532 εμφανίσεις



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