Je manipule et traite des rasters globaux à une résolution de 30 m. Les tailles de trame totales sont généralement de [1 440 000 560 000]. J'ai accès à un superordinateur, j'ai donc écrit du code qui me permet de diviser les rasters globaux en morceaux gérables, d'effectuer des calculs en parallèle et de les écrire sur le disque assez rapidement.
J'ai heurté un mur quand il s'agit d'afficher des résultats. Je construis généralement un raster virtuel de tuiles couvrant le globe et le tire dans QGIS. Mais c'est incroyablement lent (minutes à charger, si c'est le cas). Et si j'essaye de faire un panoramique ou un zoom, c'est encore plusieurs minutes. Ma première approche pour résoudre ce problème a été de créer des aperçus à l'aide de gdaladdo. Cependant, cela prend une éternité à construire (comme en jours), ce qui n'est pas propice au développement d'algorithmes. Voici une liste des choses que j'ai essayées et pourquoi / comment elles ont échoué.
construire des aperçus sur le vrt. Comme mentionné ci-dessus, cela prend plus de 2 jours pour terminer 8 niveaux. C'est inacceptable à mes fins.
créer des aperçus sur les tuiles individuelles, puis fusionner en quelque sorte dans un vrt qui contient les aperçus. Je suis capable de construire des aperçus sur les tuiles assez rapidement (supercalculateur), mais je n'ai pas pu les refaire surface. J'ai essayé:
2a. gdal_merge sur les tuiles avec des aperçus, mais les aperçus n'étaient pas conservés (ou du moins pas reconnus par QGIS) dans le tiff de sortie.
2b. gdalbuildvrt sur les tuiles avec des vues d'ensemble, mais comme ci-dessus, les vues d'ensemble n'ont pas été conservées. [Ce n'est pas correct, voir modifier.]
2c. J'ai également essayé un hybride de vues d'ensemble de construction pour les tuiles pour les niveaux 1-6 et les niveaux de construction 7-8 directement sur le vrt (essentiellement l'option 2b), mais cela prend toujours une éternité pour ces deux niveaux. J'ai fait quelques tests et j'ai vu que les aperçus de tuiles sont en fait utilisés pour construire des aperçus vrt, mais il est toujours de l'ordre d'une journée pour terminer les aperçus sur le vrt.
J'espère donc que quelqu'un ici aura quelques suggestions sur la prochaine étape. Voici quelques options que j'envisage:
Créer manuellement les pyramides globales moi-même. Je me méfie de les recombiner dans un fichier .ovr car je suppose que ce sera délicat.
Utilisez un serveur de carte (Geoserver). J'en sais très peu à ce sujet et je crains que cela ne surmonte pas les obstacles temporels tout en ajoutant de la complexité à mon processus.
Divisez le domaine par continents ou par une autre région. Je veux vraiment éviter cette option.
Vous pourriez vous demander "pourquoi avez-vous besoin de voir le globe entier à une résolution de 30 m?" Un exemple: je prends un masque de pixels d'eau (globalement) et le squelette pour trouver des rivières et effectuer des mesures. Mon algorithme de squelettisation nécessite un peu de réglage (pour l'élagage des branches, la suppression des boucles, le nettoyage général, etc.), et la sortie est nécessairement à 30 m. Comme les rivières et les paysages sont divers à travers le monde, je dois être en mesure de voir les effets de tous les changements que j'ai mis en œuvre.
J'ai également parcouru QGIS pour m'assurer qu'il n'y avait pas de paramètres avec lesquels je pouvais jouer pour rendre des rasters énormes plus rapidement, mais je n'ai rien vu. À moins d'acheter des disques SSD, je pense que le démarrage est aussi rapide que possible. (Mes disques durs ont des E / S de ~ 250 Mo / s).
J'ai découvert que la création de vues d'ensemble sur des tuiles individuelles, puis la construction d'un vrt maintient apparemment les vues d'ensemble - la section "Pyramide" de QGIS dans les métadonnées du fichier est vide, mais dans la section "Dimensions" il y a une entrée pour chaque niveau de vue d'ensemble (par exemple X 720000, Y 140; X 360000, Y 70, etc.). Donc j'avais tort sur 2b.
Je trouve également que si je tire juste toutes les tuiles dans QGIS, cela rend en moins d'une minute, tandis que si je tire le vrt qui fait référence aux tuiles, cela prend> 5 minutes (je ne sais pas combien de temps exactement depuis que j'ai tué le processus).
J'ai fait des tests sur un ordinateur avec un SSD, et j'ai trouvé que je pouvais charger, afficher et rendre les vrts globaux (sans aucun aperçu) avec succès et à un taux acceptable. J'ai commandé un SSD PCIe 1 To dans l'espoir qu'il me permettra de faire de même sur mon ordinateur. Mettra à jour avec les résultats.
I also tried a hybrid of building overviews for the tiles for levels 1-6 and building levels 7-8 directly on the vrt
ce qui ressemble à la commande que vous recommandez et c'est naturellement la bonne. Moi-même, je ne calculerais pas 2 4 8 ... des aperçus pour le VRT si des tuiles individuelles les ont pour économiser du temps et de l'espace disque. Un petit retour sur investissement trouverait alors des aperçus à partir de quelques tuiles et cela devrait être assez rapide.