Comment traiter l'imagerie satellite avec Sen2Cor

Sen2Cor - un programme de traitement d'images prises à partir du satellite Sentinel-2. L'article décrit comment l'installer, l'exécuter et le configurer.

Imagerie satellite avant et après traitement avec Sen2Cor

Dans la magistrature, j'avais besoin de faire une correction atmosphérique des images du satellite Sentinel-2. Master en écologie, il était donc possible de ne pas se plonger dans la physique et les mathématiques, mais d'utiliser un outil prêt à l'emploi. Un tel outil a été trouvé - Sen2Cor.

Qu'est-ce que Sentinel-2
Sentinel-2 — , (ESA) 2015 . 13 , . — , . 100 100 . — 10 . — Copernicus Open Access Hub USGS Earth Explorer.

Le problème est qu'il n'y a pas d'instructions claires pour Sen2Cor. Les auteurs de manuels de géoinformatique ne rampent pas dans des jungles telles que le travail avec des programmes spécifiques, et les auteurs d'articles scientifiques, au contraire, pensent que la correction d'image est une partie trop simple de la technique, donc ils ne la décrivent pas en détail. Sur les sites "pour les nuls" (et pas tout à fait pour les nuls), Sen2Cor n'est pas non plus écrit. La documentation officielle prête à confusion: il suffit de dire que la section «Installation» de la 26e page du «Guide de l'utilisateur» fait immédiatement référence à la 60e page des Notes de version. Il m'a fallu un certain temps pour le comprendre.

J'ai décidé d'écrire un guide compréhensible pour l'installation, le démarrage et la configuration de Sen2Cor. Le manuel s'adresse aux biologistes, écologistes, spécialistes agricoles et à tous ceux qui peuvent avoir besoin d'un traitement d'image satellite, mais pour qui ce n'est pas la tâche principale. En fait, je partage ma propre expérience. Je ne garantis pas l'exactitude et l'exhaustivité absolues. Les spécialistes de la géoinformatique, je pense, me conseilleront quelque chose.

Strictement parlant, Sen2Cor fait non seulement une correction atmosphérique, mais aussi une correction pour l'angle du Soleil et du terrain, ainsi qu'une classification thématique (classification des scènes), mais pour moi le plus important était la correction atmosphérique. Par conséquent, pour plus de simplicité, j'écris parfois «correction atmosphérique» au lieu de «traitement», bien que ce soit inexact.

Sen2Cor fonctionne en trois modes: en tant qu'application console autonome, en tant que plugin dans Sentinel-2 Toolbox et en tant qu'application console utilisée dans PDGS (Payload Data Ground Segment). PDGS est un centre de données au sol reçu des satellites. Il est en Italie dans un institut de recherche. Théoriquement, vous pouvez exécuter Sen2Cor dans le même mode dans lequel il est lancé dans le centre de données, mais pour exécuter, vous avez besoin de données qui ne peuvent tout simplement pas être téléchargées sur Internet, nous ne considérerons donc pas cette option. Sentinel-2 Tolobox est également contourné, car je n'ai pas travaillé avec ce programme. Il a une interface graphique, donc je pense que comprendre son travail n'est pas difficile. Ainsi, cet article décrit comment utiliser Sen2Cor en mode console.

Sen2Cor fonctionne sur Windows 64 bits, MacOS et Linux. J'ai Linux, donc je vais montrer les commandes en utilisant Linux comme exemple. Cependant, la seule différence réside dans les programmes d'installation et dans les chemins d'accès aux fichiers.

Sen2Cor nécessite 4 Go de RAM. S'il est inférieur, il démarrera, mais peut se bloquer en cours de traitement. La consommation de RAM dépend de la résolution des images prises, donc si la mémoire est petite et que le programme donne une erreur à cause de cela, alors vous pouvez commencer le traitement avec une résolution inférieure. La procédure à suivre est décrite ci-dessous. Il n'y a pas d'exigences strictes similaires pour le processeur, mais plus le processeur est faible, plus le traitement prendra du temps.

Installation


Vous devez télécharger le programme d'installation et l'exécuter. Sen2Cor est écrit en Python, cependant, l'interpréteur et tous les packages nécessaires sont dans le programme d'installation, vous n'avez donc pas besoin d'installer Python vous-même et de configurer l'environnement.

