16 novembre 2010

Comment contourner l'absence d'entité géographique dans OSM ?

Dans le cadre des midis-conférences du CRG, j'ai assisté aujourd'hui à une présentation très intéressante de M. Stefan Keller (professeur à l'Université des sciences appliquées de Rapperwil en Suisse). M. Keller et son équipe se sont attardés à la situation suivante:

D'un point de vue SIG/GIS, la structure de donnée derrière OpenStreetMap (OSM) ne permet pas une symbolisation personnalisée par entité géographique (point, ligne, polygone)

Considérant les primitives de base d'OSM (nodes, ways, relations et tags), la possibilité de convertir ces éléments en entités géographiques devient très intéressante. Dans cette optique, les projets de recherche de M. Keller et ses étudiants ont méné à la création de OSM-in-a-box. Il existe présentement plusieurs outils de conversion pour OSM:
Par contre, ces outils demeurent étroitement liés au modèle original de données. OSM-in-a-box quant à lui, est un puissant outil (développé en JAVA) dont la pièce maîtresse est osm2gis. Ce dernier permet:
  • Extraction de données d'OSM (en supportant les filtres)
  • Conversion des données d'OSM en entités géographiques
  • Insertion automatique des données (converties) dans PostgreSQL/PostGIS
  • Récupération périodique et configurable des données afin de maintenir à jour votre base de données locale. Une fois le chargement massif initial terminé, seul le différentiel sera considéré.
Une fois les données emmagasinées localement au sein de votre base de données, elles pourront être diffusées facilement avec votre serveur WMS/WFS préféré et ce, en appliquant vos propres styles (à partir de fichiers SLD par exemple). Ce traitement était auparavant impossible à partir de la structure native d'OSM.

9 novembre 2010

Drupal: un CMS hautement spatialisé...

J'ai eu mes premiers contacts avec les CMS (Content Management System) il y a de cela quelques semaines seulement. J'avais comme objectif de mettre en place une application Web qui regrouperait les fonctionnalités suivantes:
  • Affichage d'une carte numérisée avec les options de navigation standard (zoom, pan)
  • Offrir la possibilité de dessiner des zones sur la carte (édition de point, ligne et polygone) et d'y associer du texte (formulaire)
  • Mettre en place une authentification simple mais obligatoire pour l'édition
  • Ajouter une section pour gérer les commentaires des visiteurs
Rapidement, j'ai retenu TileMapper pour tuiler la carte et Openlayers pour prendre en charge le volet de l'affichage cartographique ainsi que les options d'édition. J'étais sur le point de débuter la programmation du reste de l'application lorsqu'un collègue m'a interpellé en me disant:
"Tu sais, il existe des CMS pour gérer tout
cela et Drupal le fait très très bien!"

Il n'en fallait pas plus pour piquer ma curiosité. J'ai donc effectuer quelques recherches pour en savoir un peu plus sur ce Drupal. Ce que j'ai découvert m'a ravi :
  • Installation très simple (requiert Apache+PHP)
  • Compatible avec MySQL ou PostgreSQL
  • Excellente architecture du produit (templates, modules, "upgrade")
  • Communauté utilisateurs/développeurs importante et très active
  • Plus de 2000 modules qui viennent compléter l'application de base (Ajax, JQuery, etc...)
Mais ce qui m'a séduit davantage ce sont les nombreux modules qui touchent le géospatial:
  • Geo : pour le chargement de données géospatiales dans le SGBD ;
  • OpenLayers: affichage de carte, gestion des "overlay" et des autres sources de données (WMS, KML). Ne pas confondre avec la librarie javascript du même nom ;
  • GMAP: Intégre des Mashups Google facilement et sans connaissance de l'API ;
  • Location: Géocoder des adresses en points géolocalisés ;
  • nicemap, mapping kit et trackfield.
En conclusion, le CMS Drupal combiné avec quelques modules spécifiques m'ont permis de déployer une application Web rapidement, avec toutes les fonctions attendues et pratiquement sans programmation. Dans mon livre à moi, c'est un succès et une technologie à découvrir encore davantage.

2 novembre 2010

Installation de logiciels géo. pour les nuls...

Pour ceux qui travaillent sur une distribution CentOS ou RedHat, vous serez contents d'apprendre qu'il existe un dépôt/référentiel (de l'anglais "repository") de paquets (RPM) destinés aux principaux logiciels libres en géomatique.


On y retrouve entre autres les versions récentes suivantes:

Ceux qui ont déjà compilé le code source de ce type d'applications savent que cet exercice peut rapidement devenir un irritant majeur pour ceux qui, comme moi, ne baignent pas en permanence dans ce créneau. Munis d'un assistant comme YUM, l'installation de logiciels ainsi que la gestion de leurs dépendances devient un jeu d'enfants:
  • yum install PostGIS
  • yum install MapServer
En plus de l'application elle-même, les dépendances seront identifiées et installées AUTOMAGIQUEMENT.

Pour ceux sous Ubuntu, rassurez-vous car il existe aussi le même genre de dépôt: https://wiki.ubuntu.com/UbuntuGIS

Merci aux gens qui maintiennent ces paquetages et longue vie à ces "repository"!