Personal tools
You are here: Home | Recherche | Géomatique | Veille pédagogique et technique | Sites de géomatique | Lettre d'information | Articles | lettre n°11 | GeOOo et KmlOOo, deux extensions cartographiques pour LibreOffice (avril 2011)
Navigation
 
Document Actions

GeOOo et KmlOOo, deux extensions cartographiques pour LibreOffice (avril 2011)

by Jérôme Staub last modified 2011-04-27 13:37

Retour à la lettre d'information géomatique n°11


Introduction

GeOOo et KmlOOo sont deux extensions de la suite bureautique LibreOffice qui permettent d'étendre les possibilités cartographiques de ce logiciel. Ils sont des compléments à l'extension Ooo,HG (voir la lettre géomatique n°5).

GeOOo offre la possibilité de créer des cartes thématiques en utilisant les modules : « Draw » pour la définition des cartes, « Calc » ou « Base » pour le stockage et l'interrogation les données, l'extension GeOOo assurant le lien entre ces modules. Elle va bientôt s'enrichir de nouveaux types de cartes. Elle sera accompagnée de la représentation d'histogrammes et de la possibilité d'identifier des flux sur une carte via la création de droites reliant deux entités. Les cartes pourront être sauvegardées au format Svg, enrichi de fonctionnalités interactives d'affichage de valeurs au passage de la souris.

KmlOOo permet d'intégrer des fichier Kml directement dans la suite bureautique LibreOffice. En effet, Google Earth donne la possibilité de dessiner des polygones superposés au globe terrestre qui permettent de représenter des aires aussi différentes que des parcelles, des communes, des régions, des pays. Certains sites proposent de créer des cartes avec ce principe et donnent la possibilité de les sauvegarder au format Google Earth pour une utilisation hors connexion, sur votre version locale du logiciel. Deux types de fichiers sont disponibles "kmz" & "kml" , l'extension kmz étant la version archivée de kml. Il est facile d'extraire ce dernier de son archive en utilisant un logiciel adapté.

GeOOo, module de cartographie thématique avec LibreOffice


Lancement de la macro

GeOOo1Depuis la version 3 de LibreOffice, l'installation des extensions a été simplifiée. Il suffit de télécharger un fichier  (ici geooo.oxt) depuis le site officiel et de l'activer via le menu Outils > Gestionnaire des extensions, en cliquant sur le bouton «Ajouter». Sous Windows, un double clic directement sur le fichier produit le même effet.

Après cette opération, une option apparaît dans le menu Outils>Add-ons>GeOOo du module de dessin vectoriel, point de départ de notre macro. Des cartes sont disponibles en téléchargement pour comprendre le fonctionnement de GeOOo à partir d'exemples fonctionnels. La première étape consiste à créer ou à charger une carte existante dont les formes, représentant les entités géographiques, ont été nommées. Si vous travaillez sur la carte des départements, vos données devront contenir un champ (une colonne), dont les valeurs correspondent aux noms des formes de votre dessin ( ex : 29 pour le Finistère).

Emplacement des données

GeOOo2

Les bases de données ( MySQL , Firebird, Oracle..) sont accessibles à partir d'OpenOffice via le module Base de données. GeOoo sait utiliser ces bases dès lors qu'elles sont présentes comme source de données enregistrées dans OpenOffice. Il est également possible et parfois plus simple d'utiliser une feuille de tableur (fichier en .ods).

Dans le cas d'une base de données externe, la macro s'appuie sur le nom de la source de données et sur le nom de la table, de la requête ou de la vue SQL préparée à cette effet.

Dans le cas de Calc, c'est le nom de la feuille de calcul, en plus du nom du fichier, qui servira de base au paramétrage d'une carte (ici : PIB).

 

 

Lancement de GeOOo

GeOOo3

Quatre étapes sont nécessaires pour mettre en forme une carte :

Première étape : quelle technique utiliser ? 

GeOOo41) Titre transféré  à l'exécution dans le champ texte "mon titre", s'il est présent sur le dessin.


