#1 Mon 21 January 2019 09:18
- dhaulagiri
- Participant occasionnel
- Lieu: Nîmes, Gard
- Date d'inscription: 1 Dec 2006
- Messages: 46
- Site web
QGIS: Optimisation de l'affichage de raster
Bonjour,
J'aborde un sujet déjà maintes fois abordé mais pour lequel je ne trouve pas de solution satisfaisante: celui de l'optimisation de l'affichage de raster.
Contexte: migration progressive vers QGIS (moins d'une dizaine d'utilisateurs en client lourd).
Problème: on dispose d'accès aux flux WMS de l'IGN mais j'ai aussi besoin d'accéder aux données (JP2) que nous hébergeons en interne sur un serveur: ORTHO, SCAN, images satellites, etc. L'emprise la plus grande est départementale. Je suis alors confronté à un dilemme déjà décrit et que je ne parviens pas à résoudre:
- charger toutes les dalles: c'est assez rapide mais le paramétrage dans QGIS est fastidieux
- créer une mosaïque: donne des résultats inégaux. Pour les SCAN, l'affichage est à peine plus rapide mais ça va. Par contre, pour les ORTHO, c'est une catastrophe.
J'ai fait beaucoup de tests pour créer des VRT avec gdalbuildvrt et générer des pyramides avec gdaladdo pour les affichages aux petites échelles. Je ne trouve aucun paramétrage satisfaisant. Je suis aussi confronté parfois à la volumétrie des fichiers OVR.
Bref, je ne m'en sors pas et je demande donc de l'aide à ceux d'entre vous qui ont eu à gérer cette situation. Comment avez-vous fait?
Merci d'avance, Nicolas
Salutations, Nicolas.
Hors ligne
#2 Mon 21 January 2019 12:41
- Renaud
- Membre
- Lieu: Ploemeur (56)
- Date d'inscription: 9 Mar 2006
- Messages: 2315
Re: QGIS: Optimisation de l'affichage de raster
Bonjour,
Qu'appelles tu 'catastrophique' ?
Si tu héberge des données en local, tu dois pouvoir les retravailler, par exemple en mosaïquant tout dans un fichier ecw ou jp2 par couche.
A titre d'exemple : j'ai sur un réseau pas performant un ECW de 82Go qui contient une BD Ortho 50cm sur 1/4 de la Métropole. Le temps d'affichage dans QGIS varie entre <1s et ~8s selon les échelles.
Renaud Mouche
Hors ligne
#3 Mon 21 January 2019 13:31
- dhaulagiri
- Participant occasionnel
- Lieu: Nîmes, Gard
- Date d'inscription: 1 Dec 2006
- Messages: 46
- Site web
Re: QGIS: Optimisation de l'affichage de raster
Merci
1 à 5 minutes facilement, selon la taille de la mosaïque et l'emprise affichée . C'est beaucoup plus rapide aux grandes échelles, quand il y a peu de dalles. Sur le 1/4 d'une commune, j'attends à peu près le même temps que toi pour le 1/4 de la France!
En théorie, le réseau est performant. L'affichage des dalles directement est d'ailleurs plutôt rapide même s'il pourrait être meilleur. C'est avec les VRT que ça se complique...
Quand tu parles de retravailler, tu veux dire créer une dalle unique? Je peux toujours faire un essai mais sur le principe je trouve ça dommage. Au point où j'en suis...
Salutations, Nicolas.
Hors ligne
#4 Mon 21 January 2019 13:59
- Renaud
- Membre
- Lieu: Ploemeur (56)
- Date d'inscription: 9 Mar 2006
- Messages: 2315
Re: QGIS: Optimisation de l'affichage de raster
L'ECW et le JPEG2000 ont un système de compression qui favorise le fichier unique par rapport aux mosaïques.
C'et plutôt la livraison d'une mosaïque de JPEG2000 qui tient de l'hérésie.
Renaud Mouche
Hors ligne
#5 Mon 21 January 2019 14:48
- dhaulagiri
- Participant occasionnel
- Lieu: Nîmes, Gard
- Date d'inscription: 1 Dec 2006
- Messages: 46
- Site web
Re: QGIS: Optimisation de l'affichage de raster
J'ai lu rapidement des choses là-dessus mais j'avoue ne pas avoir pris le temps d'en étudier les tenants et les aboutissants.
Tu as utilisé GDAL pour créer ton ECW? Quelle fonction en particulier: merge? translate? une autre? Je fais des essais sur une zone avant de généraliser si c'est concluant.
Je te remercie pour ton aide en tout cas.
Salutations, Nicolas.
Hors ligne
#6 Mon 21 January 2019 15:22
Re: QGIS: Optimisation de l'affichage de raster
De mon coté, avec des ortho IGN livrées sur 28 départements, j'ai fini, après beaucoup de comparatifs, par tout passer en geotiff.
1/3 de volume en plus, mais bien plus simple à maîtriser au niveau des options.
Un gros tif jpg tuilé, des .ovr externalisé, et l'assurance que j'aurais aussi le droit de m'en servir en contexte server. (Pour mémoire, l'utilisation des drivers ecw pose des soucis légaux sur un contexte server, on en a déjà beaucoup parlé ici)
mar référence: http://blog.cleverelephant.ca/2015/02/g … mmies.html
Régis
Hors ligne
#7 Mon 21 January 2019 15:34
- Renaud
- Membre
- Lieu: Ploemeur (56)
- Date d'inscription: 9 Mar 2006
- Messages: 2315
Re: QGIS: Optimisation de l'affichage de raster
Salut,
Je suis passé par FME pour l'ECW
Renaud Mouche
Hors ligne
#8 Mon 21 January 2019 15:41
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: QGIS: Optimisation de l'affichage de raster
Selon le driver utilisé pour décoder le jpeg2000 les performances sont très variables. Par défaut c'est le driver openjpeg qui n'est pas encore au niveau des solutions propriétaires comme le driver ERDAS JP2/ECW dont l'usage gratuit est limité à la lecture seule. Ce dernier s'installe facilement sous windows via l'installateur OsGeo4W (paquet gdal-ecw); ensuite dans QGIS allez dans options/GDAL pour choisir le driver à utiliser et comparer les performances.
Pour ma part je ne souhaite pas dépendre d'un driver propriétaire donc je passe mes fonds de carte en compression jpeg dans un conteneur tiff ou geopackage. En terme de volume le ratio est moins bon que le jp2 (d'autant que les fichiers livrés par l'IGN semblent particulièrement bien optimisés, je crois qu'ils utilisent la librairie Kakadu) mais vu la taille des disques de nos jours j'imagine que pour beaucoup ça n'est plus une contrainte.
Dernière modification par dominique.lys (Mon 21 January 2019 16:06)
Hors ligne
#10 Mon 21 January 2019 20:31
Re: QGIS: Optimisation de l'affichage de raster
Bonjour,
Seuls les VRT me permettent de mettre à disposition des raster IGN de
manière optimale sous QGIS tout en conservant l'utilisation des dalles
par d'autres applications métiers. La procédure et les paramètres que
j'emploie sont :
Pour la génération du VRT :
"C:/OSGeo4W64/bin/gdalbuildvrt.exe" "\BDORTHO\N_ORTHO_COUL_019_2012.vrt"
"\BDORTHO\2012\D019-ED12\1_DONNEES_LIVRAISON\*.ecw" -overwrite -a_srs
EPSG:2154 -addalpha
Pour éviter que qgis ne recalcule les statistiques à chaque ouverture du
VRT :
"C:/OSGeo4W64/bin/gdalinfo.exe" -approx_stats
"\BDORTHO\N_ORTHO_COUL_019_2012.vrt"
Pour éviter la récupération de toutes les dalles en cas d'ouverture à
l’échelle du département
"C:/OSGeo4W64/bin/gdaladdo.exe" -ro --config COMPRESS_OVERVIEW LZW
--config INTERLEAVE_OVERVIEW PIXEL
"\\ct69-SIGI\ref\BDORTHO\N_ORTHO_COUL_019_2012.vrt" 32
Le format géopackage donne de très bon résultats aussi bien en ouverture
initiale de la dalle départementale qu'en déplacement en son sein ou en
zoom. C'est une bonne solution si on accepte un format moins universel
et de re-générer un géopackage départemental.
Christophe
Hors ligne
#11 Thu 24 January 2019 14:49
- dhaulagiri
- Participant occasionnel
- Lieu: Nîmes, Gard
- Date d'inscription: 1 Dec 2006
- Messages: 46
- Site web
Re: QGIS: Optimisation de l'affichage de raster
Bonjour,
Un petit retour après avoir fait des tests basés sur vos conseils.
J'ai trouvé une solution qui me convient :
- conversion vers des dalles GeoTIFF. Je gagne 1/3 de poids par rapport au JPEG2000.
- création d'une mosaïque virtuelle (gdalbuildvrt)
- calcul des statistiques (gdalinfo)
- création de pyramides 16 32 (gdaladdo)
Le passage en GeoTIFF a eu son effet je pense.
Une remarque par rapport à la méthode "Paul Ramsey" utilisée par Régis: sur mes images Pléiades (pas testé sur d'autres sources pour l'instant), outre les problèmes de colorimétrie (RVB vs YcBcR), je ne peux pas combiner la compression JPEG avec le BigTIFF nécessaire pour créer une image unique sur mon territoire. Du coup, si je génère un BigTIFF sans compression JPEG, j'obtiens un fichier de 38Go, sachant que le volume de du JPEG2000 sur la même emprise est de 6Go! Quand on ne maîtrise pas le sujet, on ne maîtrise pas les paramétrages non plus... Régis, je veux donc bien connaître ta procédure si tu veux bien la partager.
Merci à vous tous
Salutations, Nicolas.
Hors ligne