Supposons que nous ayons un utilisateur utilisateur avec un répertoire personnel /home/user. Créez un dossier dans le répertoire personnel spaceshotsdans lequel nous travaillerons avec les images. Le chemin complet vers le dossier sera /home/user/spaceshots.

Ensuite, téléchargez et exécutez le programme d'installation. Ouvrez la page Sen2Corsur le site de l'instrument de l'Agence spatiale européenne. Il existe deux versions du programme: 2.5.5 et 2.8. Installer 2.8 est mieux: il consomme moins de RAM et contient moins d'erreurs. La version 2.5.5 peut être nécessaire si vous devez traiter des photos prises selon les anciennes spécifications. Cliquez sur "Sen2Cor v2.8". À la fin de la page dans la section «Installateurs autonomes» se trouvent des liens pour télécharger les installateurs. Téléchargez celui qui convient à notre système d'exploitation. Dans ce cas, il s'agit du "programme d'installation Linux: Sen2Cor-02.08.00-Linux64.run". Enregistrez le fichier dans /home/user/spaceshots.

Ensuite, ouvrez la console, accédez au répertoire spaceshotset exécutez le programme d'installation.

$ cd ~/spaceshots
$ ./Sen2Cor-02.08.00-Linux64.run

Par défaut, le programme est installé dans le répertoire courant. Un dossier y est créé Sen2Cor-02.08.00-Linux64, où tous les fichiers du programme sont extraits. Dans l'ensemble, l'installation se résume à décompresser l'archive. De plus, dans le répertoire est créé un dossier pour les fichiers de configuration et les journaux: /home/user/sen2cor/2.8.

S'il n'y a pas d'erreur, une inscription devrait apparaître dans la console «Congratulations, Installation successful...»et une suggestion pour tester l'installation. Faisons un test:

$ /home/user/spaceshots/Sen2Cor-02.08.00-Linux64/bin/L2A_Process -h 

Cette commande /home/user/spaceshots/Sen2Cor-02.08.00-Linux64contient le répertoire où Sen2Cor a été installé. Le dossier bincontient les principaux fichiers exécutables du programme, y compris le fichier principal L2A_Process. L'option -hindique que vous devez afficher la page d'aide. À la suite de l'exécution de la commande, les éléments suivants devraient apparaître dans la console:

usage: L2A_Process.py [-h] [--mode MODE] [--resolution {10,20,60}]
                      [--datastrip DATASTRIP] [--tile TILE]
                      [--output_dir OUTPUT_DIR] [--work_dir WORK_DIR]
                      [--img_database_dir IMG_DATABASE_DIR]
                      [--res_database_dir RES_DATABASE_DIR]
                      [--processing_centre PROCESSING_CENTRE]
                      [--archiving_centre ARCHIVING_CENTRE]
                      [--processing_baseline PROCESSING_BASELINE] [--raw]
                      [--tif] [--sc_only] [--cr_only] [--debug]
                      [--GIP_L2A GIP_L2A] [--GIP_L2A_SC GIP_L2A_SC]
                      [--GIP_L2A_AC GIP_L2A_AC] [--GIP_L2A_PB GIP_L2A_PB]
                      input_dir

Sentinel-2 Level 2A Processor (Sen2Cor). Version: 2.8.0, created: 2019.02.20,
supporting Level-1C product version 14.2 - 14.5.


S'il apparaissait, l'installation s'est bien déroulée et le programme est prêt à l'emploi. La seule chose qui ne fait toujours pas de mal à faire est de simplifier le lancement du programme. Alors que vous devez spécifier le chemin complet du fichier: /home/user/spaceshots/Sen2Cor-02.08.00-Linux64/bin/L2A_Process. Ce n'est pas confortable. Il est beaucoup plus facile d'écrire simplement L2A_Process. Cependant, si vous le faites maintenant, une erreur apparaîtra:

$ L2A_Process
bash: L2A_Process:   

Pour corriger l'erreur et exécuter la commande Sen2Cor on L2A_Process, vous devez ajouter une commande au fichier .bashrc, qui se trouve dans le répertoire personnel (dans notre cas, à l'adresse /home/user/.bashrc). Il s'agit d'un fichier caché, donc avant de l'ouvrir, vous devez activer l'affichage des fichiers cachés dans le gestionnaire de fichiers.