2) Provenance des données : Classeur ou Base de données. Les champs 3 & 4 servent à définir l'emplacement des données et de clef d'accès à la mémorisation de vos lancements successifs. La première fois vous devez saisir vos valeurs dans ces listes, elles seront mémorisées au lancement de la macro et accessibles par la suite pour rejouer la même carte.

 3) Nom du classeur : utile à la mémorisation de vos lancements (peut ne pas coïncider avec le nom de votre classeur) ou nom exact de la source de données si la provenance est de ce type.

 4) Nom exact de la feuille de calcul contenant les données ou nom exact de la table, de la requête ou de la vue SQL présente dans la source de données

 5) Technique utilisée pour le traitement de la carte :

  • Couleur : correspond au mode "carte choroplète"
  • Cercle : création de figurés proportionnels disposés sur une couche de travail au droit des formes concernées
  • Couleur et cercle : traitement de deux séries de données suivant les deux techniques précédentes
  • Demi cercles : génération de deux demi cercles proportionnels placés en opposition au droit de chaque forme
  • Secteurs : génération de secteurs proportionnels à leur valeur, dans la série de données rattachée à chaque forme ; 1 à 5 séries peuvent être comparées avec cette technique.

 

Deuxième étape : où sont les données ?

GeOOo51) Si vous avez choisi "couleur" comme technique, cette partie sera visible et vous permettra de réaliser une discrétisation manuelle. Il n'y a pas de limites quant au nombre de seuils, sachant que votre dessin doit comporter autant de styles nommés geo1 à geo...x qu'il y a de seuils. La macro s'assure au lancement de la présence de 10 styles (geo1 à geo10).

Il est possible d'importer ce tableau à partir d'un fichier «Calc» qui vous donnera la possibilité d'utiliser les fonctions comme CENTILE pour la technique de discrétisation.

 2) quand l'origine des données est associée à un classeur, ce champ définit  l'emplacement du fichier sur votre poste.

 

Troisième étape : quelles données analyser ?

GeOOo6C'est cette étape qui permet de faire le lien entre les formes et les données. Le nombre de champs visibles dépend de la technique utilisée, ils servent à composer la requête SQL sous-jacente.

1) Nom du champ ou de la colonne correspondant au Nom des formes de votre dessin (ici la colonne "ID" de votre classeur contient le numéro des départements).

2) Nom du champ ou de la colonne contenant la valeur que vous souhaitez insérer dans la description de la forme (ex : nom du département).

 3) Nom du champ ou de la colonne qui contient la valeur à analyser ( ici la colonne VAL de notre feuille PIB contient les valeurs de Produit Intérieur Brut)

4) Pour les techniques générant des figurés : couleur associée à la valeur 1

5)  Légende associée à la valeur 1.

6) Ce champ, optionnel, permet de définir la clause "Where" de la requête. Il est donc possible de filtrer, trier les données avant leur traitement. Vous pouvez ignorer ce champ, notamment si vos données sont déjà triées.

Ici les valeurs seront traitées dans l'ordre décroissant. C'est intéressant dans le cas des techniques générant des  figurés, pour éviter que les valeurs les plus importantes ne masquent les plus petites. Les cercles les plus gros seront dessinés en premier.

Dernière étape : les choix d'édition

GeOOo71) Ces options explicites vous permettent d'indiquer si vous souhaitez que les valeurs et (ou) les descriptions associées aux formes s'éditent sur le dessin.

2) A noter que les valeurs numériques peuvent être formatées à l'aide du champ Format suivant les mêmes règles que le format des cellules dans Calc. L'option "Ne pas effacer avant calcul" est intéressante, si vous souhaitez traiter une carte en plusieurs passes pour réaliser :
- une discrétisation suivie de la création de secteurs, sans effacer la carte
- une discrétisation en deux passes avec un filtre sur les valeurs les plus importantes pour les mettre en évidence en affichant leur nom. Concernant les figurés, ils sont générés sur une couche de travail "work" effacée à chaque lancement. Il est possible de la sauvegarder en la renommant.

 3) Définir la taille des figurés du plus petit au plus grand. Il est possible de leur donner la même taille ou de définir une taille minimum nulle pour éviter de représenter les valeurs nulles.

 4) une aide est disponible, si vous souhaitez avoir plus de détails sur les méthodes disponibles.

A savoir

Après l'utilisation de la macro, vous bénéficiez de toutes les fonctionnalités de LibreOffice pour agrémenter vos réalisations.

La notion de style à été introduite depuis la version 2 de GeOOo, ainsi les formes ne sont pas remplies directement, la macro affecte à chaque forme un style  geo1 à geo..x,  suivant les critères exposés plus haut. Il est donc possible  de modifier l'apparence de toutes les formes associées à un même style (couleur, formatage des lignes...), sans devoir relancer GeOoo.

