Vous êtes sur la page 1sur 4

ephonie

Golocalisation Open Source pour tel


mobile
Master6 - Faculte des Sciences et Techniques de Saint-Jerome
Universite Aix-Marseille 3
13013 Marseille, France

RESUME

Ce resume presente un outil destine a` la manipulation de


donnees geographiques depuis des terminaux mobiles. Nous
nous sommes concentres en particulier sur les bases de donnees
offrant une connectivite Open Source, via le standard WFS
destine aux SIG, a` linverse de solutions proposees par de
grands e diteurs qui sont des complements dateliers logiciels
pour stations de travail dej`a existants. Le developpement dune
solution logicielle dans un environnement a` contraintes notamment vis a` vis de la puissance de calcul et les capacites
de stockage a conduit a` la mise au point de nos propres
methodes danalyse XML, ainsi que des primitives daffichage de carte et de gestion de couches de donnees, inexistantes jusqu`a present. Nous presentons ici les fonctionnalites, les e tapes de conception et la realisation que nous avons
menee sous la direction de Omar Boucelma et Francois-Marie
Colonna.
Mots Cles

sig, mobilite, wfs, java, uml, visualisation, xml.


ABSTRACT

This summary presents a tool dedicated to the manipulation of geographic data from mobile devices. We concentrated in particular on databases offering a connectivity Open
Source, via the standard WFS used for the SIG, whereas
embedded solutions proposed by editors are mostly complements to their own workshops. The software development
in a constraints environment in terms of computation power
and storage capacity led to our XML manipulation methods,
as well as primitives for data layers management, until now
unavailable. We present here the features, the different stages
of conception and realization of this tool supervised by Omar
Boucelma and Francois-Marie Colonna.
Keywords

sig, mobilite, wfs, java, uml.


CATEGORIES AND SUBJECT DESCRIPTORS

H.5.2 [User Interfaces] : Graphical user interfaces,


User-centered design, Screen design;
H.5.4 [Hypertext/Hypermedia] : Hypermedia;
H.2.5 [Heterogeneous Databases] : Data translation

`
POSITION DU PROBLEME

Lacc`es aux donnees geographiques sest democratise ces


derni`eres annees. Ces informations sont de plus en plus largement diffusees sur le web, suite a` lemergence des services
Web geographiques [10]. Classiquement, un Syst`eme dinformation geographique (SIG) permet de modeliser, danalyser et de representer toute chose existant sur Terre, naturelle ou creation humaine. Des requetes peuvent e tre e crites
afin de selectionner et filtrer les donnees manipulees, et ainsi
localiser linformation pertinente correspondant aux crit`eres
` partir de ces donnees, il devient alors posde lutilisateur. A
sible de representer une carte qui est un formidable outil
de synth`ese et de presentation des informations visuelles et
textuelles. Linterfacage avec lutilisateur est la pierre angulaire de ces syst`emes pour transmettre linformation, y compris sur appareils mobiles. La majorite des individus entre
18 et 60 ans poss`ede aujourdhui un telephone portable (37
millions en France). Ces terminaux deviennent de plus en
plus puissants au gre des nouvelles collections (par ex. Palm
TREO 600, Sony P910i [11]). Il semble donc e vident que
les offres de guidage et de renseignements aux usagers seront accedees dans le futur aussi naturellement que le sont
les mini-messages aujourdhui. Ces appareils nomades sont
une cible de choix pour les e diteurs de logiciels cartographiques, mais jusqu`a present les outils sont le plus souvent des complements lies a` la solution proprietaire sousjacente. Le but de notre projet est de developper un outil
SIG qui puisse interroger les multiples serveurs de donnees
geographiques libres ou proposant une connectivite WFS via
le Web. Notre projet permet a` la fois de consulter des cartes,
mais aussi de creer ses propres donnees annotees. Dans ce
rapport nous allons tout dabord presenter les fonctionnalites attendues de notre logiciel, ensuite nous exposerons nos
choix techniques et enfin, nous e tablirons un bilan de nos
realisations actuelles en presentant deux applications possibles pour cet outil.
ANALYSE ET CONCEPTION

Copyright XXXXXX

