GvSig Mobile Foss4G 2008

Preview:

DESCRIPTION

How to write java code that runs in J2SE and Java CDC Personal Profile. From the gvSIG Mobile developers

Citation preview

WEDNESDAY 1 OCT 1FOSS4G 2008 – Cape Town, South Africa

gvSIG MobileHow to code for desktop and mobile GIS/SDI

Miguel MontesinosProject Manager

gvSIG technical committeegvSIG management committee

Javier CarrascoProject Development ChiefgvSIG technical committee

gvSIG developer

WEDNESDAY 1 OCT 2FOSS4G 2008 – Cape Town, South Africa

Agenda

● Introduction● New features in gvSIG Mobile● Mobile Devices● Java versions● J2SE-J2ME Compatibility Tips

● Take packages from J2SE VMs● Use the compatible alternative● MVC Splitting and dependency injection

WEDNESDAY 1 OCT 3FOSS4G 2008 – Cape Town, South Africa

Introduction. Prodevelop● Spanish company, Valencia● 15 years of GIS experience● More than 50 people● Member of gvSIG dev. team● High focus on FOSS4G

www.prodevelop.es

Intr

od

uct

ion

WEDNESDAY 1 OCT 4FOSS4G 2008 – Cape Town, South Africa

Introduction. gvSIG context● Full-fledged GIS desktop with:

● Vector/Raster support.● SDI client (WMS, WMC, WFS, WCS, CSW, ...)● Analysis (Sextante project)● Edition, projections, adv.symbology, ...

● Going on:● 3D● Network Analysis● Raster & remote sensing● Adv. Analysis● 4D, Sensor

● European Union funds until 2013● Available in 10+ languages● Around 1.500 users subscribed to lists

Intr

od

uct

ion

WEDNESDAY 1 OCT 5FOSS4G 2008 – Cape Town, South Africa

Introduction. gvSIG @ FOSS4G2008

Intr

od

uct

ion

● PAL. A Cartographic Labeling Library● Olivier Ertz, Maxence Laurent, Daniel Rappo, Abson Sae-

Tang, Eric Taillard. Room 2.6a. TUESDAY 30 SEPT●

● Multipurpose metadata management in gvSIG● Laura Díaz. Room 2.6a (297). TUESDAY 30 SEPT●

● Improving open source GIS-SDI integration: the web service publishing extension for gvSIG

● Salvador Bayarri. Room 2.4b (120) THURSDAY 10:30●

WEDNESDAY 1 OCT 6FOSS4G 2008 – Cape Town, South Africa

Introduction. gvSIG @ FOSS4G2008

Intr

od

uct

ion

● gvSIG Status Report. Towards an open organization● Miguel Montesinos. Room 1.6 (260) THURSDAY 10:30●

● A free graphical modeling tool for geospatial analysis● Victor Olaya. Room 1.6 (260) THURSDAY 10:30●

● Introduction to gvSIG/SEXTANTE as desktop GIS with advanced spatial analysis and SDI publishing tools

● Victor Olaya, Salvador Bayarri, Jose Vicente Higon, Laura Diaz● Workshop CODE: WS-F-8. FRIDAY 13:30

WEDNESDAY 1 OCT 7FOSS4G 2008 – Cape Town, South Africa

Introduction. gvSIG Mobile

WEDNESDAY 1 OCT 8FOSS4G 2008 – Cape Town, South Africa

Introduction. gvSIG Mobile

● gvSIG for mobile devices● Developed by:

● Prodevelop● Robotics Institute @ Univ. of Valencia● IVER

● New version in october

Intr

od

uct

ion

WEDNESDAY 1 OCT 9FOSS4G 2008 – Cape Town, South Africa

New Features

WEDNESDAY 1 OCT 10FOSS4G 2008 – Cape Town, South Africa

EDITING

WEDNESDAY 1 OCT 11FOSS4G 2008 – Cape Town, South Africa

edition screenshots

WEDNESDAY 1 OCT 12FOSS4G 2008 – Cape Town, South Africa

CUSTOM FORMS

WEDNESDAY 1 OCT 13FOSS4G 2008 – Cape Town, South Africa

custom forms screenshots

WEDNESDAY 1 OCT 14FOSS4G 2008 – Cape Town, South Africa

New Features

● Edition● Custom Forms● GML● KML● GPX● phoneME Advanced integration● Easier installation● Bugfixes

WEDNESDAY 1 OCT 15FOSS4G 2008 – Cape Town, South Africa

Mobile Devices

Phone

Laptop

PDA

Smartphone

Mini LaptopUMPC

WEDNESDAY 1 OCT 16FOSS4G 2008 – Cape Town, South Africa

Mobile Devices

● Desktop OS● Powerful processors● More than 512 RAM● J2SE ● Capable of running

gvSIG desktop

● Propietary OS● Slow processors● Very small memory● J2ME CLDC● Small non.touch screens● Too limited for a

complete GIS

Portable PCs Mobile Phones

WEDNESDAY 1 OCT 17FOSS4G 2008 – Cape Town, South Africa

Mobile Devices

● Cheap devices (200€+)● Touchscreens (240x360 or more)● J2ME CDC PP (Subset of J2SE)● ARM 400MHz+ processors● 64-128MB RAM● GPRS/UMTS internet ● Camera● GPS

PDAs and Smartphones

WEDNESDAY 1 OCT 18FOSS4G 2008 – Cape Town, South Africa

Java Versions

WEDNESDAY 1 OCT 19FOSS4G 2008 – Cape Town, South Africa

Java Versions

WEDNESDAY 1 OCT 20FOSS4G 2008 – Cape Town, South Africa

