Apache Hop dispose d’une étape de transformation “Apache Tika” qui permet d’extraire des métadonnées sur les fichiers de différents formats.

Dans ce billet, nous allons exploiter cette possibilité pour extraire les coordonnées géographiques contenues dans les métadonnées de fichiers photos afin de produire des géométries ponctuelles manipulables avec les plugins GIS.

1. Extraire les métadonnées GPS/GNSS des photos

L’étape Apache Tika permet d’extraire au format JSON toutes les métadonnées Exif d’un ensemble de photos.

Parmi elles, se trouvent potentiellement les coordonnées géographiques. Si c’est le cas, ces dernières sont mentionnées sous la forme degrés minutes secondes (DMS) en WGS 84.

2. Convertir les coordonnées DMS en coordonnées DD puis en “Geometry” Apache Hop

La conversion en degrés décimaux nécessite d’isoler chaque valeur numérique des coordonnées en degrés, minutes et secondes. Cette étape est réalisée avec l’utilisation d’une expression régulière appliquée pour la longitude et pour la latitude.

La formule de calcul est ensuite appliquée pour calculer les longitudes et les latitudes en degrés décimaux et reconstruire une géométrie au format WKT.

Cette dernière sera ensuite convertie en type “Geometry” d’Apache Hop par une étape “Select values” (Alteration structure flux)

Une extensions dédiée ?

Si ce besoin d’extraction de coordonnées géographiques à partir de photos revenait régulièrement, il faudrait légitimement se poser la question du développement d’une extension dédiée permettant d’extraire et de convertir automatiquement les métadonnées EXIF de localisation contenues vers le type “Geometry” Apache Hop.