Notre analyse du probl`eme detaille ci-dessus a e te menee


` lissue des discussuivant une methode RUP-UML [1]. A
sions avec nos responsables de projet, nous avons liste les
fonctionnalites attendues par lutilisateur et redige le cahier

des charges. Nous avons tout dabord determine les cas dutilisation. Puis pour chacun deux, des scenarii ont e te identifies et un diagramme de sequence a e te e labore. Enfin, lensemble de ces derniers nous a permis de realiser les diagrammes de classes. Nous avons pu mettre en place larchitecture du logiciel et definir ainsi quatre paquetages: le
noyau du syst`eme, linterface Homme/Machine, la communication du logiciel et laffichage de cartes. La distribution
des taches et la planification ont e te synthetisees par un diagramme de Gantt. Chaque membre du groupe a eu un role
preponderant. Nous nous sommes tr`es bien repartis les taches
puisque notre analyse prealable a e te tr`es detaillee [3].
Lintegration des differentes parties (Communication, IHM,
Affichage de cartes, Gestion des donnes) a e te plus facile
que prevu puisque chacun a bien pris en compte le travail de
ses partenaires. Lavancee des travaux sur chaque paquetage
sest tr`es bien coordonnee.
Les composants developpes sont des modules independants
qu peuvent e tre modifies sans que limpact soit repercute
sur les autres. Ceci conf`ere une grande facilite devolution
a` notre outil.

Fonctionnalites

