#1 Fri 30 December 2011 22:58
- Céline49
- Participant occasionnel
- Date d'inscription: 8 Dec 2010
- Messages: 14
QGIS: Découpage d'un raster par un shapefile
Bonjour,
Je dispose d'un fichier raster (MNT) et je souhaiterais découper une partie de ce raster en fonction d'une couche (polygone) je n'arrive pas à trouver la bonne fonction ???
quelqu'un pourrait il m'aider ?
Merci pour votre aide !
Céline
Hors ligne
#2 Sun 01 January 2012 18:11
- jack tippit
- Participant actif
- Lieu: Limoges
- Date d'inscription: 3 Dec 2008
- Messages: 116
- Site web
Re: QGIS: Découpage d'un raster par un shapefile
Bonjour Céline,
Et bien moi je le fais avec GRASS Je transforme mon polygone en raster (attention a la résolution) avec v.to.rast et ensuite j'utilise un masque r.mask ce qui me permet d'avoir une très belle découpe.
Si tu réalises des traitements sur cette couche, ce traitement se fera uniquement sur les données non masquées.
Si grass fait peur (et sont interface pas très graphique) il doit y avoir moyen de faire la même chose grâce au plug-in GRASS dans Qgis.
Je ne connais pas d'autres solutions, mais à vrai dire comme j'en connais une je n’ai pas cherché plus loin...
voilà en espérant que ça t'aide.
Cordialement
Etienne
Hors ligne
#3 Mon 02 January 2012 11:50
- barthsdee
- Participant occasionnel
- Date d'inscription: 23 Aug 2011
- Messages: 45
Re: QGIS: Découpage d'un raster par un shapefile
Je te donne une recette:
en 1: tu télécharges la version 1.8 de gdal (avec la 1.7 ça ne marche pas)
en 2: tu définis ton code: voici un exemple
gdalwarp -s_srs "+proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=46.500000000 +lon_0=3.000000000 +lat_1=44.000000000 +lat_2=49.000000000 +x_0=700000.000 +y_0=6600000.000 +units=m +no_defs" -t_srs "+proj=lcc +nadgrids=ntf_r93.gsb,null +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=44.100000000 +lon_0=0.000000000 +k_0=0.99987750 +lat_1=44.100000000 +x_0=600000.000 +y_0=200000.000 +units=m +no_defs" -co TFW=YES -of Gtiff -cutline d:/communes/Agme.shp -cl Agme -cblend 10 -crop_to_cutline -multi d:/raster.vrt d:/tiff/Agme.tif
-s_srs "+proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=46.500000000 +lon_0=3.000000000 +lat_1=44.000000000 +lat_2=49.000000000 +x_0=700000.000 +y_0=6600000.000 +units=m +no_defs" -t_srs "+proj=lcc +nadgrids=ntf_r93.gsb,null +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=44.100000000 +lon_0=0.000000000 +k_0=0.99987750 +lat_1=44.100000000 +x_0=600000.000 +y_0=200000.000 +units=m +no_defs"
ceci est un code pour la reprojection, 'pour connaitre le bon je te conseille de lancer une commande gdalwarp dans Qgis de paramétrer le projection que tu souhaites et de faire un copier-coller dans ton code
-co TFW=YES -of Gtiff ceci veux dire que je demande en sortie du Géotiff avec des données attributaires dans un fichier tfw (mon microstation préfère ça mais tu as d'autres options avec gdal
-cutline d:/communes/Agme.shp -cl Agme
ceci définit le fichier qui te servira d'emporte pièce (ton shape) le cl est un argument indispensable
-cblend 10 -crop_to_cutline (cblend permet de définir un nombre de pixel d'estompe (de flou sur ta découpe) et crop to cutline spécifie que tu veux l'intérieur
-multi
J'ai un processeur multi coeur donc je l'ai mis
d:/raster.vrt
ça c'est le chemin et le nom de mon fichier d'entrée: un raster virtuel, mais tu peux mettre n'importe quel raster (du moment qu'il est géoréférencé)
d:/tiff/Agme.tif
ça c'est le nom du fichier que je demande en sortie.
Voila le code de base. Maintenant tu peux automatiser la chose...
en 1: j'ai scindé les communes qui définissait mon shp départemental en 320 couches distinctes (pour info il faut bannir tous ce qui concerne les accents, les apostrophes et les espaces parce qu'avec l'unicode tu vas avoir des problèmes
en 2: je me suis créé un petit tableau générateur de code sous excel: 95% de la formule reste la même il y a simplement le nom de la ville qui change et qui modifie tout.
quand je veux modifier un chemin d'accès ou un nom de fichier tout se répercute tout seul
j'ai mes 320 lignes de code qui se font automatiquement. Je fais un copier des 320 cases dans excel et je les colle dans la fenêtre de gdal 1.8
et c'est parti pour 320 découpages de communes en automatique.
Seuls défauts:
- la découpe génère un cadre noir autour de la zone découpée
- je dois recompresser les images Tiff après
Si tu veux je t'envoie un exemplaire du fichier excel
Hors ligne
#4 Mon 19 March 2012 14:54
- laurene13
- Participant occasionnel
- Date d'inscription: 7 Mar 2012
- Messages: 17
Re: QGIS: Découpage d'un raster par un shapefile
Bonjour!
je cherche moi aussi à découper mon raster avec un shapefile et j'esaaye avec la commande raster>decouper sous QGIS, mais voila le message d'erreur " Cannot compute bounding box of cutline. ". apparement il n'aime pas mon fichier vecteur (issu d'un tampon) :-(
je ne maitrise pas du tout GRASS meme si je compte bien m'y mettre...En attendant avez-vous une idée sous QGIS 1.7.4?
Merci beaucoup!
Hors ligne
#5 Tue 20 March 2012 13:57
- Paul
- Participant assidu
- Lieu: Paris
- Date d'inscription: 31 Jul 2008
- Messages: 158
Re: QGIS: Découpage d'un raster par un shapefile
Salut !
Je t'invite à regarder le message 2 de ce post
http://georezo.net/forum/viewtopic.php?id=78124
Extrait >>>
Si j'ai bien compris tu as un raster de pentes avec certaine étendue et tu voudrais en extraire une étendue plus petite.
As-tu essayé de découper ton raster via le menu Raster > Extraction > Découper avec un mode de découpage par "Emprise". Tu peux alors tracer à la souris un rectangle d'emprise (qui apparait rouge) sur ton raster qui englobe ta zone d'études. Ensuite tu spécifies un fichier de sortie puis OK, ça devrait fonctionner sans prendre de temps. Évidemment comme ta zone d'études n'est sûrement pas un parfait rectangle tu auras des zones inutiles, mais ton raster de pentes sera déjà moins étendu.
Si tu veux absolument masquer ton raster de pentes par ta zone d'études, c'est à dire avoir un raster tout à 0 sauf à l'intérieur de ta zone d'études où tu veux tes valeurs de pente, tu peux choisir le mode de découpage "couche de masquage" (toujours dans le module d'extraction du menu raster) et tu sélectionnes la couche vectorielle limitant ta zone d'étude comme couche de masquage. Après comme tu l'as dit, il y a message d'erreur. Tu peux le contourner en faisant la manip suivante (du moins ça fonctionne chez moi) :
En bas de la fenêtre "Découper" il y a une zone de texte qui commence par "gdalwarp -q ..." Tu cliques sur le petit crayon jaune "Éditer" et la ligne de texte devient éditable. Tu changes alors le "-crop_to_cutline" par "-r cubic" et ça devrait fonctionner.
<<<
Paul
Hors ligne
#6 Wed 12 February 2014 10:29
- MM13
- Participant occasionnel
- Date d'inscription: 27 Jan 2014
- Messages: 10
Re: QGIS: Découpage d'un raster par un shapefile
Bonjour,
ca marche parfaitement de remplacer "-crop_to_cutline" par "-r cubic".
Merci beaucoup !
Hors ligne
#7 Fri 28 April 2017 10:33
- Helene T
- Juste Inscrit !
- Date d'inscription: 13 Apr 2017
- Messages: 3
Re: QGIS: Découpage d'un raster par un shapefile
Bonjour,
J'ai un fichier raster format tiff que je voudrais découper avec ma couche shape représentant ma zone d'étude. Merci pour l'astuce du remplacement "-crop_to_cutline" par "-r cubic", cela marche parfaitement.
Or, j'aimerais aller encore plus. Je souhaiterais conserver les valeurs du raster d'origine dans le déocupage. Mon raster est découpé en 4 bandes (0,1,2,3) et j'aimerais conserver uniquement les valeurs 1,2,3.
Comment puis-je procéder ?
Je vous remercie d'avance !
Hors ligne
#8 Fri 28 April 2017 15:16
- Thib-top
- Juste Inscrit !
- Lieu: Grenoble
- Date d'inscription: 12 Apr 2017
- Messages: 6
Re: QGIS: Découpage d'un raster par un shapefile
Bonjour Helene,
As tu essayé avec le module "Clip raster with polygon" de SAGA dans la barre d'outils Qgis ?
Je ne sais pas si ça réglera ton problème mais personnellement j'avais des soucis de bandes lors d'un découpage de raster avec un polygone et c'est le seul qui a résolu le problème.
A voir.
A+
Dernière modification par Thib-top (Fri 28 April 2017 15:16)
Hors ligne
#9 Tue 18 July 2017 20:45
- LouisM
- Juste Inscrit !
- Date d'inscription: 6 Dec 2015
- Messages: 2
Re: QGIS: Découpage d'un raster par un shapefile
Bonjour à tous,
Merci Thib-top pour ton conseil, l'outil "Clip raster with polygon" de SAGA a marché parfaitement pour moi.
En détail :
Onglet traitement puis SAGA/Vector to raster/clip raster with polygon
Louis
Hors ligne