Ajoutez les .bashrclignes suivantes à la fin du fichier :

# Sen2Cor processor (v. 2.8.0)
source /home/user/spaceshots/Sen2Cor-02.08.00-Linux64/L2A_Bashrc

La première ligne est un commentaire pour se rappeler pourquoi la seconde est nécessaire. A chaque démarrage du système, la deuxième ligne exécute le script contenu dans le fichier L2A_Bashrc. Ce script modifie certaines variables d'environnement afin que la commande L2A_Processdevienne accessible de partout, et vous n'avez pas besoin de spécifier le chemin d'accès complet à celle-ci.

Pour que les modifications .bashrcprennent effet, vous devez revenir à la console et exécuter la commande

$ source ~/.bashrc

Vous pouvez également changer l'endroit où le programme sera installé. Pour ce faire, vous devez spécifier l'option lors du démarrage du programme d'installation --target. Par exemple, la commande

# ./Sen2Cor-02.08.00-Linux64.run --target /usr/share/sen2cor

va installer Sen2Cor dans /usr/share/sen2cor. Nous exécutons la commande à partir du superutilisateur, car un utilisateur ordinaire, en règle générale, ne peut pas écrire de fichiers /usr. Cependant, dans ce cas, vous devrez alors exécuter Sen2Cor avec les droits de superutilisateur ou modifier les droits d'accès en /usr/share/sen2cor.

Comment installer sur MacOS et Windows
MacOS , Linux.

Windows — zip-, . L2A_Process L2A_Process.bat, bin, , :

C:\Users\user\spaceshots\Sen2Cor-02.08.00-Linux64/L2A_Process.bat -h

Windows : :\Users\user\sen2cor\2.8. .

, L2A_Process.bat, Windows L2A_Bashrc.bat PATH.

Traitement d'image


Nous avons donc installé Sen2Cor et l'avons exécuté sur commande L2A_Process. Faites maintenant une correction atmosphérique. Supposons que nous ayons déjà téléchargé et décompressé une image satellite dans /home/user/spaceshots. J'ai pris une photo de la zone à l'ouest d'Ekaterinbourg le 27 juillet 2018. Le fichier d'instantané s'appelle L1C_T40VFJ_A016162_20180727T071939.zip . Après le déballage, le dossier S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE est apparu . Ensuite, pour la correction atmosphérique, vous devez exécuter la commande suivante:

$ L2A_Process S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE/

Après avoir appuyé sur Entrée, vous pouvez vous détendre, car le traitement prend beaucoup de temps (sur Yandex.Cloud avec Intel Cascade Lake et une part garantie de 5% de CPU - environ une heure). Sen2Cor affiche des informations sur la progression dans la console, de sorte que vous comprendrez à peu près ce que fait le programme en ce moment.

Journal de démarrage dans la console
Sentinel-2 Level 2A Processor (Sen2Cor). Version: 2.8.0, created: 2019.02.20, supporting Level-1C product version 14.2 - 14.5 started ...
Product version: 14.5
Operation mode: TOOLBOX
Processing baseline: 99.99
Progress[%]:  0.00 : Generating datastrip metadata
L1C datastrip found, L2A datastrip successfully generated
Selected resolution: 60 m
Progress[%]: 1.13 : PID-4202, L2A_ProcessTile: processing with resolution 60 m, elapsed time[s]: 2.299, total: 0:00:10.789933
Progress[%]: 1.13 : PID-4202, L2A_ProcessTile: start of pre processing, elapsed time[s]: 0.000, total: 0:00:10.790432
Progress[%]: 1.27 : PID-4202, L2A_Tables: start import, elapsed time[s]: 0.278, total: 0:00:11.068694
Progress[%]: 1.69 : PID-4202, L2A_Tables: band B01 imported, elapsed time[s]: 0.851, total: 0:00:11.919562
Progress[%]: 9.39 : PID-4202, L2A_Tables: band B02 imported, elapsed time[s]: 15.618, total: 0:00:27.537532
Progress[%]: 17.16 : PID-4202, L2A_Tables: band B03 imported, elapsed time[s]: 15.743, total: 0:00:43.280800


