Mesurer la santé des cultures
Produits utilisés : s2_l2a
Mots clés : données utilisées ; sentinel-2, indice de bande ; NDVI, interactive, analyse ; séries chronologiques, agriculture
Aperçu
Pendant la croissance des cultures, les champs peuvent se ressembler visuellement. Cependant, la santé ou les taux de croissance de ces champs peuvent être très différents, ce qui entraîne une variabilité et une imprévisibilité des revenus. L’identification des cultures sous-performantes peut avoir deux avantages :
Capacité à détecter les dégâts causés par les maladies.
Capacité à enquêter sur les champs peu performants et à entreprendre des mesures de gestion telles que des analyses de sol ou une fertilisation ciblée pour améliorer le rendement.
Cas d’utilisation de Digital Earth Africa
L’imagerie satellite permet de mesurer la santé des plantes au fil du temps et d’identifier les changements dans les schémas de croissance entre des champs similaires. La résolution de 20 mètres de Sentinel-2 en fait un outil idéal pour comprendre la santé des grands champs.
L’indice de végétation par différence normalisée (NDVI) décrit la différence entre la réflectance visible et proche infrarouge de la couverture végétale. Cet indice estime la densité de verdure sur une zone de terrain et peut être utilisé pour suivre la santé et la croissance des cultures à mesure qu’elles mûrissent. La comparaison du NDVI de deux zones de plantation similaires aidera à identifier toute anomalie dans les schémas de croissance.
Description
Dans cet exemple, les données de Sentinel-2 sont utilisées pour évaluer les schémas de croissance des cultures sur deux ans. L’exemple ci-dessous présente aux utilisateurs le code nécessaire pour :
Créez un cube de données de séries chronologiques sur les terres cultivées.
Sélectionnez plusieurs zones à comparer.
Créez des graphiques pour identifier les tendances de performance des cultures sur deux ans.
Interpréter les résultats.
Commencer
Pour exécuter cette analyse, exécutez toutes les cellules du bloc-notes, en commençant par la cellule « Charger les packages et les applications ».
Charger des packages et des applications
Ce bloc-notes fonctionne via deux fonctions, appelées applications : « load_crophealth_data » et « run_crophealth_app ». Les applications permettent de stocker la majorité du code d’analyse dans un autre fichier, ce qui rend le bloc-notes facile à utiliser et à exécuter. Pour afficher le code derrière les applications, ouvrez le fichier crophealth.py.
[1]:
%matplotlib inline
import datacube
from deafrica_tools.app.crophealth import load_crophealth_data
from deafrica_tools.app.crophealth import run_crophealth_app
Paramètres d’analyse
La cellule suivante définit des paramètres importants pour l’analyse. Quatre paramètres contrôlent l’emplacement où les données seront chargées :
« lat » : la latitude centrale à analyser (par exemple « 14,789064 »).
« lon » : la longitude centrale à analyser (par exemple « -17.065202 »).
« buffer » : le nombre de degrés carrés à charger autour de la latitude et de la longitude centrales. Pour des temps de chargement raisonnables, définissez cette valeur sur « 0,1 » ou moins.
« date » : la date la plus récente pour laquelle afficher les données. L’application chargera automatiquement toutes les données disponibles pour les deux années précédant cette date. (par exemple, « 2020-08-01 » affiche les données d’août 2018 à août 2020).
Ceux-ci peuvent être modifiés dans la cellule ci-dessous, en notant que le DE Africa Explorer peut être utilisé pour vérifier si les données Sentinel-2 sont disponibles sur la zone sélectionnée.
Zones suggérées
Voici quelques suggestions de zones à examiner. Pour afficher l’une de ces zones, copiez et collez les valeurs des paramètres dans la cellule ci-dessous, puis exécutez le bloc-notes.
Terres cultivées, Sénégal
lat = 14.789064
lon = -17.065202
buffer = 0.005
Ferme de café Aviv, Tanzanie
lat = -10.6979
lon = 35.2635
buffer = 0.003
Terres cultivées, ouest du Kenya
lat = -0.483689
lon = 34.193792
buffer = 0.005
[2]:
# Define the area of interest for the analysis
lat = 14.789064
lon = -17.065202
buffer = 0.005
date = '2020-08-01'
Charger les données
La commande « load_crophealth_data() » exécute plusieurs étapes clés :
identifier toutes les données Sentinel-2 disponibles dans la zone d’étude de cas au cours des deux années précédant la date fixée
supprimer tous les pixels de mauvaise qualité
conserver les images où plus de la moitié de l’image contient des pixels de bonne qualité
calculer le NDVI à partir des bandes rouge et proche infrarouge
renvoyer les données collectées pour analyse
Les données nettoyées et rassemblées sont stockées dans l’objet « dataset ». Au fur et à mesure de l’exécution de la commande, des informations seront fournies sous la cellule, notamment sur le nombre d’images nettoyées chargées à partir du satellite.
La fonction prend quatre arguments : « lat », « lon » et « buffer », « date ». Ceux-ci déterminent la zone d’intérêt et la plage de dates que la fonction charge et peuvent être modifiés dans la cellule précédente.
Veuillez être patient. Le chargement est terminé lorsque l’état de la cellule passe de « [*] » à « [numéro] ».
[3]:
dataset = load_crophealth_data(lat, lon, buffer, date)
Using pixel quality parameters for Sentinel 2
Finding datasets
s2_l2a
Counting good quality pixels for each time step
Filtering to 104 out of 164 time steps with at least 50.0% good quality pixels
Applying pixel quality/cloud mask
Loading 104 time steps
Exécutez l’application sur la santé des cultures
La commande run_crophealth_app() lance une carte interactive. Le dessin de polygones dans la limite rouge (qui représente la zone couverte par les données chargées) produira des tracés du NDVI moyen dans cette zone. Dessinez des polygones en cliquant sur le symbole ⬟ dans l’application.
La fonction fonctionne en prenant les données chargées « dataset » comme argument, ainsi que les paramètres « lat », « lon » et « buffer » utilisés pour définir l’étendue spatiale.
Remarque : les points de données n’apparaîtront que pour les images dont plus de 50 % des pixels ont été classés comme étant de bonne qualité. Cela peut entraîner une déconnexion des lignes de tendance sur le tracé NDVI moyen. Les points de données disponibles seront marqués du symbole « * ».
[4]:
run_crophealth_app(dataset, lat, lon, buffer)
Tirer des conclusions
Voici quelques questions sur lesquelles réfléchir :
Quels sont les facteurs qui pourraient expliquer les différences ou les similitudes entre les différentes sections de la zone d’étude ?
Existe-t-il des tendances notables au cours des deux années de données ? Celles-ci pourraient-elles correspondre à des événements spécifiques tels que la plantation ou la récolte ?
Informations Complémentaires
Licence Le code de ce notebook est sous licence Apache, version 2.0 <https://www.apache.org/licenses/LICENSE-2.0>`__.
Les données de Digital Earth Africa sont sous licence Creative Commons Attribution 4.0 <https://creativecommons.org/licenses/by/4.0/>.
Contact Si vous avez besoin d’aide, veuillez poster une question sur le canal Slack DE Africa <https://digitalearthafrica.slack.com/> ou sur le GIS Stack Exchange <https://gis.stackexchange.com/questions/ask?tags=open-data-cube> en utilisant la balise open-data-cube (vous pouvez consulter les questions posées précédemment `ici <https://gis.stackexchange.com/questions/tagged/open-data-
Si vous souhaitez signaler un problème avec ce notebook, vous pouvez en déposer un sur Github.
Version de Datacube compatible
[5]:
print(datacube.__version__)
1.8.19
Dernier test :
[6]:
from datetime import datetime
datetime.today().strftime('%Y-%m-%d')
[6]:
'2024-11-05'