Suite

Gdalwarp pour couper un .tif : fonctionne très bien de manière autonome, ne fonctionnera pas en Python

Gdalwarp pour couper un .tif : fonctionne très bien de manière autonome, ne fonctionnera pas en Python


J'essaie d'utiliser le module de sous-processus pour appeler gdal warp et couper un fichier .tif à l'aide d'un fichier de formes. Lorsque j'essaie la commande dans GDAL, cela fonctionne bien, mais lorsque j'essaie de l'appeler dans un script Python, cela ne fonctionnera pas et se bloque simplement. Ci-dessous le code que j'utilise :

import os, gdal, subprocess, sys cmd = ['gdalwarp','-cutline','C:/IDStudy/Input/Clip.shp','-crop_to_cutline','-dstalpha','C:/IDStudy/Input /Merged.tif','C:/IDstudy/Output/Clipped.tif'] proc = subprocess.Popen(cmd, stdout=subprocess.PIPE,stderr=subprocess.PIPE) stdout,stderr=proc.communicate() exit_code= proc.wait() si exit_code : #Oups, quelque chose s'est mal passé ! augmenter RuntimeError(stderr) else : imprimer la sortie standard

Cette commande de sous-processus fonctionne bien pour la fusion/reprojection, mais pour une raison quelconque, elle n'aime pas découper mon raster… Des idées ?


Je ne peux pas dire que j'ai une solution au problème en utilisant un sous-processus car j'ai eu des problèmes similaires à ce que vous décrivez auparavant. En fin de compte, j'ai décidé d'utiliser os.system au lieu de subprocess (je suis conscient que subprocess est destiné à remplacer os.system). Donc ce que je fais c'est :

cmd = "gdalwarp… " %(… ) os.system(cmd)

Voir la vidéo: GDAL Tutorial #1: Introduction + Installation