Lorsque le programme a fini de fonctionner, à /home/user/spaceshotscôté de S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE/ , un autre dossier avec un nom très similaire devrait apparaître - S2A_MSIL2A_20180727T071621_N9999_R006_T40VF08 pour

lequel nous avons maintenant le programme pour lequel nous avons. Pour ce faire, considérez la structure des images Sentinel-2.

L'image satellite Sentinel-2 est une archive zip de plusieurs centaines de mégaoctets. Dans notre cas, l'archive s'appelle L1C_T40VFJ_A016162_20180727T071939.zip . Les informations sont codées sous le nom: niveau de traitement ( L1C ), code de territoire ( T40VFJ ), numéro d'orbite ( A016162), la date et l'heure du tournage. À l'intérieur de cette archive, il y a un dossier avec un nom long qui se termine par .SAFE. Dans le dossier * .SAFE, il y a un dossier GRANULE, il y a un autre dossier avec un nom long, à l'intérieur duquel se trouve le dossier IMG_DATA, et il y a 14 images au format jp2. Parmi eux, 13 sont numérotés - leur nom se termine par B01-B12 (plus un de plus avec le numéro B8A). Ce sont des tuiles - des images de la surface de la Terre, prises à des longueurs d’ondes spécifiques. Par exemple, B04 est une image dans la plage rouge et B08 est dans le proche infrarouge, et ensemble ces deux images peuvent être utilisées pour calculer un indice aussi connu que NDVI . Le nom de la 14e image se termine par TCI, ce qui signifie True Color Image - il s'agit d'une image en couleur, c'est-à-dire à peu près la même que celle qui se serait produite sur un appareil photo ordinaire.

Sen2Cor reçoit le dossier * .SAFE en tant que données source - c'est lui qui est spécifié comme seul paramètre requis lors du démarrage du programme. Si au lieu du dossier * .SAFE vous spécifiez autre chose, par exemple, l'archive source avec un instantané ou une tuile spécifique, le programme ne démarre pas.

$ L2A_Process T40VFJ_20180727T071621_B04.jp2 
Product metadata file cannot be read.

Le fait est que non seulement les tuiles elles-mêmes sont utilisées pour la correction atmosphérique, mais aussi les métadonnées, et qu'elles se trouvent dans les fichiers à l'intérieur du dossier * .SAFE, et non dans les tuiles.

Le résultat du travail du programme est également un dossier * .SAFE avec une structure similaire: à l'intérieur il y a un dossier GRANULE, à l'intérieur il y a un autre dossier dans lequel se trouve le dossier IMG_DATA, et il y a des tuiles corrigées. Les carreaux sont regroupés par résolution spatiale: ceux avec une résolution spatiale de 10 mètres sont situés dans le dossier R10m, ceux avec une résolution de 20 mètres en R20m et 60 mètres en R60m. Avec certains paramètres, certaines autorisations ne sont pas traitées et les dossiers correspondants ne sont pas créés - plus d'informations ci-dessous.

Le nom du dossier * .SAFE qui en résulte ne diffère du nom d'origine qu'en un seul: au début au lieu de _MSI L1C_ indiqué _MSI L2A _. L1C et L2A sont des codes de niveau de traitement. Le niveau L1C signifie que l'image est traitée au niveau de réflectance du haut de l'atmosphère, c'est-à-dire que les valeurs de pixels dans l'image correspondent à la réflexion enregistrée à la limite supérieure de l'atmosphère - où le satellite vole. Le niveau L2A est traité au niveau de réflectance du bas de l'atmoshpère, c'est-à-dire aux valeurs de réflexion à la surface de la Terre - comme si l'atmosphère était absolument transparente. En réalité, bien sûr, ce n'est pas le cas, et la correction atmosphérique vous permet de supprimer seulement une partie de la distorsion qui se produit lorsque la lumière traverse l'atmosphère, mais en général, les valeurs de réflectance du fond de l'atmosphère sont plus cohérentes avec la réflexion réelle de la surface de la terre que les valeurs du haut de l'atmosphère réflexion.