Mobile Devices – Java Versions

● Mobile Phones: ● CLDC MIDP limited but connected map viewers●

● Portable PCs: ● Existing J2SE applications with customized GUIs●

● Smartphones and PDAs: ● J2SE VMs for PDA runned too slow● J2ME CDC PP● New applications ● Share libraries with desktop applications

WEDNESDAY 1 OCT 21FOSS4G 2008 – Cape Town, South Africa

Java Versions – CDC PPPackages in both J2SE and in J2ME CDC PP

java.applet java.awt

java.beans

java.lang

java.mathjava.net java.rmi

java.security java.text

java.util java.io

WEDNESDAY 1 OCT 22FOSS4G 2008 – Cape Town, South Africa

Java Versions – CDC PPPackages in J2SE and NOT in J2ME CDC PP

java.awt.dnd java.util.logging javax.naming

javax.netjava.awt.printjavax.print java.util.prefs

javax.rmi

java.awt.geom javax.security

javax.sound

javax.swing

javax.imageio

java.nio java.util.regexorg.w3c.dom

org.xmljavax.xml

java.sqljavax.sql

WEDNESDAY 1 OCT 23FOSS4G 2008 – Cape Town, South Africa

Java Versions – CDC PPPackages in J2ME CDC PP and NOT in J2SE

javax.microedition.io

javax.microedition.pki

javax.microedition.xlet

WEDNESDAY 1 OCT 24FOSS4G 2008 – Cape Town, South Africa

Java Versions – CDC PPOther differences with J2SE

● Classes non existent in shared packages● For example the package java.io lacks

● LineNumberInputStream ● StringBufferInputStream

WEDNESDAY 1 OCT 25FOSS4G 2008 – Cape Town, South Africa

Java Versions – CDC PPOther differences with J2SE

● Methods non existent in shared classes● For example String class lack the methods:

● getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) ● matches(String regex) ● replaceAll(String regex, String replacement) ● replaceFirst(String regex, String replacement) ● split(String regex) ● split(String regex, int limit)

WEDNESDAY 1 OCT 26FOSS4G 2008 – Cape Town, South Africa

How to code for J2SE and CDC PP

TIPS for compatibility

WEDNESDAY 1 OCT 27FOSS4G 2008 – Cape Town, South Africa

J2SE – CDC PP Compatibility Tips

Most VMs allow you to add protected packagesjava -Xbootclasspath:myawtgeom.jar ...

There are free implementations of J2SE we can use

Tip 1If you need a package just take it

WEDNESDAY 1 OCT 28FOSS4G 2008 – Cape Town, South Africa

J2SE – CDC PP Compatibility Tips

● Worked very well to add● java.awt.geom● java.util.regex

Tip 1If you need a package just take it

We can use only pure java 1.4 code

WEDNESDAY 1 OCT 29FOSS4G 2008 – Cape Town, South Africa

J2SE – CDC PP Compatibility Tips

● Use when possible packages and classes that exist in both configurations● Instead of using SAX or DOM XML parsers use

lightweight pull parsers (ie KXML)● Use 3rd party libraries that only depends on packages

existing in both configurations

Tip 2Use the compatible alternative

WEDNESDAY 1 OCT 30FOSS4G 2008 – Cape Town, South Africa

J2SE – CDC PP Compatibility Tips

● Controller can to be shared● Some Model libraries are compatible and some

others not● View never is compatible● Dependency Injection allows you to keep some

libraries common and others different

Tip 3MVC Separation and Dependency Injection

WEDNESDAY 1 OCT 31FOSS4G 2008 – Cape Town, South Africa

J2SE – CDC PP Compatibility Tips

Common Controller

Desktop optimizedLibraries

PDA optimizedLibraries

Swing MDI GUI

AWT Simple GUI

Common Libraries

DesktopApplication

MobileApplication

DI

DI

DI

DIModel Controller View

Tip 3MVC Separation and Dependency Injection

WEDNESDAY 1 OCT 32FOSS4G 2008 – Cape Town, South Africa

J2SE – CDC PP Compatibility Tips

● Libraries with utilities not existing in CDC PP to be used both in desktop and in mobile

● Examples:

Tip 4Libraries of frequently used incompatible code

StringUtilssplitString()replaceAll()

NetworkUtilsgetNetFile()sendEmail()

FileUtilsgetImage()

fileToString()

WEDNESDAY 1 OCT 33FOSS4G 2008 – Cape Town, South Africa

Conclussions● It's doable to develop GIS with Java for PDAS● Ultramobile PCs and Low-Cost Laptops will need new

interfaces for existing desktop GIS applications● Java allows real portability of code● gvSIG now fits in our pockets

WEDNESDAY 1 OCT 34FOSS4G 2008 – Cape Town, South Africa

VIDEOS

WEDNESDAY 1 OCT 35FOSS4G 2008 – Cape Town, South Africa

Invitation

http://www.jornadasgvsig.gva.es

● Valencia (Spain)● 1st-5th December● OGC Meeting● eclipseDay● 4th gvSIG Meeting

WEDNESDAY 1 OCT 36FOSS4G 2008 – Cape Town, South Africa

WEDNESDAY 1 OCT 37FOSS4G 2008 – Cape Town, South Africa

gvSIG MobileHow to code for desktop and mobile GIS/SDI

Thank you very much for your attention

Miguel Montesinos Javier Carrasco mmontesinos@prodevelop.es jcarrasco@prodevelop.es

WEDNESDAY 1 OCT 38FOSS4G 2008 – Cape Town, South Africa

http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode

Recommended