Notre outil a e te destine a` la consultation et la creation de


donnees geographiques sur terminaux mobiles. La possibilite supplementaire que nous offrons a` lutilisateur est celle
de creer ses propres cartes en enregistrant tout ce qui peut
lui sembler utile a` partir de son mobile. Un touriste dans
une ville inconnue naurait qu`a se localiser sur une carte
de sa creation pour retrouver son chemin vers lhotel le soir
venu. Cet exemple peut setendre a` tout probl`eme concernant un deplacement (motorise ou non), puisque se deplacer
implique de se localiser. Le stockage des donnees lourdes
et statiques (typiquement les fronti`eres dun pays) se fera
plutot sur le telephone mobile (dans la limite des capacites),
afin deviter les communications repetees de donnees qui
nont pas a` e tre mises a` jour. Celles susceptibles devoluer
dans le temps (trafic routier) seront par contre rafrachies
reguli`erement. Offrir ce genre de services ne se fait pas facilement sur des terminaux mobiles, et nous allons detailler
dans les sections suivantes les choix techniques que nous
avons fait.

spatiale de lentite. Les fichiers de configuration contenant


les preferences de lutilisateur sont eux aussi en XML.
Linterpretation et lexploitation de toutes ces donnees seffectuent avec les parseurs SAX dynamiques que nous avons
developpes a` partir de la biblioth`eque Kxml [7]. Nous avons
cree nous meme les schemas pour ces fichiers, nous pouvons
donc aisement construire les parseurs dans un souci doptimisation despace memoire. Cette methode permet de limiter le nombre de tests a` effectuer lors de la phase danalyse et
donc deconomiser les ressources materielles tout en gardant
une efficacite optimale.
Java/J2ME

Limplementation de notre logiciel a e te effectuee sous le


langage de programmation objet Java. La plateforme Java
est divisee de mani`ere hierarchique:
J2ME (Micro Ed.) J2SE (Standard Ed.) J2EE (Enterprise Ed.)
Dans le cadre de notre projet, lutilisation de J2ME simpose delle-meme, car les appareils mobiles ont une capacite de memoire bien plus limitee - pour le moment - que
les ordinateurs. Il existe plusieurs milliers de classes dans le
noyau de J2SE pouvant prendre jusqu`a 150Mo despace sur
le disque, ce qui est beaucoup trop pour les appareils actuels.
Lenvironnement dexecution de Java dans J2ME est particuli`erement adapte aux machines a` contraintes: contraintes
de memoire, de taille decran, de vitesse de processeur ou de
couleurs. Ce gain despace de travail est du au fait que lenvironnement J2ME est un sous ensemble tr`es restreint du
J2SE: de nombreuses classes ne sont pas disponibles et rarement avec toutes les methodes qui leur sont connues. Les
machines netant pas concernees par ces contraintes peuvent
toujours tirer partie dun environnement optimise et de nouvelles interfaces de programmation definies par J2ME.

Langages XML

Pour acceder librement a` des donnees (pour nous de type


geometrique), il nous faut passer par des services exposes sur
le Web. Le Web Service le plus simple est celui qui permet
de telecharger un flot de donnees. Le but dun Service Web
est doffrir un service metier bien defini qui donne acc`es
a` la fois au mod`ele de donnees expose, aux metadonnees
et aux donnees elles-memes. Le service de fonctionnalite
Web (WFS-Web Feature Service) de lOGC est une solution innovante pour linterrogation de sources de donnees
geographiques. Le WFS definit les operations de manipulation (recherche, la mise a` jour, suppression) des donnees
relatives a` des entites geographiques.
Les descriptions geometriques des entites dans la specification
du WFS sont encodees en langage de balisage XML dedie a`
la geographie nomme GML (Geography Markup Language)
et constituent les donnees brutes reelles de la description

F IG . 1 . Divers types de Machines Virtuelles Java.


Notre syst`eme fonctionne sous le profil MIDP 2.0 (Mobile
Information Device Profile) qui est destine a` la configuration CLDC 1.1 (Connected Limited Device Configuration)
dediee aux appareils avec de faibles capacites comme les
telephones portables.
La machine virtuelle allegee correspondante est la KVM (une
JVM reduite) [4, 6].

Environnement de developpement

Nous avons choisi de mettre en oeuvre ces technologies en


utilisant lenvironnement de developpement Eclipse [12]. Les
diverses fonctionnalites dedition (code en couleur, gestion
de projets, partage via CVS) et dexecution pas a` pas nous
ont e te tr`es utiles. Le plugin EclipseME [13] destine aux applications Java mobiles permet de creer automatiquement les
fichiers de type JAD et JAR necessaires au bon fonctionnement de lapplication sur les terminaux. Eclipse permet
e galement une gestion aisee des versions du projet stockees
sur un serveur CVS, ce qui est tr`es appreciable dans le cadre
dun projet mettant en oeuvre plusieurs developpeurs.
ET APPLICATIONS
SOLUTION PROPOSEE

Larchitecture logicielle se decompose en quatre parties. Les


paquetages systemMobile, interfaceMobile, communication
et display. Nous allons vous presenter les fonctionnalites de
chacun dentre eux et leur utilite. en nous concentrant particuli`erement sur la partie interface utilisateur et affichage des
donnees geographiques.
Architecture logicielle

Le paquetage systemMobile
Ce paquetage regroupe toutes les classes Java representant la
structure interne du logiciel. Ces classes ont pour but de stocker les donnees utiles au bon fonctionnement du logiciel.
Ainsi, ce paquetage a le meme role quune base de donnee
puisque cest lui qui coordonnera tout le stockage. Il sagit
dune mini base de donnees XML.
Le paquetage communication
Ce paquetage se decompose en deux sous-ensemble: la communication interne (gestion des donnes, conversion de formats) au logiciel et la communication externe (utilisation du
reseau).
Le paquetage interfaceMobile
Ce paquetage regroupe toutes les classes Java liees aux interfaces Homme Machine. Ces classes sont ici pour assurer
le lien entre le syst`eme et lutilisateur.
Le paquetage display
Ce paquetage regroupe toutes les classes Java liees au dessin
des donnees geographiques a` lecran.

Interface Utilisateur et Affichage

Laffichage des donnees est la pierre angulaire du syst`eme,


puisque cest de la carte a` lecran que les informations seront interpretees. Nous avons developpe une application qui
utilise des menus deroulants comme la plupart des logiciels
aujourdhui. Les menus permettent la configuration de loutil et le dclenchement des fonctions.
Les cartes affichees sont gerees a` laide de couches thematiques,
chacune correspondant a` une entite geographique dinteret.
Le syst`eme dactivation dune couche se fait par lintermediaire
dune case a` cocher indiquant si une couche est masquee
ou non. Lordonnancement des couches a` lecran peut e tre
modifie a` volonte par lutilisateur. Laffichage en SVG est
bien trop lourd dans le contexte mobile, et dautre part, la
specification de SVG mobile [8] na pas encore vu naitre
dAPI. Suite a` ce constat, nous avons donc change nos ambitions daffichage et decide de creer nos propre fonctions
daffichage dobjets. Nous nutilisons pas la classe Game de

MIDP; ce choix est motive par le fait que ces classes sont
orientee vers les jeux et utilisent un quadrillage de lecran
en cellules ne permettant pas la precision du dessin.
La seule fonction de remplissage de polygone pour J2ME
est implantee de mani`ere recursive et donc tr`es lente. Notre
fonction de remplissage se base sur un algorithme dit du balayage des polygones [14] qui consiste a` trouver les points
dintersections entre le polygone et une ligne horizontale et
remplir la ligne entre les intersections a` linterieur du polygone. Le resultat est une fonction rapide qui ne calcule le
remplissage que des parties de polygones visibles sur lecran.
Le deplacement des objets utilise le clavier numerique du
telephone (touches 2,4,6,8). Le deplacement tient compte du
facteur de zoom afin de conserver la proportion du mouvement.
La fonction de zoom multiplie ou divise les coordonnees qui
seront ensuite recentrees. Nous lutilisons grace aux touches
1 et 3 du pave numerique. La fonction de zoom effectue
une homothetie avec comme origine le centre de lecran.
Une fonction doptimisation permet en fonction du zoom
de ne pas afficher un certain nombre de points a` lecran
lorsque lobjet est tr`es loin, cette optimisation permet de
rendre instantanees les fonctions de deplacement et de zoom
qui necessitaient sans elle un delai de 4 a` 10 secondes selon la complexite des couches a` representer. Une fonction
calcule si les objet dune couche a` afficher seront visibles a`
lecran ou non. Cette fonction fluidifie laffichage lors dun
zoom specifique sur une region voulue.
La figure 2 montre la carte de France des regions, o`u la
region Centre a e te selectionnee; les prefectures de region
sont signalees par un point jaune. Le facteur de zoom, la latitude et la longitude sont affiches en haut a` gauche. Le mode
selection se declenche a la pression de la touche 7 du clavier. D`es lors le clavier est configure en mode selection, la
premi`ere entite de la couche est selectionnee et son contour
devient blanc. Les touches 4 et 6 permettent de se deplacer
au seins des entites dune meme couche, les touches 2 et 8
permettent quant a` elles de passer dune couche a` lautre. La
touche 5 permet dafficher les attributs de lentite selectionnee.
Pour sortir du mode selection il suffit de presser a nouveau la
touche 7. La selection prend en compte uniquement les objet visibles a lecran. Le mode de selection est specialement
rapide car pour se deplacer dobjet en objet, il nest pas
necessaire de recalculer laffichage de toutes les couches,
mais uniquement de repeindre le contour de lobjet courant
en blanc et le contour de lentite precedemment selectionnee
en sa couleur dorigine.
Ce prototype constitute un noyau interessant pour lintgration de la localisation [2] utilisant la reconnaissance vocale
en entree et des raisonnements sur structures de graphe pour
repondre aux questions ainsi posees par lutilisateur. Ces travaux sont en cours.
Extensions possibles

Toutes les fonctionnalites definies ici nont pu e tre developpees


dans le temps imparti. Leur ajout ulterieur a e te pris en compte,
puisque la modularite des paquetages simplifie lajout de
fonctions sur le squelette applicatif existant. Pour ameliorer
linterfacage en fonction des gouts de lutilisateur, une section assignee aux preferences de celui-ci peut e tre developpee,

sera presente dans tous les vehicules, ce qui ouvrira de nouvelles perspectives de conduite, auxquelles notre outil peut
contribuer. En plus du simple guidage, lautomobiliste compl`etera
sa carte, en y ajoutant ses propres annotations. Les radars
(automatiques ou mobiles) et les travaux sur la chaussee sont
un exemple. Enregistres dans le terminal et couplees a` un
regulateur de vitesse, ces informations ordonneraient de limiter la vitesse a` proximite dun obstacle.
CONCLUSION

F IG . 2 . Interface graphique du prototype (Avril 2005).


lui permettant ainsi de choisir la couleur dune couche, son
motif (rempli, raye, hachure), etc. Le syst`eme de localisation
par GPS deviendra un standard sur la plupart des telephones
mobiles dans un futur proche, et nous avons tenu compte de
ce mode de localisation dans notre logiciel. La carte pourrait
se deplacer en fonction de la position de lutilisateur. Actuellement, les e crans tactiles se developpent tant au niveau des
calculatrices (Casio Class Pad 300) que de certains mobiles
(SPV M2000). Tout un champ dinteractions est ainsi ouvert: que ce soit pour le calcul doperateurs spatiaux, calcul
de la distance ou la recherche dun chemin entre deux points
choisi par lutilisateur sur la carte avec un stylet.
`
Applications concretes

Lors du developpement de notre outil, nous avions a` lesprit deux types de probl`emes concrets quil pourrait aider a`
resoudre. Ces utilisations se feront au prix de quelques modifications et e volutions par rapport a` lactuelle version du
prototype.
Recensement des loups du Mercantour

La population de loups dans le Parc National du Mercantour est reguli`erement recensee et e tudiee par les scientifiques. Il serait possible dimaginer que notre outil puisse
e tre utilise par des bergers qui apercevraient un animal et
souhaiteraient signaler sa position aux organismes de surveillance. Une simple pression sur lecran tactile affichant la
carte enregistrerait les coordonnees (via les donnees fournies
par le GPS) et la date. Une synchronisation se ferait ensuite
par tele-transmission aux gardes de lONCFS, qui pourrait
decider ou non dintegrer cette observation aux donnees dej`a
enregistrees.
Assistant a` la conduite automobile

Les aides a` la conduite se multiplient : regulateur de vitesse,


camera de recul, etc. Dans peu de temps, la geolocalisation

Notre projet nous a permis de developper un client leger


pour appareils mobiles novateur tout en respectant les standards lies aux SIG et au Web. Les services de geolocalisation
vont se developper sur les terminaux mobiles dans un futur
proche. Cest dans cette vision que nous avons cree un logiciel libre simple dans son utilisation et sa configuration.
Lelaboration dune carte se fait progressivement en ajoutant
les unes sur les autres des couches thematiques. La representation
graphique de la carte permet dobtenir une vue densemble
des resultats mais aussi des informations detaillees grace a`
la fonction daffichage dinformations sur un e lement precis.
Lutilisateur peut creer des cartes personnalisees, ce qui est
une fonctionnalite appreciable. Nous avons apporte un soin
tout particulier a` loptimisation de laffichage afin de rendre
la navigation et la recherche dinformation sur la carte plus
rapide, plus ergonomique et plus simple.
REFERENCES

1. Muller P.A and Gaertner N. Modelisation Objet avec


UML. 2003.
2. Colonna F.M and Bry F. and Lorenz B. Multi-Paradigm
Reasoning for access to heterogeneous GIS. 2005.
3. Schiano, Grand, Manent, Di Sapio GIS access for
MObile devices. Master6 - M2, Marseille, 2005.
4. Debuter en J2ME avec le profil MIDP, Julien
Defaut,2005. Disponible a` ladresse :
http://defaut.developpez.com/
5. Mobile Phone Specifications. Disponible a` ladresse :
http://www.benhui.net/modules.php?name=Midp2Phones
6. J2Me Devices. Disponible a` ladresse :
http://developers.sun.com/techtopics/mobility/device/device
7. XML library for constrained environments. Disponible a`
ladresse : http://www.kxml.org/
8. Mobile Scalable Vector Graphics. Disponible a`
ladresse : http://www.w3.org/TR/SVGMobile/
9. SVG Applications and Development Tools for mobiles.
Disponible a` ladresse : http://www.tinyline.com/
10. Web Feature Services Specification. Disponible a`
ladresse : http://www.opengeospatial.org
11. Catalogue en ligne de telephones mobiles. Disponible a`
ladresse : http://www.digital-shopping.fr/
12. Environnement de developpement Eclipse. Disponible
a` ladresse : http://www.eclipse.org
13. Eclipse plugin to help develop J2ME MIDlets.
Disponible a` ladresse : http://eclipseme.org
14. Rogers David.F. Algorithmes pour linfographie.
Ediscience, 1994

Vous aimerez peut-être aussi