En plus des carreaux ajustés, Sen2Cor produit plusieurs autres images: en couleur (TCI), des cartes de la densité optique des aérosols de l'atmosphère (AOT - Aerosol Optical Thickness) et de la teneur en vapeur d'eau (WV - Water Vapor), une carte de classification thématique des types de surface (SC - Classification des scènes). Ils se trouvent également dans le dossier IMG_DATA dans des répertoires pour la résolution spatiale correspondante.

Si vous souhaitez que le dossier avec le résultat du programme soit appelé non * .SAFE, mais d'une manière différente, vous pouvez spécifier le nom vous-même en utilisant l'option --output_dir. Supposons que nous exécutions Sen2Cor trois fois avec des paramètres différents et que nous voulions enregistrer les résultats dans les dossiers test1, test2 et test3. Ensuite, nous indiquons --output_dirau démarrage:


$ L2A_Process --output_dir /home/user/spaceshots/test1 S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE

- et l'image corrigée apparaîtra dans le catalogue /home/user/spaceshots/test1. Aux deuxième et troisième départs, nous indiquons --output_dir /home/user/spaceshots/test2et, respectivement --output_dir /home/user/spaceshots/test3.

Voici une autre option utile --resolution. Il vous permet de définir la résolution spatiale des tuiles qui seront obtenues à la suite du programme. Sen2Cor peut créer des images avec différentes résolutions spatiales - 10, 20 ou 60 mètres par pixel. Par défaut, 10 et 20 mètres sont réalisés. Supposons que nous ayons suffisamment de tuiles avec une résolution de 60 mètres par pixel pour une analyse exploratoire. Ensuite, vous pouvez spécifier la résolution cible en utilisant l'option --resolution:

$ L2A_Process --resolution 60 S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE

Lorsqu'il est lancé avec ces paramètres, Sen2Cor traitera l'image et créera des tuiles ajustées avec une résolution de 60 mètres. Contrairement à un lancement standard, le traitement prend beaucoup moins de temps - un peu plus de quatre minutes. La consommation de mémoire est également moindre, donc si le démarrage avec une résolution standard s'est terminé par une erreur due au manque de mémoire, vous pouvez spécifier une résolution de 60 mètres. Seul le dossier R60m sera dans le dossier IMG_DATA, et à l'intérieur il y aura des tuiles avec une résolution de 60 mètres et quelques autres images: une carte thématique en couleur et une carte du contenu de la vapeur d'eau.

Fichier de configuration


Nous avons traité l'image satellite à l'aide de Sen2Cor en utilisant les paramètres par défaut. La résolution et le dossier d'enregistrement des résultats de travail peuvent être modifiés à l'aide des options --resolutionet --output_dir. Il existe quelques autres options de ligne de commande, cependant, toutes ne peuvent pas être configurées avec elles. Il existe de nombreux autres paramètres importants dans le traitement, par exemple: la prise en compte de la topographie, la suppression des nuages, l'évaluation de l'état de l'atmosphère. Dans Sen2Cor, ils sont configurés à l'aide du fichier de configuration.

Si vous exécutez Sen2Cor et ne spécifiez pas le chemin d'accès au fichier de configuration, comme nous l'avons fait auparavant, le fichier de configuration standard sera utilisé. Le fichier de configuration standard se trouve dans le répertoire personnel - dans notre cas, dans le dossier / home/user/sen2cor/2.8/cfg. Le fichier s'appelleL2A_GIPP.xml. L2A signifie niveau de traitement, GIPP signifie Ground Image Processing Parameters - paramètres pour le traitement au sol de l'image. Il s'agit d'un fichier xml normal, dans lequel il y a plusieurs sections, et dans les sections il y a des éléments pour différents paramètres. Une explication est écrite directement dans le fichier pour chaque paramètre. De plus, une description détaillée des paramètres est contenue dans la documentation - cependant, elle n'est pas facile à comprendre.

Vous pouvez modifier directement le fichier de configuration standard, mais il est préférable de le copier et d'indiquer explicitement lorsque vous démarrez le programme que vous devez utiliser un autre fichier de configuration. Copiez L2A_GIPP.xml dans /home/user/spaceshots, renommez-le en custom.xml et exécutez le programme avec ce fichier de configuration:

