DATA\WAX

Month: août 2014

Découper un rasteur suivant une grille et récupérer les coordonnées du coin haut gauche dans le nom de l’image en sortie

1. Ouvrir le rasteur dans QGIS

2. Aller dans Vecteur/Outils de recherche/Grille vecteur pour construire votre grille (polygones) suivant l'emprise de l'image (Nota : je vous conseille de faire un arrondi : + pour les max et – pour les min )

grid

3. Créer un nouveau champ dans lequel on va calculer les coordonnées du coin haut gauche de chacune des mailles : "XMIN"  || '_' ||  "YMAX"

4. Ensuite, on va séparer la couche vectorielle en autant de couches que de mailles en allant dans Vecteur/Outils de gestion des données/Séparer une couche vectorielle.

En sortie, l'outil va récupérer la valeur de l'identifiant unique dans le nom de fichier en structurant le nom de fichier de la manière suivante : COUCHEDEDEPART_CHAMPUTILISE_VALEUR grille_XY_HG__756300_6541400.shp

separer


5. Dernière étape via le Terminal sur Mac OSX : 

– Accéder à GDAL : export PATH=/Library/Frameworks/GDAL.framework/Programs:$PATH
– Adapter et lancer la commande suivante qui va pour chacun des fichiers .shp découper l'image définie et récupérer les coordonnées dans le nom de fichier en sortie :

Nota : En rouge les éléments à modifier.

#Répertoire des fichiers en entrée et en sortie
in='/…/rep_shp_in/'

inr='/…/rep_img_in/'
out='/…/rep_img_out/'
#On boucle sur chaque shape pour découper l'image
for entry in "$in"/*.shp
do
#On extrait les caractères à conserver pour le fichier en sortie

fichier=$(echo "${entry##*/}" | cut -c15-27)
#On lance le découpage du rasteur suivant un fichier shp
gdalwarp -q -cutline "$in""${entry##*/}" -crop_to_cutline -dstalpha -of GTiff 
"$in"'dsm.tif' "$out""$fichier".tif
done

5bis. La même chose en créant un .bat à éxécuter via OSGEO4W sur Windows : 

@echo on
REM Répertoire des fichiers en entrée et en sortie
set in=C:\…\rep_shp_in\
set inr=C:\…\rep_img_in\
set out=C:\…\rep_img_out\img\
REM On boucle sur chaque shape pour découper l'image
for /F %%f in ('dir /B /A-D %in%*.shp') do ( call :extr "%%f" )
goto :fin
:extr
set nom_de_fichier=%~n1
REM On extrait les caractères à conserver pour le fichier en sortie
set nom_sortie=%nom_de_fichier:~14,30%
REM On lance le découpage du rasteur suivant un fichier shp
gdalwarp -q -cutline %in%%nom_de_fichier%.shp -crop_to_cutline -dstalpha -of GTiff %inr%dsm.tif %out%%nom_sortie%.tif
:fin

Et voilà, mon rasteur de départ a été découpé en 62 images de 200*200 mètres nommées par les coordonnées du coin haut gauche (exemple : 754700_654100.tif).

Utiliser ogr2ogr pour créer un .dxf 3D à partir d’un fichier .shp 2D

Il y a quelques temps Loïc me demandait comment il pouvait passer des courbes de niveau générées par QGIS en .shp 2D (avec un champ ELEVATION) en un .dxf 3D. Je lui ai conseillé d'utiliser ogr2ogr avec la commande suivante :

ogr2ogr -f "DXF" C:\…\…\CdN\CdN_PR_AUTOCAD.dxf C:\…\…\CdN\CdN.shp -zfield "ELEVATION"

-f format_name : retourne le fichier au format désiré, (ESRI Shapefile par défaut).

-zfield field_name : (à partir de GDAL 1.8.0) utilise le champ définie pour remplir les coordonnées Z des géométries.

Copyright © 2019 DATA\WAX

Theme by Anders NorenUp ↑