#1 Fri 15 September 2017 10:12
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
QGIS: VRT et lien vers les Raster source
Bonjour à vous,
Avec les Ortho départementales HR20cm (JP2) qui débarquent, j'ai un peu de mal à optimiser l'affichage des Raster dans QGis.
Je gère habituellement ça avec Global Mapper / ECW, mais après deux plantages* en fin de processus (après 1 journée de calculs), je me dis que je pourrais essayer des alternatives.
J'ai le sentiment que les VRT seraient LA solution.
Sans avoir à recréer un nouveau Raster, je me dis que j'aimerai juste créer un "catalogue d'images" (je viens du monde ArcGis à la base), qui fasse le lien vers les Orthos source en fonction de l'emprise, et que je n'afficherait qu'au delà d'un certain niveau de zoom.
Est-ce une fonctionnalité des VRT ? Parceque jusqu'à présent, le processus me créé toujours un nouveau raster assemblé. Ne peut-on pas juste demander que le VRT charge les raster sources ? (sans pyramide d'images ou autres)
Merci pour vos conseils.
Sylvain M.
* je me demande si mes plantages ne viendraient pas d'une config insuffisante de mon poste (8 Go de RAM, processeur I7 à 3.4 GHz)...
Pensez-vous que ça vaudrait le coup d'augmenter ma RAM pour ce genre de process ?
Sylvain M.
Hors ligne
#2 Mon 18 September 2017 12:47
Re: QGIS: VRT et lien vers les Raster source
Bonjour,
Je vois ce que vous voulez faire : un peu ce que fait le WMS, à savoir charger la carte pour l'emprise considérée.
Déjà, les tuiles (raster tiles) par pyramidage sont là pour réaliser un peu ce genre de choses, mais elles le font en profondeur, alors que vous, ce seraient des sortes de tuiles latérales que l'on chargerait en se déplaçant sur la carte.
1 / overviews
Un conseil : essayez déjà le tuilage avec gdaladdo
1. Lancer une console Windows avec le contexte nécessaire pour exécuter des commandes GDAL :
Voici une méthode fournie par un collègue sur le modèle de la bdparcellaire image fournie en plusieurs dalles :
Se placer dans le répertoire contenant les *.tif
cd /d E:\monchemin\rep1\rep2
(/d permet d'y aller automatiquement si le chemin indique une autre partition que celle courante)
3. Lancer la création des fichiers d'aperçus ovr pour chaque tif :
FOR /R %i IN (*.tif) DO gdaladdo --config COMPRESS_OVERVIEW LZW -r average -ro %i 2 4 8 16 32
Chaque tif va être alors accompagné d'un fichier ovr contenant 5 aperçus de l'image. Ces aperçus seront stockés sous forme de tif avec un compression LZW qui est non desctructrice. On gardera alors la transparence des pixels blancs si nécessaire.
4. Créer un fichier VRT pour pouvoir afficher cette couche parcellaire à l'aide d'un seul fichier :
gdalbuildvrt -a_srs epsg:2154 -srcnodata "0" -vrtnodata "0" -overwrite parcellaire_2008.vrt *.tif
Cette commande va générer un fichier parcellaire_2008.vrt (c'est un fichier texte xml).
Maintenant il suffit d'ouvrir le fichier raster vrt dans QGIS. Normalement cela devrait aller bien plus vite.
2 / Python QGIS
Sinon, il faudrait sans doute programmer une action python. Il en existe qui chargent les rasters au clic sur le carreau d'un tableau d'assemblage, par exemple : https://gis.stackexchange.com/questions … s-a-raster
Code:
qgis.utils.iface.addRasterLayer('[% cheminDalle %]', '[% cheminDalle %]')
Pour votre cas, ce serait un peu plus compliqué : sur la base d'un tableau d'assemblage, il faudrait que le déplacement sur le canevas constitue un évènement suite auquel on calculeeait l'emprise de la carte, verrait quels carreaux sont intersectés et chargerait les rasters associés à ces derniers.
geodata au cerema et petits billets en géomatique
Hors ligne
#3 Tue 19 September 2017 12:53
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS: VRT et lien vers les Raster source
Merci Mathieu de te pencher sur ma question,
Mais je ne suis donc pas sûr d'avoir correctement expliqué mon besoin...
En tout cas la solution 1 ne correspond pas vraiment à mon attente : celle-ci va créer des pyramides, et c'est justement cette étape que je ne pense pas nécessaire (puisque je n'afficherai l'Ortho, déjà livrée en JP2000, qu'aux forts niveaux de zoom).
En fait, je cherche une solution pour afficher des "catalogues d'images", avec la même fluidité que ce que font les catalogues d'images d'IGNMap ou d'ArcGis (cf. cette discussion sur IGNMap). Dans les 2 cas, ça ne créé qu'un nouveau fichier de quelques Ko, avec juste les liens vers les images et leurs métadonnées.
J'ai essayé aussi en chargeant l'ensemble des JP2000 dans QGis, en les groupant (grouper la sélection), puis en enregistrant le résultat dans un fichier de définition de couche (QLR). Ça fonctionne, mais c'est vraiment pas fluide, comparé au même "catalogue" dans IGNMap...
Sylvain M.
Hors ligne
#4 Thu 21 September 2017 10:24
Re: QGIS: VRT et lien vers les Raster source
Bonjour,
J'avais bien compris ton problème, mais je me suis quand même permis d'évoquer la solution 1/ car elle n'est pas forcément connue et améliore les performances d'affichage. Elle combine VRT et tuilage.
Sinon, as-tu essayé la deuxième solution qui, elle, est basée sur un tableau d'assemblage, en qq sorte l'équivalent d'un catalogue d'images au sens où tu pourrais l'entendre ?
geodata au cerema et petits billets en géomatique
Hors ligne
#5 Thu 21 September 2017 17:02
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS: VRT et lien vers les Raster source
Bonjour Mathieu,
Sinon, as-tu essayé la deuxième solution
Non, désolé : je ne suis pas à l'aise avec les développements Python et je n'ai pas essayé... :$
je me suis quand même permis d'évoquer la solution 1/ [...] Elle combine VRT et tuilage
Je penses que tu as bien fait. Je viens en effet de créer quelques VRT sur BD Ortho départementales 50 cm, et elles sont très fluides.
Je me suis souvenu que j'avais participé à cette échange sur le Forum voisin en 2014, et la solution était du même genre.
Malheureusement, je rencontre un problème sur quelques dossiers d'Orthophotos.
J'ai un plantage avec le message :
Code:
gdaladdo.exe a cessé de fonctionner
Celui-ci apparait juste après la commande suivante :
Code:
gdaladdo --config COMPRESS_OVERVIEW JPEG --config PHOTOMETRIC_OVERVIEW YCBCR --config INTERLEAVE_OVERVIEW PIXEL S:/CHEMIN/catalogue.vrt 32
J'ai testé depuis 2 PC au cas où ça vienne du mien, mais même message d'erreur.
J'ai l'impression que cette commande a fonctionné quand les fichiers étaient en ECW, mais qu'elle ne fonctionne plus avec les dalles en JP2 (?).
Au cas où, je lance ces commandes GDAL via "FWTools Shell" (version 2.4.7), surtout parce-que je ne sais pas les lancer autrement ! (si vous avez d'autres méthodes) Peut-être la version de GDAL de cet outil est-elle dépassée ? (pas mise à jour depuis un moment j'ai l'impression)
Sylvain M.
Hors ligne
#6 Fri 22 September 2017 10:59
Re: QGIS: VRT et lien vers les Raster source
Bonjour,
Si tu veux juste assembler dynamiquement les tuiles ECW pour n'avoir à charger d'un seul fichier, le format VRT est la solution. Et il n'y aura rien d'autre à faire.
Si tu souhaites convertir tes fichiers ECW en jpeg2000, quelques remarques:
1. Laisse tomber FWTools, on est en 2017, cela fait un bout de temps que ce n'est plus maintenu. Passe à OSGeo4W, n'hésite pas à installer une vrai console (bash, http://mobaxterm.mobatek.net/ ou http://conemu.github.io/ - je n'ai eu l'occasion de ne tester que le dernier indiqué).
2. Vérifie que ta version de GDAL est bien à jour (pas de 1.xx stp)
3. Vérifie que ton outil GDAL possède les bons pilotes (il y a de mémoire 5 possibilités : celui par défaut - à oublier - openjpeg - à préférer - ECW, Kakadu et MrSID je crois, tout trois propriétaires).
4. l'ajout d'overview dans un fichier ECW ou un jpeg2000 est inutile et pas logique. Ces 2 formats intègrent justement ce genre de chose. Tu as d'ailleurs des paramètres de configuration pour définir ces overviews, voir http://www.gdal.org/frmt_jp2openjpeg.html
J'ai testé depuis 2 PC au cas où ça vienne du mien, mais même message d'erreur.
Quel message d'erreur ?
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#7 Fri 22 September 2017 12:00
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS: VRT et lien vers les Raster source
Si tu veux juste assembler dynamiquement les tuiles ECW pour n'avoir à charger d'un seul fichier, le format VRT est la solution. Et il n'y aura rien d'autre à faire.
Oui, et c'est vrai que c'est très efficace.
Mais là, j'ai le souci avec les fichiers JP2000, plus avec les ECW.
l'ajout d'overview dans un fichier ECW ou un jpeg2000 est inutile et pas logique.
Pourtant, sur un VRT d'ECW, il augmente énormément les performances d'affichage.
Je viens de comparer sur une Bd Ortho Départementale 50 cm en ECW :
- sans Overview : chargement > 10s
- avec Overview : chargement < 1s (instantané)
Quel message d'erreur ?
Je n'ai pas de log détaillé (ou je ne sais pas les trouver). J'ai juste :
Code:
gdaladdo.exe a cessé de fonctionner Un problème a fait que le programme a cessé de fonctionner correctement. Windows va fermer ce programme et vous indiquer si une solution est disponible. > Fermer le programme
OK pour laisser de côté FWTools, mais je dois avouer que je ne connais pas trop ces consoles (l'occasion de les découvrir !).
Pour la version de GDAL, je ne sais pas trop comment la connaître ou la mettre à jour, sâchant qu'elle est installée avec QGis (installé via QGIS-OSGeo4W-2.18.13-1-Setup-x86_64.exe).
Je vais essayer avec l'installateur OSGeo4W (osgeo4w-setup-x86_64.exe) et me pencher sur les commandes GDAL via les consoles conseillées.
Merci pour tes conseils.
Sylvain M.
Sylvain M.
Hors ligne
#8 Mon 25 September 2017 10:06
Re: QGIS: VRT et lien vers les Raster source
Bonjour,
Pour installer un binaire windows de GDAL récent, tu as le site gistinternals
http://www.gisinternals.com/release.php
Pour connaître la version de GDAL, tu fais dans la console :
Code:
gdalinfo --version
geodata au cerema et petits billets en géomatique
Hors ligne
#9 Mon 25 September 2017 14:44
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS: VRT et lien vers les Raster source
Pour installer un binaire windows de GDAL récent, tu as le site gistinternals
http://www.gisinternals.com/release.php
Merci pour le lien
Par contre, je me sens bête : si je sais que mon PC est en 64 bits, je ne sais pas du tout quel compileur prendre (MSVC 2008, 2010, 2012 ou 2013) ?
Sylvain M.
Hors ligne
#10 Tue 26 September 2017 13:57
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: QGIS: VRT et lien vers les Raster source
Salut,
Merci pour le lien
Par contre, je me sens bête : si je sais que mon PC est en 64 bits, je ne sais pas du tout quel compileur prendre (MSVC 2008, 2010, 2012 ou 2013) ?
Ca dépend de quelle version du runtime c++ est installée sur ta machine.
https://stackoverflow.com/questions/122 … d#34209692
Dernière modification par tumasgiu (Tue 26 September 2017 18:29)
Hors ligne
#11 Tue 26 September 2017 22:43
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS: VRT et lien vers les Raster source
Et ben dis donc, c'est bien compliqué tout ça pour moi ! :-$
Par ailleurs, venant d'installer la dernière version de QGis via l'installateur réseau OsGeo4W, je vois dans le "A propos" de QGis, que j'ai la dernière version de GDAL :
Code:
Compilé avec GDAL/OGR 2.2.1
Du coup, peut-être pas la peine de chercher ma version du runtime c++ dans le registre !?
Si je veux lancer des commandes GDAL via une console Windows, sur la base du GDAL installé par OsGeo4W, comment puis-je faire ?
(c'était si simple avec FwTools ! sniff )
Sylvain M.
Hors ligne
#12 Wed 27 September 2017 12:12
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: QGIS: VRT et lien vers les Raster source
Tu peux aller dans le répertoire OsGeo4W
(par défaut je crois qu'il se trouve à la racine du disque système),
et lancer OSGeo4W.bat.
Hors ligne
#13 Wed 27 September 2017 16:28
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS: VRT et lien vers les Raster source
lancer OSGeo4W.bat.
Super !
Comment ne l'ai-je pas vue avant !?
Sauf que, à ma surprise alors que je viens de lancer l'installateur OsGeo4W, la commande "gdalinfo --version" m'indique une version 1.11.3 de 2015... :$
Je poursuis l'investigation.
A+
Sylvain M.
Hors ligne
#14 Wed 27 September 2017 17:53
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: QGIS: VRT et lien vers les Raster source
Ta variable d'environnement PATH contient peut être un chemin vers une autre install de gdal,
celle de FWTools peut être.
Hors ligne
#15 Fri 29 September 2017 14:53
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS: VRT et lien vers les Raster source
Ta variable d'environnement PATH contient peut être un chemin vers une autre install de gdal,
celle de FWTools peut être.
Décidément, le lancement de ce sujet m'aura mis face à mes incompétences informatiques : je n'ai jamais exploré les "variables d'environnement" sur Windows (ni ailleurs)...
Je viens quand même de les trouver, et voici les valeurs de PATH (Système) :
Code:
C:\Perl64\site\bin;C:\Perl64\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\MFP Utility\OpenAPI_SDK\V3_2_2;%systemroot%\System32\WindowsPowerShell\v1.0\;%systemroot%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Skype\Phone\;c:\Python27;c:\Python27\Scripts;%systemroot%\System32\WindowsPowerShell\v1.0\
Je n'y vois rien qui fasse référence à GADL ???
(et finalement, si je comprends bien, peut-être serait-ce la solution pour executer directement GDAL depuis une ligne de commande CMD de Windows ?)
Dernière modification par Sylvain M. (Fri 29 September 2017 14:55)
Sylvain M.
Hors ligne
#16 Wed 11 October 2017 15:57
Re: QGIS: VRT et lien vers les Raster source
Moi non plus, je ne vois pas dans ton PATH quel répertoire contiendrait déjà des utilitaires GDAL..
D'habitude, on s'attendrait à un dossier comprenant l'intitulé FWTools, OSGEO ou GDAL
Si tu veux lancer le GDAL que tu veux, alors dans la fenêtre de commandes windows (et pas celle de fwtools !), intègre le chemin vers le bon utilitaire GDAL, par exemple
Code:
C:\GDAL2.2.1\gdal_translate etc... etc....
Si tu fais
Code:
C:\GDAL2.2.1\gdalinfo --version
tu verras alors
Code:
GDAL 2.2.1, etc...
geodata au cerema et petits billets en géomatique
Hors ligne
#17 Wed 11 October 2017 16:41
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: QGIS: VRT et lien vers les Raster source
MathieuR a raison, mais l'avantage de lancer le .bat
est d'avoir un environnement relativement isolé et cohérent:
-la bonne version de GDAL
-la version de Python qui va bien
etc..
Vous avez parlé du PATH système, vous devriez vérifier le PATH utilisateur également.
Il y a aussi des variables d'environnement propres à GDAL qui peuvent peut-être interférer,
de mémoire FWTools les initialisaient.
Vérifiez des variables comme GDAL_PATH, ou GDAL_HOME...
Vous pouvez localiser l'executable en lançant la commande :
Code:
where gdalinfo
Cela vous donnera peut être une indication sur le problème
(et au cas ou vous ne trouvez pas la solution, vous pourrez peut être
essayer la méthode américaine).
Dernière modification par tumasgiu (Wed 11 October 2017 17:51)
Hors ligne