Calcul de l’indice de végétation NDVI avec PostgeSQL/Postgis

le

En télédétection, les indices font parties des méthodes de traitement que l’on appelle les transformations multispectrales. Ils consistent à convertir les luminances mesurées au niveau du capteur satellitaire en grandeurs ayant une signification dans le domaine de l’environnement.
Basés sur le caractère multispectral des données satellitaires, ils permettent de décrire l’état d’un phénomène. Un indice de végétation par exemple, peut rendre compte du stade de croissance végétale à un moment donné.
Tous les indices, que ce soient les indices de végétation, les indices des sols, les indices relatifs à la colonne d’eau, etc., reposent sur une approche empirique basée sur des données expérimentales. Les indices de végétation sont très utilisés d’une part, pour identifier et suivre la dynamique de la végétation, mais aussi pour estimer certains paramètres biophysiques caractéristiques des couverts végétaux, comme la biomasse, l’indice de surface foliaire, la fraction de rayonnement photosynthétique actif, etc.
L’indice le plus connu et le plus utilisé est l’indice de végétation par différence normalisé ou indice de Tucker (NDVI en anglais) (Rouse and Haas, 1973 ; Tucker, 1979). Son expression est la suivante :
(pir-rouge)/(pir+rouge)
Je suppose que vous vous êtes déjà familiarisés avec Postgis ,Qgis et Gdal.
Les données : Images Quickbird (Visible +proche infrarouge)
composition colorée DIOUCK

Composition colorée Rouge +PIR

Assemblage des données avec Gdal
Pour faciliter les traitements, j’ai assemblé les bandes du rouge et du proche infra-rouge dont nous aurons besoin pour calculer le NDVI. Si vous n’avez pasGdal je vous conseille d’intaller FWtools

–Stack Bande
gdal_merge -separate  bande3.tif bande4.tif -o bande34.tif

Pour vérifier notre stack voici la commande gdalinfo bande34.tif
gdalinfo_bande

 gdalinfo sur le stack

Et là on distingue bien nos deux bandes : La bande 1 correspond au rouge et la bande 2 au PIR
Importation des données dans Postgis :
J’ai créé un script bat pour l’intégration des données

REM Paramètres de connections
set PGPORT=5432
set PGHOST=localhost
set PGUSER=postgres
set PGPASSWORD=postgres
REM on traite le raster en le transformant en une suite de commandes SQL pour le schema ‘raster’ . Le –t permet de tuiler la donnée et le –I une indexation pour  gagner en performance
« C:\Program Files\PostgreSQL\9.3\bin\raster2pgsql »  -s 4326 -C -I -r -M -F -t 100×100  « D:\Postgis Raster\Satellite\QuickBird\ bande34.tif »  raster. bande34> bande34.sql
REM on crée la table raster dans notre base BDU de donnée via psql
« C:\Program Files\PostgreSQL\9.3\bin\psql » -d bdu -f bande34.sql
 
 
 
 

Calcul de l’indice de végétation  NDVI
L’indice le plus connu et le plus utilisé est l’indice de végétation par différence normalisé ou indice de Tucker (NDVI en anglais) (Rouse and Haas, 1973 ; Tucker, 1979). Son expression est la suivante :
La formule est la suivante (pir-rouge)/(pir+rouge)
Voici la requête dans postgis

create table ndvi as
select ST_MapAlgebra(a.rast, 2, a.rast, 1, ‘([rast1] – [rast2])/([rast1] + [rast2])::float’, ’32BF’) as rast
FROM raster.bande34 a

 
Visualisation dans QGIS

Comme vous pouvez le constater nous avons bien les valeurs du NDVI comprises entre -0.9 à 0.68.
Une simple classification permet de visualiser les différentes classes d’occupation du sol qui sont pareilles que la classification que j’ai fait avec les mêmes données à partir de QGIS

NDVI avec POSTGIS

NDVI POSTGIS DIOUCK
NDVI avec QGIS
NDVI QGIS DIOUCK

 
 

Laisser un commentaire