J'ai une image de taille 1GB (.tif), avec la largeur et la hauteur 94000x71680. Je voudrais découper cette image en tuiles 20000X20000 afin de pouvoir les traiter.
Comment puis-je faire ceci?
geotiff-tiff
tiles
digital-image-processing
Anup Panwar
la source
la source
Réponses:
Je propose deux solutions: la première utilisant QGIS, la seconde utilisant Python (GDAL).
Solution utilisant QGIS
Dans QGIS, vous pouvez créer une mosaïque VRT.
Veuillez suivre cette procédure (voir l'image ci-dessous):
Save As...
;Create VRT
option;OK
bouton.Par exemple, l'utilisation des paramètres de la boîte de dialogue ci-dessus sur cet exemple de raster (les paramètres que j'ai définis sont choisis au hasard):
générera 100 tuiles dans le chemin spécifié à l'étape 4:
En les chargeant dans QGIS, ils ressemblent à ceci:
Comme @ bugmenot123 l'a correctement dit dans les commentaires, le résultat semble étrange juste parce que le style de chaque image s'adapte à la distribution des valeurs par image (mais les données sont parfaitement fines).
Solution utilisant Python (GDAL)
Une autre façon d'obtenir le même résultat est l'utilisation de GDAL ( gdal_translate ).
En référence au même exemple décrit ci-dessus, vous pouvez utiliser ce script:
Vous devez évidemment adapter les valeurs à votre cas spécifique.
la source
Ne vous séparez pas
Vous gdalbuildvrt , vous pouvez créer des tuiles virtuelles qui n'utiliseront que quelques octets sur votre disque. Ensuite, vous pouvez utiliser la plupart des logiciels qui prendront vos vrt en entrée pour effectuer votre traitement.
Alternativement, je préfère chercher un outil qui peut fonctionner avec une image 1 Go plutôt que de diviser et de fusionner une image. Par exemple, OTB possède la plupart des capacités de traitement d'image standard (et parfois avancé) avec de grandes images. Vous pouvez encapsuler OTB pour Python ou l'exécuter à partir de QGIS ou à partir des lignes de commande.
la source
À l'aide de l' outil Fractionner un raster , vous pouvez diviser un raster en mosaïques en fonction de quelques méthodes de division, notamment la taille de chaque mosaïque ou le nombre de mosaïques .
Voir également Fractionnement d'un raster dans ArcGIS
la source
Une autre solution utilisant GDAL est l' outil gdal_retile.py :
Pour plus d'informations, voir: http://www.gdal.org/gdal_retile.html
la source