À ce jour, l’extension GIS disponible pour l’ETL Apache Hop ne permet pas d’encoder ou de décoder dans un pipeline des géométries au format GeoJSON en dehors des étapes de lecture ou d’écriture de fichier SIG (GIS File input et GIS File output)

L’astuce ci-dessous permet de lever cette limite en permettant de convertir directement les géométries depuis le format WKT vers le format GeoJSON ou inversement. Cela permet par exemple de valoriser une extraction GeoJSON issue d’un service web sans passer par l’écriture préalable dans un fichier du contenu récupéré ou de formater une géométrie au format GeoJSON pour répondre à des besoins spécifiques

On ne va pas se mentir, pour mettre en œuvre cette astuce, nous allons devoir passer par quelques lignes de code après avoir ajouté les librairies Java qui permettent d’encoder et de décoder le format GeoJSON. Même si vous disposez l’extension GIS dans votre instance Apache Hop, cela n’est pas suffisant, les méthodes permettant de d’encoder et de décoder le format GeoJSON n’étant pas présentes dans l’extension.

Pour combler ce manque, récupérez et déposez dans le sous dossier /lib/core de votre dossier d’installation d’Apache Hop les fichiers jts-io-common-1.20.0.jar et jts-core-1.20.0.jar disponibles ici : https://sourceforge.net/projects/jts-topology-suite.mirror/files/1.20.0 puis relancez apache Hop pour prendre en compte les changements

1. Décodage de géométries GeoJSON en une géométrie WKT

Cette étape passe par l’utilisation d’une User defined Java Class qui va permettre de mobiliser le décodeur GeoJSON proposé par les librairies ajoutées. Voici le code utilisé :

2. Encodage de géométries GeoJSON à partir d’une géométrie encodée en WKT

Le principe reste identique mais nous utiliserons ici une GeoJsonWriter et un WKTReader en remplacement des GeoJsonReader et WKTWriter.

Cette astuce  ne remplace pas une brique dédiée qui pourrait venir compléter l’extension Gis d’Atol CD mais permet de répondre à des cas d’usage spécifiques qui peuvent se présenter lors de la manipulation d’information géographique vectorielle avec Apache Hop.

N’hésitez pas à contacter l’équipe Agaric IG pour vos besoins d’accompagnement (demande d’informations, formation, réalisation de processus) Apache Hop !