$ L2A_Process --GIP_L2A /home/user/spaceshots/custom.xml --resolution 60 S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE

Veuillez noter que l'option pour le fichier de configuration est appelée --GIP_L2A- avec une lettre "P". Comme nous n'avons pas édité le fichier de configuration, le processus et le résultat du programme ne sont pas différents du démarrage avec la configuration par défaut.

Il existe de nombreux paramètres différents dans le fichier de configuration. Examinons certains d'entre eux.

Journaux


Log_Level- un paramètre qui détermine le niveau de détail du journal du programme. Le journal est affiché dans la console pendant le fonctionnement et est en outre stocké dans le dossier du journal (dans notre cas - /home/user/sen2cor/2.8/log). La valeur par défaut est INFO. Il n'est généralement pas nécessaire de modifier ce paramètre si vous n'avez pas rencontré d'erreurs dans le programme.

Prise en compte du relief et de l'angle du soleil


DEM_Directory- le dossier dans lequel se trouve la carte d'élévation numérique (DEM - Digital Elevetion Model). Le traitement des résultats à l'aide d'une carte d'élévation numérique est généralement plus précis. La valeur par défaut est AUCUN, c'est-à-dire que le terrain n'est pas pris en compte. Si vous avez votre propre carte d'élévation numérique, indiquez le chemin d'accès. Le dossier de DEM doit être au même endroit que les dossiers cfget log, dans notre cas, dans le répertoire /home/user/sen2cor/2.8. Par conséquent, si vous avez une carte d'élévation numérique, vous devez la placer /home/user/sen2cor/2.8/demet spécifier dem dans DEM_Directory. S'il n'est pas là, mais que vous souhaitez toujours l'utiliser, vous pouvez spécifier n'importe quel chemin (par exemple, écrire dem aussi) et configurer le paramètre suivant.

DEM_Reference- URL à partir de laquelle télécharger le modèle d'élévation numérique, s'il ne se trouve pas dans le dossier spécifié au paragraphe précédent. Les développeurs de Sen2Cor suggèrent d'utiliser
http: // data_public: GDdci@data.cgiar-csi.org/srtm/tiles/GeoTIFF/
- Ceci est un lien vers STRM DEM, une carte d'élévation numérique librement distribuée avec une résolution spatiale de 90 mètres. Étant donné que l'échelle n'est pas beaucoup plus petite que les images satellites elles-mêmes, ce modèle devrait donner un bon résultat.

Si Sen2Cor voit DEM_Directoryqu'une valeur autre que NONE est spécifiée, il essaiera d'ouvrir des fichiers avec un bump map à partir du répertoire spécifié. Si les fichiers ne peuvent pas être ouverts, il essaiera de les télécharger à l'URL spécifiée dans DEM_Reference. S'il ne parvient pas à télécharger, un message d'erreur apparaîtra dans le journal et le traitement se poursuivra sans tenir compte du terrain. Les fichiers téléchargés à partir de l'URL sont enregistrés dansDEM_Directoryet ne sont pas supprimés une fois le programme terminé. Par conséquent, si vous souhaitez traiter à nouveau la même image avec la même carte d'élévation (par exemple, en modifiant d'autres paramètres de correction), Sen2Cor ne téléchargera pas à nouveau la carte d'élévation numérique, mais utilisera sa copie hors ligne.

L'option Generate_DEM_Outputvous permet d'obtenir une tuile séparée avec une carte d'élévation numérique à la suite du programme. Le défaut est faux.

L'option DEM_Terrain_Correctiondésactive partiellement l'utilisation d'une carte d'élévation numérique: l'élévation continuera d'être prise en compte lors de la classification thématique (SC) et de la construction de la carte AOT, mais pas lors du réglage des valeurs de réflexion à partir de la surface.

Si DEM n'est pas utilisé, spécifiez le paramètreAltitude- Il s'agit de la hauteur moyenne au-dessus du niveau de la mer dans la zone capturée sur l'image. La hauteur est indiquée en kilomètres.

