J'ai eu un soucis lorsque j'ai installé un serveur QGIS, associé au web client Lizmap : toutes mes orthophotos livrées par l'IGN étaient au format propriétaire ECW. Or mon serveur ne supporte pas ce format.
J'ai voulu convertir mes ECWen un format libre tout en gardant l'avantage du poids de l'ECW.
Après avoir posté mon problème sur le forumSIG (http://www.forumsig.org/showthread.php/40755-Support-de-l-ECW), en suivant les explications de Mdouchin, et en feintant un peu, je pense avoir trovué THE solution: passer en Geotiff !
Tout d'abord cela dépend :
- du nombre de de dalles à convertir
- de la taille des dalles à convertir
- de la présence ou non d'une bande de transparence dans vos orthos
Dans mon cas j'avais plus de 1000 dalles en ECW pour couvrir mon territoire qui étaient assemblées en une seule ortho.
1. ECW sans bande de transparence
- Conversion de l'ECW en Geotiff
gdal_translate -co COMPRESS=JPEG -co JPEG_QUALITY=90 -co PHOTOMETRIC=YCBCR -co TILED=YES -co BIGTIFF=YES -of GTiff C:/repertoire1/orthophoto.ecw C:/repertoire2/orthophoto.tiff
- Construction des pyramides pour un affichage optimisé:
gdaladdo -r AVERAGE -ro --config JPEG_QUALITY_OVERVIEW 90 --config COMPRESS_OVERVIEW JPEG --config PHOTOMETRIC_OVERVIEW YCBCR --config INTERLEAVE_OVERVIEW PIXEL --config BIGTIFF_OVERVIEW YES -clean C:/repertoire2/orthophoto.tiff 2 4 8 16 32 64
Ajouter --config GDAL_CACHEMAX 1000 --config GDAL_MAX_DATASET_POOL_SIZE 1014 lors de la conversion et --config GDAL_CACHEMAX 1000 lors de la construction des pyramides.
Les options -co PHOTOMETRIC=YCBCR et --config PHOTOMETRIC_OVERVIEW YCBCR ne fonctionnent que sur des dalles sans bande transparente.
Le résultat est surprenant, on peut descendre à une qualité JPEG de 40 en gardant un résultat tout à fait acceptable!
Exemple: Geotiff + pyramides = 10 Go (Dont 3.21 Go de pyramides) au lieu de 17 pour l'ecw.
2. ECW avec bande de transparence
Ajouter --config GDAL_CACHEMAX 1000 --config GDAL_MAX_DATASET_POOL_SIZE 1014 lors de la conversion et --config GDAL_CACHEMAX 1000 lors de la construction des pyramides.
Les options -co PHOTOMETRIC=YCBCR et --config PHOTOMETRIC_OVERVIEW YCBCR ne fonctionnent que sur des dalles sans bande transparente.
Le résultat est surprenant, on peut descendre à une qualité JPEG de 40 en gardant un résultat tout à fait acceptable!
Exemple: Geotiff + pyramides = 10 Go (Dont 3.21 Go de pyramides) au lieu de 17 pour l'ecw.
2. ECW avec bande de transparence
Ça se corse si on a une bande transparente que l'on voudrait bien garder. J'ai voulu convertir ma dalle unique mais le résultat, surtout des pyramides, était énorme en poids, donc pas acceptable dans mon cas.
Exemple: conversion
d'un ECW de 10 Go en Geotiff, je me retrouve avec un fichier de 32 Go + 18 Go de pyramides.
J'ai tout testé et au final je me suis retrouvée avec des
poids variables mais toujours supérieurs à l'ECW : de 8 à 40 Go pour un ECW de 2
Go au départ.
Je dispose donc de plusieurs dalles ortho, assemblées en un
seul ECW de 2 Go.
J'ai tenté de convertir la dalle en entier en Geotiff puis de
faire des pyramides: poids énorme!
J'ai tenté de convertir la dalle unique en VRT puis de faire
les pyramides : énorme!
J'ai tenté de convertir chaque dalle en tiff puis de faire
un VRT puis les pyramides: énorme!
et au final j'ai tenté de ...
- Convertir chaque dalle ECW en Geotiff compressé à 75 (avec un bash pour la conversion en lot, cf. article sur les bash) :
gdal_translate
-co COMPRESS=JPEG -co JPEG_QUALITY=75 -co
-co TILED=YES -co BIGTIFF=YES -of GTiff C:/repertoire/orthophoto.ecw
C:/repertoire2/orthophoto.tiff
- Créer pour chaque Geotiff les pyramides avec aussi un bash) :
gdaladdo -r
AVERAGE -ro --config JPEG_QUALITY_OVERVIEW 75 --config COMPRESS_OVERVIEW
JPEG --config BIGTIFF_OVERVIEW YES
-clean C:/repertoire2/orthophoto.tiff 2 4 8 16 32 64
- assembler en VRT dans QGIS ou via GDAL (buildvrt)
J'obtiens en tout : pyramides + Geotiff + VRT 2.38 Go
PS: configuration Windows 7 (je sais, je devrais être sous LINUX, c'est prévu :) )
PS: configuration Windows 7 (je sais, je devrais être sous LINUX, c'est prévu :) )
Aucun commentaire:
Enregistrer un commentaire