GIS-Blog.fr

Author: Quentin P

Travailler du ecw sur ubuntu avec docker

Certains gros fournisseurs d’images aériennes proposent des fichiers au format ecw (porté par Hexagon geospatial)

Le problème est que sur Ubuntu, la librairie de lecture de ce format d’image raster n’est pas installé de base avec Qgis et qu’il faut souvent mettre les mains dans le cambouis pour l’installer.

Plusieurs  personnes ont indiqué des guides mais ceux-ci ne sont plus toujours à jour.

Makina corpus 2013

gis.stackechange.com en 2014

Le problème qu’on peut voir c’est que les logiciels évoluent et que certaines astuces ne fonctionnent plus. Alors, quitte à mettre les mains dans le cambouis, autant aller faire un tour chez docker, un système de container permettant de créer des environnements logiciels isolé. Il existe un système de hub où plusieurs personnes déposent des applications développées en accès libre. Les gens de Klokan Technologies ont développé un container qui répond bien à nos besoins.

Il permet de lancer un terminal avec une version de GDAL qui intègre la librairie ECW.

Au lieu de modifier, compiler et se prendre la tête, il suffit de lancer une commande pour avoir accès à un shell, nous permettant de naviguer dans nos données (il faut évidement installer docker préalablement depuis les sources docker et non les dépôts ubuntu qui ne sont pas à jour).

Installation de docker

La première commande installe curl et la seconde ajoute de dépôt à ubuntu et réalise l’installation. Le script de  get docker devrait demander un droit d’administrateur.

sudo apt-get update
sudo apt-get update
sudo apt-get install curl 
curl -fsSL https://get.docker.com/ | sh

 

La page de référence (en anglais est disponible ici):
https://docs.docker.com/linux/step_one/

 

Lancement du container pour faire nos modifications de fichiers

Docker installer, on peut passer au container

docker run -ti --rm -v $(pwd):/data klokantech/gdal /bin/bash

gdalinfo

Le script qu’on utilise prend les fichiers et les change de format en
les compressant selon les préconisations de Paul Ramsey.

#!/bin/bash

for FILE in *.ecw; do
  echo "processing $FILE"
  gdal_translate -co COMPRESS=JPEG  -co PHOTOMETRIC=YCBCR  -co TILED=YES  -a_srs EPSG:2154 "$FILE" "$FILE.tif"
done

Ce code peut être évidement amélioré, on peut enlever l’extension pour ne mettre que .tif
le résultat a le mérite de fonctionner et d’apporter une meilleure compression que l’ECW dont je ne connais absolument pas les caractéristiques (générale et spécifiques à ces données).

 

La comparaison visuelle avec les images issues de google satellite donne l’impression qu’on y perd un peu quand même mais cela n’est pas déterminant dans le travail réalisé ici (le protocole de comparaison est assez rudimentaire). à droite, le rendu après compression.
J’aurais bien fais une comparaison avec les données d’origine mais je ne peux pas les lire…

degradation

Et  donc, on gagne un peu en taille à l’occasion

11

Et ça marche dans Qgis maintenant

le_beau_village

Voilà, si vous souhaitez avoir quelques détails ou infos, ou mieux, vous pouvez apporter des précisions, n’hésitez pas.

Retour sur le Hackfest Qgis de Las Palmas

Cet article est initialement paru en anglais de Alessandro Pasotti (développeur de Qgis) à cette adresse le 11/11/2015. Nous avons estimé l’éclairage intéressant pour comprendre ce qu’il se passe dans le projet Qgis et les défis qui s’offrent à lui.

La semaine dernière j’ai passé quelques jours au Hackfest Qgis à Las Palmas, voici quelques notes personnelles de l’événement.

Premièrement, j’aimerais remercier Pablo et ses amis pour l’extraordinaire organisation. Malheureusement, je ne pouvais pas passer plus de deux jours mais ceux-ci ont été mémorables.