#Monalisa2PostGIS: Importation de nombreux raster (Traitement par lots)

monalisa

Pour ceux qui travaillent avec Postgis de manière plus ou moins fréquente ,  si vous avez des difficultés d’intégration de plusieurs raster en même temps, voici un  script batch  qui fera office d’ETL. Évidemment les applications sont multiples par exemple regrouper plusieurs dalles d’ortho ou d’images satellites et calculer des indices de végétation.

Le scripte peut être exécuté sans problème malgré un nombre important de raster ( Tester sur un dossier de 50 dalles de 1km).  Voici les paramètres à modifier:

  1- D’abord définir les paramètres de connections

REM Parametre de connections
set PGPORT=5432 
set PGHOST=localhost
set PGUSER=postgres
set PGPASSWORD=postgres

2- Définir les  exécutables de postgres

REM  chercher le programme 
cd "C:\Program Files\PostgreSQL\9.5\bin"

3- Transformer en SQL l’image dans le schéma raster

Monalisa est disponible sur sa page  wikipedia

raster2pgsql   -d -I -C -e -Y   -s 4326   -t 128x128    "C:\raster\monalisa\*.jpg"  raster.monalisa >    "C:\raster\monalisa.sql" 
Avec -d pour supprimer la table si elle existe
-C pour la créer si elle n'existe pas
-I pour créer un overview
-s pour la projection et -t pour le tuilage

4- Importer le SQL dans la base de donnee bdu

psql -d bdu -f "C:\raster\monalisa.sql"

Pour info le script bat est disponible ici

5- Et visualiser votre résultat sur Qgis.

 

 

 

 

 

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

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

 

 

Segmentation multi-échelle de séries temporelles d’images satellite : Application à l’étude d’une période de sécheresse au Sénégal

        Les images satellites permettent l’acquisition d’information à grande échelle sur la végétation au sol. Ces images sont disponibles sur plusieurs années avec des fréquences d’acquisition importantes (1 image tous les seize jours) et forment ainsi des séries temporelles d’image satellite (SITS). Dans ce travail, nous présentons une méthode pour segmenter une SITS en caractérisant l’évolution d’un indice de végétation (indice NDVI) sur deux échelles temporelles : annuelle et pluriannuelle. Nous expérimentons cette méthode pour segmenter les régions sèches du Sénégal et comparons notre méthode à une classification directe des séries temporelles. Les résultats montrent que notre méthode différentie mieux des régions dans la zone médiane du Sénégal et localise des régions fines significatives (villes, forêts, zones agricoles).

Segmentation multi-échelle

Segmentation multi-échelle

      Résultats finaux de la segmentation de la SITS pour 100 classes. À gauche, résultat par classification des séquences de profils annuels. À droite, résultat par classification directe des séries temporelles. Le rectangle noir localise une région comprenant la ville de Touba et le territoire de Kelkome.

PDF: Segmentation multi-echelle

Thomas Guyet 12, Hervé Nicolas 3, Abdou Diouck 3

RFIA 2012 (Reconnaissance des Formes et Intelligence Artificielle) (2012) 978-2-9539515-2-3

  • 1:  DREAM (INRIA – IRISA) CNRS : UMR6074 – INRIA – Institut National des Sciences Appliquées (INSA) – Rennes – Université de Rennes 1
  • 2:  Agrocampus Ouest  Institut supérieur des sciences agronomiques, agroalimentaires, horticoles et du paysage – Ministère de l’agriculture, de l’agroalimentaire et de la forêt
  • 3:  Sol Agro et hydrosystème Spatialisation (SAS) Institut national de la recherche agronomique (INRA) : UR1069 – Ecole Nationale Supérieure Agronomique de Rennes