#1 Wed 18 March 2015 16:15
- gadir
- Participant occasionnel
- Date d'inscription: 25 Jan 2014
- Messages: 19
QGIS : Statistiques sur un lot de raster
Bonjour,
Je veux calculer les statistiques du base (min, mean, max) sur plusieurs couches raster (120 couches), Si je passe : propriété du raster > métadonnées, va être très long.
J'aimerai bien savoir, s'il y a une astuce pour afficher toutes les statistiques de plusieurs couches du raster en une seule fois.
Merci d'avance pour vos suggestions.
Hors ligne
#2 Wed 18 March 2015 16:59
Re: QGIS : Statistiques sur un lot de raster
Bonjour,
Regarde du côté de gdalinfo avec le paramètre -stats
Ci-dessous un exemple de ce qui est retourné :
Driver: AAIGrid/Arc/Info ASCII Grid
Files: \\...\BDALTI_75m_France\BDALTIr_2-0_MNT_EXT_0075_6825_LAMB93_IGN69_20110929.asc
\\...\BDALTI_75m_France\BDALTIr_2-0_MNT_EXT_0075_6825_LAMB93_IGN69_20110929.asc.aux.xml
Size is 1000, 1000
Coordinate System is `'
Origin = (74962.500000000000000,6825037.500000000000000)
Pixel Size = (75.000000000000000,-75.000000000000000)
Corner Coordinates:
Upper Left ( 74962.500, 6825037.500)
Lower Left ( 74962.500, 6750037.500)
Upper Right ( 149962.500, 6825037.500)
Lower Right ( 149962.500, 6750037.500)
Center ( 112462.500, 6787537.500)
Band 1 Block=1000x1 Type=Float32, ColorInterp=Undefined
Min=-2.800 Max=103.710
Minimum=-2.800, Maximum=103.710, Mean=47.594, StdDev=25.838
NoData Value=-99999
Metadata:
STATISTICS_MAXIMUM=103.70999908447
STATISTICS_MEAN=47.593517726272
STATISTICS_MINIMUM=-2.7999999523163
STATISTICS_STDDEV=25.837573534695
Dans le shell OSGEOW, tu peux écrire :
Code:
gdalinfo \\...\BDALTI_75m_France\BDALTIr_2-0_MNT_EXT_0075_6825_LAMB93_IGN69_20110929.asc -stats | grep STATISTICS_
Ca renvoie uniquement :
STATISTICS_MAXIMUM=103.70999908447
STATISTICS_MEAN=47.593517726272
STATISTICS_MINIMUM=-2.7999999523163
STATISTICS_STDDEV=25.837573534695
Reste à construire un batch qui boucle dans le répertoire, lance gdalinfo fait un export texte de chaque raster sous la forme :
BDALTIr_2-0_MNT_EXT_0075_6825_LAMB93_IGN69_20110929.asc
STATISTICS_MAXIMUM=103.70999908447
STATISTICS_MEAN=47.593517726272
STATISTICS_MINIMUM=-2.7999999523163
STATISTICS_STDDEV=25.837573534695
Dernière modification par Robin (Wed 18 March 2015 17:00)
Hors ligne
#3 Wed 18 March 2015 17:41
Re: QGIS : Statistiques sur un lot de raster
Ci dessous un script bash (extension .sh) à lancer dans le shell OSGEOW via la commande
Code:
sh monscript.sh
Voilà ce qu'il y a dedans :
Code:
for IFile in *.asc # modifier ici en cas d'autre format. Variable $Ifile = nom du fichier avec extension do echo "Processing $IFile" gdalinfo -stats $IFile | grep 'STATISTICS_' done
J'ai mis 2 fichiers asc dans un répertoire temporaire et voilà ce que j'obtiens :
C:\tmp>sh Liste_Origine_batch.sh
Processing BDALTIr_2-0_MNT_EXT_0075_6825_LAMB93_IGN69_20110929.asc
STATISTICS_MAXIMUM=103.70999908447
STATISTICS_MEAN=47.593517726272
STATISTICS_MINIMUM=-2.7999999523163
STATISTICS_STDDEV=25.837573534695
Processing BDALTIr_2-0_MNT_EXT_0075_6900_LAMB93_IGN69_20110929.asc
STATISTICS_MAXIMUM=140.66999816895
STATISTICS_MEAN=40.70811037412
STATISTICS_MINIMUM=-12.220000267029
STATISTICS_STDDEV=32.492840168388
"Et Voilà !"
Dernière modification par Robin (Wed 18 March 2015 17:43)
Hors ligne
#4 Wed 18 March 2015 22:58
- gadir
- Participant occasionnel
- Date d'inscription: 25 Jan 2014
- Messages: 19
Re: QGIS : Statistiques sur un lot de raster
Merci pour tes réponses Robin,
J'ai installé OSGeo4W Shell, j ai essayé d entrer le code, mais je n'arrive à avoir des résultats.
Comme je suis un peu débutant dans la programmation, j arrive pas bien à comprendre ce script.
merci une autre si tu puisse me le détailler un peu plus
Cordialement
Dernière modification par gadir (Wed 18 March 2015 22:58)
Hors ligne