Depuis peu, la Release Candidate de Geokettle 2.0 est disponible en téléchargement sur Sourceforge . Pour rappel, cet ETL basé sur Pentaho Data Integration ajoute à ce dernier des fonctionnalités dédiées à la manipulation de l’information géographique. Si les premières versions de GeoKettle proposaient déjà des fonctionnalités intéressantes (cf. billet précédent), il faut bien reconnaître que pour cette version, les équipes de Spatialytics ont clairement mis le paquet afin de proposer une version corrigée et très enrichie de Geokettle. Cette dernière, encore basée sur un coeur PDI 3.2 fonctionne en 32 ou 64bits ; des réflexions sont en cours pour porter les fonctionnalités spatiales vers les versions 4.x de PDI.

# Premières impressions

# Un installateur dédié

Geokettle dispose désormais d’un script d’installation dédié. L’installation par décompression d’un zip reste bien entendu possible mais désormais, les géomaticiens n’auront plus d’excuses pour ne pas installer cet outil sur leur poste.

# Une prévisualisation cartographique des données

Un mécanisme de prévisualisation cartographique est désormais disponible pour toutes les étapes. Un onglet « Vue géographique » permet de visualiser la représentation des différentes colonnes géométriques présentes dans le flux. Les actions de zoom, de centrage, d’interrogation d’objets et de personnalisation des styles cartographiques sont également proposées. A l’usage, cet onglet se révèle bien pratique pour vérifier sur des jeux de données restreints que les traitements à réaliser sont corrects avant de lancer ces derniers sur des gros volumes.

Prévisualisation cartographique des données

# A la recherche des fonctionnalités spatiales cachées

Contrairement aux versions précédentes de Geokettle, les étapes spécifiquement dédiées à la manipulation d’informations spatiales ne sont plus regroupées dans une catégorie « Geospatial » de la palette de création mais sont « éclatées » dans les rubriques existantes (Extraction, Alimentation, Transformation) . En effet, certaines fonctionnalités spatiales étant cachées (c’était déjà le cas avant) dans les briques classiques de PDI (Calcul, Agrégation valeurs), on pouvait avoir l’impression que les fonctionnalités spatiales restaient limitées à quelques étapes… Faux. Du reste cette méthode de classement semble finalement plus appropriée même si elle oblige à explorer les différentes briques nativement présentes dans PDI 3.2.

Briques spécifiques à Geokettle et briques « classiques » améliorées

# Les nouveautés majeures

Dans cette version, l’accent a clairement été mis sur les formats d’entrées / sorties et sur les interfaces de manipulation de l’information spatiale. Le recours aux étapes de scripts devrait donc être moins courant.

# Une intégration d’OGR

Si des étapes spécifiques dédiées à la lecture et à l’écriture de fichier GML et KML sont désormais proposées, c’est surtout le couplage avec OGR qui permet d’ouvrir de larges perspectives à l’outil. En effet, l’ensemble des formats « fichiers » proposé par OGR est désormais disponible en lecture ou en écriture. Si la lecture ne pose pas de problème particulier, il convient néanmoins de consulter la document OGR pour les options de sorties. Notons également la présence des étapes dédiées à la récupération de données issues de capteurs et à la lecture/écriture vers les serveurs de métadonnées. Coté bases de données, les entrées / sorties vers Postgresql/Postgis et Oracle restent disponibles, des corrections ont été apportés.

# Une brique de calcul améliorée

La brique « calcul » propose désormais des opérateurs sur les types « geometry ». On dispose ainsi de fonctionnalités permettant d’interroger les propriétés des objets (surfaces, longueurs, enveloppe, etc) mais aussi de réaliser des géotraitements (unions, zones tampons intersections, etc.).

Une brique de calcul enrichies de fonctionnalités spatiales

Bien entendu, si ces fonctionnalités ne suffisaient pas, il est toujours possible d’utiliser une étape de script et d’appeler directement les fonctionnalités proposées par JTS. Quelques astuces seront prochainement proposées sur ce blog.

L’utilisation de JTS à partir de scripts reste toujours possible

# Les géotraitements plus accessibles

La brique « Analyses Spatiales » propose les fonctionnalités de geotraitement (intersection, différence, centroide, etc) disponibles habituellement dans les outils SIG et permet de travailler sur 1 ou 2 flux spatiaux. Les équipes de Spatialytics ont même poussé leurs travaux jusqu’à proposer les fonctionnalités offertes par la dernière version de JTS. Il est donc possible de réaliser des buffers unilatéraux.

La génération de zones tampon exploite les fonctionnalités de JTS 1.12

# L’union géométrique (enfin) disponible

L’étape « Agrégation valeurs » propose (enfin!) de réaliser des opérations de types « Union géométrique », « Calcul d’étendue globale », etc. Dans les premières versions, l’absence de cette fonctionnalité s’avérait handicapante pour de nombreux traitements ; c’est désormais du passé.

Union géométrique : un manque désormais comblé

# Un premier plugin déjà disponible

Un premier plugin est déjà disponible. Basé sur la librairie sextante, il intègre une partie des fonctionnalités proposées pour la manipulation de l’information vectorielle. Son utilisation est donc complémentaire des fonctions disponibles nativement dans Geokettle. On retrouvera notamment dans ce plugin des outils de conversion de types de géométries, de clipping et de simplification.

Le plugin sextante en complément des fonctionnalités natives de Geokettle

# En conclusion

Cette nouvelle version constitue une avancée majeure, tant en terme de fonctionnalités qu’en terme d’accessibilité. Geokettle trouvera naturellement sa place dans la trousse à outils des géomaticiens mais il y’a fort à parier qu’il rejoindra rapidement le groupe des incontournables (Geoserver, Geonetwork, Postgis ) au sein des infrastructures de données spatiales. Parallèlement, cet outil s’inscrivant dans une suite Géodécisionnelle, il devrait donc bénéficier de l’engouement pour ce type de demandes.