#1 Wed 24 August 2011 08:56
- barthsdee
- Participant occasionnel
- Date d'inscription: 23 Aug 2011
- Messages: 45
QGIS : Demande d'aide - découpe de raster
Bonjour je vous explique ma situation:
Je dispose de la dalle BDortho IGN pour mon département (décomposée en 274 dalle ecw) et en Lambert 93.... Je veux obtenir des fichiers en Geotiff.... Lambert III (rien qu'IGN map ne peut pas faire)
Tout ça pour alimenter un logiciel qui n'accepte que le Geotiff (et qui le compresse ensuite dans un format prpriétaire....)
Pour limiter la taille du schmilblik, je pensais découper mes rasters par canton (une découpe par commune donnerait des résultats fastidieux lors des mises à jour et un travail de malade
voila comment j'imagine la chose, mais je sais pas si le principe est viable
1° je réunis mes ECW au seiin d'un raster vituel vrt
2° Je crée mes calques vectoriels par canton (assemblage de plusieurs polygones communes)=> obtention de fichiers shp (déjà fait)
3° j'utilise la fonction découper de Qgis ou le système basé sur les lignes de commandes de Fwtools
4° Une reprojection si necessaire du Lambert 93 au Lambert 3
- puis je mettre mon .vrt en raster à découper (input) ou dois je à la place faire un Geotiff global de tout le département (80 Go ça va être coton)
- si la couche shp est constituée de plusieurs polygones (mon canton est formé de plusieurs polygone de commune)est ce que ça va quand même réaliser la découpe convenablement?
Autres questions:
Avec l'outil invite de commande, peut on effectuer un traitement en batch de la chose et si oui aidez moi un peu svp:
- définir un fichier raster d'entrée (virtuel ou réel) et donner un répertoire ou se trouve tout les shp=> la sauvegarde se ferait avec comme nom du fichier sortant: le nom du fichier shp de découpe appliqué (avec l'extension tiff bien sur à la fin)
Autre cas
- définir un fichier source et une couche shape unique avec tout les polygones de découpe (exemple mes polygones communes), les fichiers de sortie porteraient alors la valeur "Commune" contenue dans le dbf du polygone appliqué pour leur découpe
Hors ligne
#2 Wed 24 August 2011 09:37
Re: QGIS : Demande d'aide - découpe de raster
Bonjour,
Avec GDAL tu dois pouvoir utiliser ton fichier vrt comme source de données, reprojeter le tout, transformer en GTiff et découper le raster. L'option pour découper avec GDAL est "clip" mais c'est une bbox. Le script devra "boucler" sur les différentes zones (ou polygone). Il faudra définir un parterne pour le nom de fichier (quelque chose comme blabla_$x_$xy.tiff x et y étant les coordonnées du point top left.
Pour faire un script en batch, il faudrait que tu précises le système que tu utilises : linux ou windows, plus compliqué (pour moi) pour windows
Sous Linux, en une ligne (et qui définie juste la projection de fichier tiff, script pour un besoin perso) :
Code:
for i in ls *.tif;do gdalwarp -t_srs "EPSG:2154" $i process/$i; done
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
#3 Wed 24 August 2011 09:48
- mathieu_r
- Participant occasionnel
- Date d'inscription: 17 Mar 2009
- Messages: 21
Re: QGIS : Demande d'aide - découpe de raster
Je suis passé par Talend/SDI pour effectuer cela mais l'outil Talend se substitue juste à ce qui peut se faire déjà en ligne de commande, ou bien programmation batch/bash ou pytthon, java, R, enfin tous les langages autorisant le lancement d'exécutables tiers comme gdal_translate, gdalwarp...
Je l'ai appliquée sur la bd parcellaire
J'ai créé autant de couches esri que de communes avec un tampon de 100m. Les masques obtenus portaient le nom de la commune.
La méthodologie appliquée a consisté à créer des vrts par commune agrégeant l'ensemble des dalles par commune. les vrts portaient le nom de ma commune.
Puis j'ai itéré sur la base de la liste des communes de la BDCARTO en utilisant gdalwarp avec l'option cutline et clayer afin de générer un tif portant le nom de la commune depuis le vrt et le masque
1-création des masques
communes.shp > *[commune + tampon 100m].shp
2-création des vrts
*[dalles tif de la commune] > commune.vrt
3-découpage des vrts
communes.shp == *commune ==> commune.vrt + [commune + tampon 100m].shp > commune.tif
Hors ligne
#4 Wed 24 August 2011 10:00
- barthsdee
- Participant occasionnel
- Date d'inscription: 23 Aug 2011
- Messages: 45
Re: QGIS : Demande d'aide - découpe de raster
je suis sur Windows seven (malheureusement au boulot quand je parle de linux, les gens ne connaissent pas) niveau ligne de commande et qjis, je vais essayer de me débrouiller (mais je ne agarantis rien, je me suis arreté à MS DOS et j'ai été traumatisé par les lignes de code sous le logiciel R (une virgule en moins, tout les calculs sont faussés)
Au passage ma bd ortho coince pour faire un vrt via l'interface graphique qjis (trop lourd donc je vais tenter en ligne de commande)
Hors ligne
#5 Wed 24 August 2011 10:05
- barthsdee
- Participant occasionnel
- Date d'inscription: 23 Aug 2011
- Messages: 45
Re: QGIS : Demande d'aide - découpe de raster
2-création des vrts
*[dalles tif de la commune] > commune.vrt
3-découpage des vrts
communes.shp == *commune ==> commune.vrt + [commune + tampon 100m].shp > commune.tif
Euh pour l'étape 2 y a pas moyen de faire en sorte que les vrt s'assemblent seuls grâce à un shape (un truc du genre : quand *.tiff appartient à zone du shape => rajouter au vrt)..... j'ai 319 communes et mes dalles sont nommées avec la méthodologie IGN (exemple (Dpt-année-numéro de ligne-numéro de colonne) tout ça pour 274 dalles.... si je dois constituer tout à la main j'en ai pour un sacré bout de temps
Et je dois mettre à jour le système à chaque mise à jour de la BD ortho...
Si au passage quelqu'un connait une technique pour dissocier les x polygones d'un fichier shp en x fichiers shp du nom du polygone, je suis preneur
Dernière modification par barthsdee (Wed 24 August 2011 10:45)
Hors ligne
#6 Wed 24 August 2011 11:35
- barthsdee
- Participant occasionnel
- Date d'inscription: 23 Aug 2011
- Messages: 45
Re: QGIS : Demande d'aide - découpe de raster
Voila où j'en suis (je suis pas très doué)
gdalwarp -of GTiff D:/OrthoAssemblage.vrt -cutline D:\Canton/*.shp "D*.tif"
Sauf que gdalwarp décide de me générer le raster en format tiff.... je l'ai arrété à 35 Go...
si je ne définis pas le mode de projection il n'est pas modifié?
Et enfin comment lui faire comprendre que l'argument *.shp correspond à un batch et qu'il doit enregistrer le fichiers avec comme noms ce qui se cache derrière l'*?
Sinon j'aimerais bien passer de Lambert 93 au Lambert 3 mais si possible une fois le "clippage fait" reprojeter un département entier à chaque fois prendrait trop de temps (à défaut je le ferais dans un second temps en batch) et je me pose des questions sur le wktext dans le code (je débute et ça se voit
Dernière modification par barthsdee (Wed 24 August 2011 13:50)
Hors ligne
#7 Wed 24 August 2011 13:27
- mathieu_r
- Participant occasionnel
- Date d'inscription: 17 Mar 2009
- Messages: 21
Re: QGIS : Demande d'aide - découpe de raster
Apparemment, tu programmes en shell. Tu dois être sous Linux.
Sinon, il faut utiliser les paramètres de découpe suivants:
-cutline D:\découpe Canton\[commune].shp -cl [commune]
Pour récupérer [commune], en shell, il doit exister des fonctions de découpe de chaîne de caractères ou de remplacement
cas de remplacement
Code:
fichier=marseille.shp commune=${fichier//.shp/} # retourne marseille (à tester) # voir http://tldp.org/LDP/abs/html/string-manipulation.html
Hors ligne
#8 Wed 24 August 2011 13:56
- barthsdee
- Participant occasionnel
- Date d'inscription: 23 Aug 2011
- Messages: 45
Re: QGIS : Demande d'aide - découpe de raster
En fait non je suis sur xp mais coder en linux ne me détange pas, je dois juste m'installer un linux sur virtualbox....
Sinon j'aimerai au moins faire fonctionner pour une commune/un canton sans passer par un script , je compliquerais les choses plus tard.... là j'ai que 25 cantons ... je peux le faire à la main .... sauf si j'affine à la commune
Voila ma ligne nettoyée (j'espère que la projection ne change pas ou ne saute pas si tu n'en parle pas à gdal...
gdalwarp -of GTiff D:/OrthoAssemblage.vrt -cutline D:\Canton/trifouillis.shp "D:/trifouillis.tif"
=> 1er essai : bah il veut me générer un tiff pour mon vrt entier.... il doit manquer un truc
Hors ligne
#11 Thu 25 August 2011 13:40
- barthsdee
- Participant occasionnel
- Date d'inscription: 23 Aug 2011
- Messages: 45
Re: QGIS : Demande d'aide - découpe de raster
en mettant :
gdalwarp D:/OrthoAssemblage.vrt -cutline D:\Canton/Paris.shp -cl Paris -of GTiff D:/Paris.tif
FWtools me produit bien un fichier mais dès le départ il me prévient que j'obtien un fichier de sortie qui fera la même résolution en pixel que mon fichier d'entrée...
Est ce que c'est normal?
Hors ligne