Deux autres paramètres liés à la comptabilité d'élévation sont BRDF_Correctionet BRDF_Lower_Bound. BRDF signifie fonction de distribution de réflectance bidirectionnelle et signifie une équation qui simule la réflexion de la lumière d'une surface opaque. Différentes valeurs BRDF_Correctioncorrespondent à différentes valeurs de l'un des coefficients de cette équation. Dans la documentation officielle, il est recommandé dans la plupart des cas d'utiliser 21. Il BRDF_Lower_Boundest responsable d'un autre coefficient dans l'équation, et il peut être laissé par défaut, sauf si vous savez exactement pourquoi et pourquoi vous devez le changer.

Belle photo


L'option Generate_TCI_Outputactive et désactive la création d'une image en couleur. La valeur par défaut est VRAI, mais si une belle image n'est pas nécessaire, vous pouvez sélectionner FAUX.

Tenir compte de l'état de l'atmosphère


Les paramètres Aerosol_Type, Mid_Latitude, Ozone_Contentindiquent l'état de l'atmosphère au moment de la fusillade. Aerosol_Typepeut être défini sur le territoire: si le continent, puis RURAL, si l'océan, puis MARINE. Mid_Latitudeégalement déterminé par la saison: si en été, puis en été, si en hiver, puis en hiver.

Le paramètre Ozone_Contentindique la teneur en ozone. Le contenu en ozone peut être trouvé sur les archives en ligne des archives mondiales de l'ozone et des UV.. Sur la carte, vous pouvez trouver la station la plus proche de la zone d'enquête, puis télécharger le jeu de données au bon moment et voir les résultats des mesures le jour du tournage. Cependant, il est impossible d'établir le résultat de mesure réel dans le fichier de configuration - vous devez sélectionner une valeur dans la liste pour la période correspondante de l'année. Par conséquent, vous devez d'abord trouver la valeur réellement mesurée, puis choisir la plus proche disponible. Par exemple, selon la station d'Ekaterinbourg , le 27 juin 2018 (temps pris), la teneur en ozone était de 316 UD. L'explication dans le fichier de configuration indique: pour l'été aux latitudes moyennes, les options disponibles sont 250, 290, 331 (par défaut), 370, 410, 450. Le plus proche de 316 est 331. Il vient par défaut, donc dans ce cas, rien ne peut être fait ne changez pas. Si la photo a été prise quelques jours plus tôt, lorsque la concentration d'ozone a diminué à 302 DU, devrait être fixé Ozone_Contentà 290.

En principe, les trois paramètres - Aerosol_Type, Mid_Latitude, Ozone_Content- dans la plupart des cas peuvent être réglés par défaut - pour AUTO Aerosol_Typeet Mid_Latitudeet 0 pour Ozone_Content. Dans ce cas, Sen2Cor déterminera les valeurs les plus appropriées à partir des métadonnées d'image.

Suppression du cloud


Le paramètre Cirrus_Correctionindique si les nuages ​​de cirrus sont supprimés ou non de l'image. Fonctionne en conjonction avec WV_Threshold_Cirrus- il s'agit du seuil de teneur en vapeur d'eau en dessous duquel la suppression des nuages ​​est automatiquement désactivée, même si elle est Cirrus_Correctiondéfinie sur VRAI. Par conséquent, s'il y a des raisons de croire que la teneur en vapeur d'eau dans l'atmosphère au moment du tournage était faible, mais qu'il y a encore de petits nuages ​​et qu'ils doivent être supprimés, il est préférable de réduire la valeur WV_Threshold_Cirrus. WV_Threshold_Cirruspeut aller de 0,1 à 1.

Conclusion


Ainsi, dans cet article, nous avons examiné les problèmes suivants: comment installer Sen2Cor, comment le démarrer avec les paramètres par défaut, comment modifier certains paramètres du programme à l'aide de la ligne de commande et des options du fichier de configuration. Pour une étude plus approfondie de Sen2Cor, vous pouvez vous référer à la documentation officielle, qui est disponible sur la même page que les installateurs. La documentation officielle comprend quatre documents: la note de version et le manuel d'utilisation du logiciel plus simples et plus clairs, ainsi que la définition technique du produit et la définition des données de sortie d'entrée plutôt sophistiquées. Ce dernier fichier comprend également «La référence complète du GIPP» sous forme de fichier pdf joint. Je pense que les experts techniques trouveront beaucoup plus utile dans ces documents.

All Articles