Les styles héritent tous du style "geo". Vous pouvez modifier la police, la taille des caractères de toutes les formes en modifiant ce style sans toucher au remplissage des formes, ajouter des hachures à un style et modifier immédiatement l'apparence des formes associées.

Vous pouvez décider de faire disparaitre les formes en modifiant le style "georaz", chargé d'effacer la carte, pour insérer un fond de carte en superposition sur une nouvelle couche, placée en arrière plan (comme ci-dessous).

GeOOo8

 

 

 

 

 

 

Exemples de réalisations autour des élections régionales 2010

regionales2

 

Taux de participation dans les communes de  Bretagne au second tour des élections régionales 2010 (d'après les données du ministère de l'Intérieur via Géoclip)

 

 

 

regionales3

 

Vote pour le parti des Verts dans les communes de Bretagne au second tour des élections régionales 2010 (d'après les données du ministère de l'Intérieur via Géoclip)

 

 

regionales1

 

 

 

 

Une répartition nationale des votes droite/gauche, d'après les données du ministère de l'Intérieur.

 

 

 

 

D'autres réalisations sont disponibles sur l'album PicasaWeb


KmlOOo ou comment importer des cartes de Google Earth dans LibreOffice

 

Où trouver les polygones pour KmlOOo ?

 alabama1

Les polygones qui nous intéressent sont inclus dans un fichier kml, lui même au format xml, qui est une manière plus structurée de stocker les informations. Prenons l'exemple de ce  fichier « alabama.kml », téléchargé depuis le site : Zonum Solutions : Color your map

Si vous êtes curieux, vous pourrez visualiser ce fichier avec un éditeur de texte, comme PSPad et constater parmi la forêt de balises, celles qui nous intéressent:

<placemark><name>Limestone</name></placemark>...
<polygon><coordinates> -85.084213256836,32.602867126465,0 -85.07....</coordinates></polygon>

La balise "placemark" de ce fichier  indique que le polygone qui va suivre représente le comté de Limestone. Celle nommée "coordinates" contient l'ensemble des points du polygone, sous forme de coordonnées géographiques.

L'objectif de KmlOOo est d'importer ces polygones dans le module de dessin vectoriel d'OpenOffice en s'appuyant sur ce fichier kml téléchargé.

 

Lancement de KmlOOo

lancer_kmlOOoL'installation de KmlOoo suit les mêmes principes que celle de GeOoo. Une nouvelle option apparait dans le menu Outils > add-ons > kmlOoo, du module de dessin vectoriel "Draw"

 Lancez la macro à partir d'un document vierge.

 

boite_dialogue_kmlOOo

L'unique boite de dialogue vous demande de préciser les coordonnées géographiques qui serviront au centrage de la carte sur le dessin. Le point indiqué se positionnera au centre du dessin et servira de base à la génération des formes.

Vous devez également renseigner l'échelle de votre dessin. Il est assez facile de l'estimer selon qu'il s'agit d'une commune ou d'un continent.

 

Conversion des coordonnées

 GEposition

Pour convertir les coordonnées affichées par Google Earth en coordonnées géographiques, il existe des utilitaires, lancés en parallèle de Google Earth, comme GoogleEarthPosition qui effectue la conversion en instantané.

Elle s'effectue suivant la projection Lambert II centrée sur la France, ce qui donne une inclinaison pour les lointaines contrées.

 

 

 

 

Résultats de la conversion

 alabamaOOoDans la mesure ou la balise <name> est renseignée, la macro récupère cette information et renseigne le nom de la forme associée. Il est donc possible d'utiliser les cartes générées par kmlOOo directement dans GeOoo qui nécessite le nommage des formes. OpenOffice accepte que plusieurs formes portent le même nom, c'est le cas quand vous copiez une forme dans OpenOffice.

Par contre il refuse de le faire si vous passez par le menu "Modifier > nom". Si plusieurs formes portent le même nom, vous pouvez choisir de les combiner par "Menu modifier>combiner> et de donner le nom souhaité à cette combinaison. Cette particularité ne fonctionne pas avec l'option "Grouper".

 

 OOo_navigateur

 

 

En activant le navigateur (F5), vous pouvez visualiser l'ensemble des formes générées. En fin de procédure, le navigateur est le moyen de constater que les formes ont bien été récupérées avec leur nom.

 

 

 

 

 

 

  


Auteur : Christian Hervé, concepteur de la macro, responsable de projets informatiques dans un groupe industriel et de négoce de matériaux à Landivisiau (29).

 

 


notice légale