So verarbeiten Sie Satellitenbilder mit Sen2Cor

Sen2Cor - ein Programm zur Verarbeitung von Bildern, die vom Sentinel-2-Satelliten aufgenommen wurden. Der Artikel beschreibt, wie Sie es installieren, ausführen und konfigurieren.

Satellitenbilder vor und nach der Verarbeitung mit Sen2Cor

In der Magistratur musste ich die atmosphärischen Korrekturen der Bilder vom Sentinel-2-Satelliten vornehmen. Master in Ökologie, so war es möglich, nicht in Physik und Mathematik einzutauchen, sondern ein fertiges Werkzeug zu verwenden. Ein solches Tool wurde gefunden - Sen2Cor.

Was ist Sentinel-2?
Sentinel-2 — , (ESA) 2015 . 13 , . — , . 100 100 . — 10 . — Copernicus Open Access Hub USGS Earth Explorer.

Das Problem ist, dass es für Sen2Cor keine eindeutigen Anweisungen gibt. Die Autoren von Geoinformatik-Lehrbüchern kriechen nicht in solche Dschungel wie die Arbeit mit bestimmten Programmen, und die Autoren wissenschaftlicher Artikel glauben im Gegenteil, dass die Bildkorrektur ein zu einfacher Teil der Technik ist, weshalb sie sie nicht im Detail beschreiben. Auf Websites "für Dummies" (und nicht ganz für Dummies) wird auch nicht über Sen2Cor geschrieben. Die offizielle Dokumentation ist verwirrend: Es genügt zu sagen, dass der Abschnitt „Installation“ auf der 26. Seite des „Benutzerhandbuchs“ sofort auf die 60. Seite der Versionshinweise verweist. Ich habe eine Weile gebraucht, um es herauszufinden.

Ich habe beschlossen, eine verständliche Anleitung zum Installieren, Starten und Konfigurieren von Sen2Cor zu schreiben. Das Handbuch richtet sich an Biologen, Ökologen, Agrarfachleute und alle, die möglicherweise Satellitenbildverarbeitung benötigen, für die es jedoch nicht die Hauptaufgabe ist. Tatsächlich teile ich meine eigenen Erfahrungen. Ich garantiere keine absolute Richtigkeit und Vollständigkeit. Ich denke, Geoinformatik-Spezialisten werden mir etwas raten.

Genau genommen nimmt Sen2Cor nicht nur eine atmosphärische Korrektur vor, sondern auch eine Korrektur des Sonnenwinkels und des Geländes sowie eine thematische Klassifizierung (Szenenklassifizierung), aber für mich war das Wichtigste die atmosphärische Korrektur. Der Einfachheit halber schreibe ich manchmal "atmosphärische Korrektur" anstelle von "Verarbeitung", obwohl dies ungenau ist.

Sen2Cor arbeitet in drei Modi: als eigenständige Konsolenanwendung, als Plugin in der Sentinel-2 Toolbox und als Konsolenanwendung, die in PDGS (Payload Data Ground Segment) verwendet wird. PDGS ist ein bodengestütztes Rechenzentrum, das von Satelliten empfangen wird. Er ist in Italien an einem Forschungsinstitut. Theoretisch können Sie Sen2Cor in demselben Modus ausführen, in dem es im Rechenzentrum gestartet wird. Zum Ausführen benötigen Sie jedoch Daten, die einfach nicht im Internet heruntergeladen werden können. Daher wird diese Option nicht in Betracht gezogen. Sentinel-2 Tolobox wird ebenfalls umgangen, da ich mit diesem Programm nicht gearbeitet habe. Es hat eine grafische Oberfläche, daher glaube ich, dass es nicht schwierig ist, ihre Arbeit zu verstehen. In diesem Artikel wird beschrieben, wie Sen2Cor im Konsolenmodus verwendet wird.

Sen2Cor läuft unter 64-Bit-Windows, MacOS und Linux. Ich habe Linux, daher werde ich die Befehle am Beispiel von Linux zeigen. Der einzige Unterschied besteht jedoch in den Installationsprogrammen und in den Dateipfaden.

Sen2Cor benötigt 4 GB RAM. Wenn weniger, wird es gestartet, kann aber mitten in der Verarbeitung abstürzen. Der RAM-Verbrauch hängt von der Auflösung der aufgenommenen Bilder ab. Wenn also der Speicher klein ist und das Programm aus diesem Grund einen Fehler ausgibt, können Sie mit der Verarbeitung mit einer niedrigeren Auflösung beginnen. Wie das geht, wird unten beschrieben. Es gibt keine ähnlich strengen Anforderungen an den Prozessor, aber je schwächer der Prozessor ist, desto länger dauert die Verarbeitung.

Installation


Sie müssen das Installationsprogramm herunterladen und ausführen. Sen2Cor ist in Python geschrieben. Der Interpreter und alle erforderlichen Pakete befinden sich jedoch im Installationsprogramm, sodass Sie Python nicht selbst installieren und die Umgebung konfigurieren müssen.

Angenommen, wir haben einen Benutzer mit einem Home-Verzeichnis /home/user. Erstellen Sie einen Ordner im Home-Verzeichnis, spaceshotsin dem wir mit den Bildern arbeiten werden. Der vollständige Pfad zum Ordner lautet /home/user/spaceshots.

Laden Sie als Nächstes das Installationsprogramm herunter und führen Sie es aus. Öffnen Sie die Sen2Cor-Seiteauf dem Instrumentengelände der Europäischen Weltraumorganisation. Es gibt zwei Versionen des Programms: 2.5.5 und 2.8. Die Installation von 2.8 ist besser: Es verbraucht weniger RAM und enthält weniger Fehler. Version 2.5.5 kann erforderlich sein, wenn Sie Bilder verarbeiten müssen, die gemäß den alten Spezifikationen aufgenommen wurden. Klicken Sie auf "Sen2Cor v2.8". Am Ende der Seite im Abschnitt "Standalone-Installationsprogramme" befinden sich Links zum Herunterladen von Installationsprogrammen. Laden Sie das für unser Betriebssystem geeignete herunter. In diesem Fall handelt es sich um "Linux-Installationsprogramm: Sen2Cor-02.08.00-Linux64.run". Speichern Sie die Datei unter /home/user/spaceshots.

Öffnen Sie als Nächstes die Konsole, wechseln Sie in das Verzeichnis spaceshotsund führen Sie das Installationsprogramm aus.

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

Standardmäßig ist das Programm im aktuellen Verzeichnis installiert. Darin wird ein Ordner erstellt Sen2Cor-02.08.00-Linux64, in den alle Programmdateien extrahiert werden. Im Großen und Ganzen kommt es bei der Installation darauf an, das Archiv zu entpacken. Außerdem wird im Home-Verzeichnis ein Ordner für Konfigurationsdateien und Protokolle erstellt : /home/user/sen2cor/2.8.

Wenn keine Fehler vorliegen, sollte in der Konsole eine Beschriftung «Congratulations, Installation successful...»und ein Vorschlag zum Testen der Installation angezeigt werden. Machen wir einen Testlauf:

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

Dieser Befehl /home/user/spaceshots/Sen2Cor-02.08.00-Linux64enthält das Verzeichnis, in dem Sen2Cor installiert wurde. Der Ordner binenthält die wichtigsten ausführbaren Dateien des Programms, einschließlich der Hauptdatei L2A_Process. Die Option -hbesagt, dass Sie die Hilfeseite anzeigen müssen. Als Ergebnis der Befehlsausführung sollte Folgendes in der Konsole angezeigt werden:

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.


Wenn es erschien, ging die Installation gut und das Programm ist einsatzbereit. Das einzige, was immer noch nicht schadet, ist die Vereinfachung des Programmstarts. Während Sie den vollständigen Pfad der Datei angeben müssen : /home/user/spaceshots/Sen2Cor-02.08.00-Linux64/bin/L2A_Process. Es ist nicht bequem. Es ist viel einfacher, einfach zu schreiben L2A_Process. Wenn Sie dies jetzt tun, wird jedoch ein Fehler angezeigt:

$ L2A_Process
bash: L2A_Process:   

Um den Fehler zu beheben und den Befehl Sen2Cor on auszuführen L2A_Process, müssen Sie der Datei .bashrc, die sich im Ausgangsverzeichnis befindet (in unserem Fall unter der Adresse /home/user/.bashrc) , einen Befehl hinzufügen . Dies ist eine versteckte Datei. Bevor Sie sie öffnen, müssen Sie die Anzeige versteckter Dateien im Dateimanager aktivieren.

Fügen Sie am Ende der Datei die .bashrcfolgenden Zeilen hinzu:

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

Die erste Zeile ist ein Kommentar, um sich daran zu erinnern, warum die zweite benötigt wird. Bei jedem Systemstart führt die zweite Zeile das in der Datei enthaltene Skript aus L2A_Bashrc. Dieses Skript ändert einige Umgebungsvariablen, sodass der Befehl L2A_Processvon überall zugänglich ist und Sie nicht den vollständigen Pfad dazu angeben müssen.

Damit die Änderungen .bashrcwirksam werden, müssen Sie zur Konsole zurückkehren und den Befehl ausführen

$ source ~/.bashrc

Sie können auch den Ort ändern, an dem das Programm installiert wird. Dazu müssen Sie beim Starten des Installationsprogramms die Option angeben --target. Zum Beispiel der Befehl

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

installiert Sen2Cor in /usr/share/sen2cor. Wir führen den Befehl vom Superuser aus, da ein normaler Benutzer in der Regel keine Dateien schreiben kann /usr. In diesem Fall müssen Sie jedoch Sen2Cor mit Superuser-Rechten ausführen oder die Zugriffsrechte auf ändern /usr/share/sen2cor.

So installieren Sie unter MacOS und 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.

Bildverarbeitung


Also haben wir Sen2Cor installiert und auf Befehl ausgeführt L2A_Process. Nehmen Sie nun eine atmosphärische Korrektur vor. Angenommen, wir haben bereits ein Satellitenbild heruntergeladen und entpackt /home/user/spaceshots. Ich habe am 27. Juli 2018 ein Foto von der Gegend westlich von Jekaterinburg gemacht. Die Snapshot-Datei heißt L1C_T40VFJ_A016162_20180727T071939.zip . Nach dem Entpacken wurde der Ordner S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE angezeigt . Für die atmosphärische Korrektur müssen Sie dann den folgenden Befehl ausführen:

$ L2A_Process S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE/

Nach dem Drücken der Eingabetaste können Sie sich entspannen, da die Verarbeitung viel Zeit in Anspruch nimmt (auf Yandex.Cloud mit Intel Cascade Lake und einem garantierten Anteil von 5% CPU - ungefähr eine Stunde). Sen2Cor zeigt Informationen über den Fortschritt in der Konsole an, sodass Sie ungefähr verstehen, was das Programm gerade tut.

Protokollstart in der Konsole
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


Wenn das Programm beendet ist, sollte /home/user/spaceshotsneben S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE/ ein weiterer Ordner mit einem sehr ähnlichen Namen angezeigt werden - S2A_MSIL2A_20180727T071621_N9999_R006_T407

. Berücksichtigen Sie dazu die Struktur der Sentinel-2-Bilder.

Das Sentinel-2-Satellitenbild ist ein Zip-Archiv mit einer Größe von mehreren hundert Megabyte. In unserem Fall heißt das Archiv L1C_T40VFJ_A016162_20180727T071939.zip . Informationen werden im Namen codiert: Verarbeitungsebene ( L1C ), Gebietscode ( T40VFJ ), Umlaufbahnnummer ( A016162)), Datum und Uhrzeit der Aufnahme. In diesem Archiv befindet sich ein Ordner mit einem langen Namen, der mit .SAFE endet. Im Ordner * .SAFE befindet sich ein GRANULE-Ordner, darin befindet sich ein weiterer Ordner mit einem langen Namen, in dem sich der Ordner IMG_DATA befindet, und darin befinden sich 14 Bilder im JP2-Format. Unter ihnen sind 13 nummeriert - ihre Namen enden auf B01-B12 (plus eine weitere mit der Nummer B8A). Dies sind Kacheln - Bilder der Erdoberfläche, aufgenommen bei bestimmten Wellenlängen. Zum Beispiel ist B04 ein Bild im roten Bereich und B08 ist im nahen Infrarot, und zusammen können diese beiden Bilder verwendet werden, um einen so bekannten Index wie NDVI zu berechnen . Der Name des 14. Bildes endet mit TCI, was True Color Image bedeutet - dies ist ein Vollfarbbild, das ungefähr dem entspricht, das mit einer herkömmlichen Kamera erhalten würde.

Sen2Cor empfängt den Ordner * .SAFE als Quelldaten - dieser wird beim Starten des Programms als einziger erforderlicher Parameter angegeben. Wenn Sie anstelle des Ordners * .SAFE etwas anderes angeben, z. B. das Quellarchiv mit einem Snapshot oder einer bestimmten Kachel, wird das Programm nicht gestartet.

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

Tatsache ist, dass nicht nur die Kacheln selbst für die atmosphärische Korrektur verwendet werden, sondern auch Metadaten. Sie befinden sich in den Dateien im Ordner * .SAFE und nicht in den Kacheln.

Das Ergebnis der Programmarbeit ist auch ein * .SAFE-Ordner mit einer ähnlichen Struktur: Im Inneren befindet sich ein GRANULE-Ordner, darin befindet sich ein weiterer Ordner, in dem sich der Ordner IMG_DATA befindet, und darin befinden sich korrigierte Kacheln. Die Kacheln werden nach räumlicher Auflösung gruppiert: Die Kacheln mit einer räumlichen Auflösung von 10 Metern befinden sich im Ordner R10m, die Kacheln mit einer Auflösung von 20 Metern in R20m und 60 Metern in R60m. Mit bestimmten Einstellungen werden einige Berechtigungen nicht verarbeitet und die entsprechenden Ordner werden nicht erstellt - mehr dazu weiter unten.

Der daraus resultierende * .SAFE-Ordner unterscheidet sich vom ursprünglichen Namen nur in einem: am Anfang anstelle von _MSI L1C_ angegeben _MSI L2A _. L1C und L2A sind Verarbeitungsstufencodes. Der L1C-Pegel bedeutet, dass das Bild bis zum Reflexionsgrad der Atmosphäre verarbeitet wird, dh die Pixelwerte im Bild entsprechen der Reflexion, die an der oberen Grenze der Atmosphäre aufgezeichnet wurde - wo der Satellit fliegt. Das L2A-Niveau wird auf das Reflexionsniveau am unteren Ende der Atmosphäre, dh auf die Reflexionswerte an der Erdoberfläche, verarbeitet - als ob die Atmosphäre absolut transparent wäre. In der Realität ist dies natürlich nicht der Fall, und mit der atmosphärischen Korrektur können Sie nur einen Teil der Verzerrungen entfernen, die auftreten, wenn Licht durch die Atmosphäre fällt. Im Allgemeinen stimmen die Reflexionswerte für den Boden der Atmosphäre besser mit der tatsächlichen Reflexion von der Erdoberfläche überein als die Werte für die Atmosphäre Reflexionsvermögen.

Zusätzlich zu den angepassten Kacheln erzeugt Sen2Cor mehrere weitere Bilder: Vollfarbe (TCI), Karten der optischen Aerosoldichte der Atmosphäre (AOT - Aerosol Optical Thickness) und des Wasserdampfgehalts (WV - Water Vapor), eine Karte der thematischen Klassifizierung von Oberflächentypen (SC - Scene Classification). Sie befinden sich auch im Ordner IMG_DATA in Verzeichnissen für die entsprechende räumliche Auflösung.

Wenn Sie möchten, dass der Ordner mit dem Ergebnis des Programms nicht * .SAFE, sondern auf andere Weise aufgerufen wird, können Sie den Namen mit der Option selbst angeben --output_dir. Angenommen, wir führen Sen2Cor dreimal mit unterschiedlichen Einstellungen aus und möchten die Ergebnisse in den Ordnern test1, test2 und test3 speichern. Dann geben wir --output_dirbeim Start an:


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

- und das korrigierte Bild erscheint im Katalog /home/user/spaceshots/test1. Am zweiten und dritten Start, wir zeigen --output_dir /home/user/spaceshots/test2und jeweils --output_dir /home/user/spaceshots/test3.

Eine weitere nützliche Option ist dies --resolution. Hier können Sie die räumliche Auflösung der Kacheln festlegen, die als Ergebnis des Programms erhalten werden. Sen2Cor kann Bilder mit unterschiedlichen räumlichen Auflösungen erstellen - 10, 20 oder 60 Meter pro Pixel. Standardmäßig werden 10 und 20 Meter gemacht. Angenommen, wir haben genügend Kacheln mit einer Auflösung von 60 Metern pro Pixel für die explorative Analyse. Anschließend können Sie die Zielauflösung mit der folgenden Option festlegen --resolution:

$ L2A_Process --resolution 60 S2A_MSIL1C_20180727T071621_N0206_R006_T40VFJ_20180727T092607.SAFE

Beim Start mit diesen Parametern verarbeitet Sen2Cor das Bild und erstellt angepasste Kacheln mit einer Auflösung von 60 Metern. Im Gegensatz zu einem Standardstart nimmt die Verarbeitung viel weniger Zeit in Anspruch - etwas mehr als vier Minuten. Der Speicherverbrauch ist ebenfalls geringer. Wenn also der Start mit einer Standardauflösung aufgrund von Speichermangel zu einem Fehler führte, können Sie eine Auflösung von 60 Metern angeben. Nur der Ordner R60m befindet sich im Ordner IMG_DATA, und darin befinden sich Kacheln mit einer Auflösung von 60 Metern und einige andere Bilder: eine farbige thematische Karte und eine Karte des Wasserdampfgehalts.

Konfigurationsdatei


Wir haben das Satellitenbild mit Sen2Cor mit den Standardeinstellungen verarbeitet. Die Auflösung und der Ordner zum Speichern der Arbeitsergebnisse können mit den Optionen --resolutionund geändert werden --output_dir. Es gibt einige weitere Befehlszeilenoptionen, mit denen jedoch nicht alle konfiguriert werden können. Es gibt viele andere Parameter, die für die Verarbeitung wichtig sind, zum Beispiel: ob die Topographie berücksichtigt werden soll, ob Wolken entfernt werden sollen, wie der Zustand der Atmosphäre beurteilt werden soll. In Sen2Cor werden sie mithilfe der Konfigurationsdatei konfiguriert.

Wenn Sie Sen2Cor ausführen und den Pfad zur Konfigurationsdatei nicht wie zuvor angeben, wird die Standardkonfigurationsdatei verwendet. Die Standardkonfigurationsdatei befindet sich im Ausgangsverzeichnis - in unserem Fall im Ordner / home/user/sen2cor/2.8/cfg. Die Datei wird aufgerufenL2A_GIPP.xml. L2A steht für die Verarbeitungsebene, GIPP für Ground Image Processing Parameters - Parameter für die Bodenverarbeitung des Bildes. Dies ist eine reguläre XML-Datei, in der sich mehrere Abschnitte befinden, und in Abschnitten gibt es Elemente für verschiedene Einstellungen. Für jede Einstellung wird direkt eine Erklärung in die Datei geschrieben. Darüber hinaus ist in der Dokumentation eine detaillierte Beschreibung der Einstellungen enthalten, die jedoch nicht leicht zu verstehen ist.

Sie können die Standardkonfigurationsdatei direkt bearbeiten. Es ist jedoch besser, sie zu kopieren und beim Starten des Programms explizit anzugeben, dass Sie eine andere Konfigurationsdatei verwenden müssen. Kopieren Sie L2A_GIPP.xml nach /home/user/spaceshots, benennen Sie es in custom.xml um und führen Sie das Programm mit dieser Konfigurationsdatei aus:

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

Bitte beachten Sie, dass die Option für die Konfigurationsdatei aufgerufen wird --GIP_L2A- mit einem Buchstaben "P". Da wir die Konfigurationsdatei nicht bearbeitet haben, unterscheiden sich der Prozess und das Ergebnis des Programms nicht vom Beginn mit der Standardkonfiguration.

Die Konfigurationsdatei enthält viele verschiedene Parameter. Betrachten wir einige davon.

Protokolle


Log_Level- Ein Parameter, der bestimmt, wie detailliert das Protokoll des Programms sein wird. Das Protokoll wird während des Betriebs in der Konsole angezeigt und zusätzlich im Protokollordner gespeichert (in unserem Fall - /home/user/sen2cor/2.8/log). Der Standardwert ist INFO. Normalerweise muss diese Einstellung nicht geändert werden, wenn im Programm keine Fehler aufgetreten sind.

Berücksichtigung des Reliefs und des Winkels der Sonne


DEM_Directory- der Ordner, in dem sich die digitale Höhenkarte befindet (DEM - Digital Elevetion Model). Die Verarbeitungsergebnisse mithilfe einer digitalen Höhenkarte sind normalerweise genauer. Der Standardwert ist NONE, d. H. Das Gelände wird nicht berücksichtigt. Wenn Sie eine eigene digitale Höhenkarte haben, geben Sie den Pfad dazu an. Der Ordner für DEM sollte sich an derselben Stelle befinden wie die Ordner cfgund login unserem Fall im Verzeichnis /home/user/sen2cor/2.8. Wenn Sie eine digitale Höhenkarte haben, müssen Sie diese daher /home/user/sen2cor/2.8/demin DEM_Directory einfügen und dem angeben. Wenn es nicht vorhanden ist, Sie es aber dennoch verwenden möchten, können Sie einen beliebigen Pfad angeben (z. B. auch dem schreiben) und den nächsten Parameter konfigurieren.

DEM_Reference- URL, von der das digitale Höhenmodell heruntergeladen werden soll, wenn es sich nicht in dem im vorherigen Absatz angegebenen Ordner befindet. Sen2Cor-Entwickler empfehlen die Verwendung
http: // data_public: GDdci@data.cgiar-csi.org/srtm/tiles/GeoTIFF/
- Dies ist eine Verbindung zu STRM DEM, einer frei verteilten digitalen Höhenkarte mit einer räumlichen Auflösung von 90 Metern. Da der Maßstab nicht viel kleiner als die Satellitenbilder selbst ist, sollte dieses Modell ein gutes Ergebnis liefern.

Wenn Sen2Cor feststellt, DEM_Directorydass ein anderer Wert als NONE angegeben ist, wird versucht, Dateien mit einer Bump Map aus dem angegebenen Verzeichnis zu öffnen. Wenn die Dateien nicht geöffnet werden können, versucht er, sie unter der unter angegebenen URL herunterzuladen DEM_Reference. Wenn der Download fehlschlägt, wird im Protokoll eine Fehlermeldung angezeigt, und die Verarbeitung wird fortgesetzt, ohne das Gelände zu berücksichtigen. Von der URL heruntergeladene Dateien werden in gespeichertDEM_Directoryund werden nach Beendigung des Programms nicht gelöscht. Wenn Sie dasselbe Bild erneut mit derselben Höhenkarte verarbeiten möchten (z. B. durch Ändern anderer Korrektureinstellungen), lädt Sen2Cor die digitale Höhenkarte nicht erneut herunter, sondern verwendet ihre Offline-Kopie.

Mit dieser Option Generate_DEM_Outputkönnen Sie als Ergebnis des Programms eine separate Kachel mit einer digitalen Höhenkarte erhalten. Der Standardwert ist FALSE.

Die Option DEM_Terrain_Correctiondeaktiviert teilweise die Verwendung einer digitalen Höhenkarte: Die Höhe wird weiterhin bei der thematischen Klassifizierung (SC) und der Erstellung der AOT-Karte berücksichtigt, jedoch nicht beim Anpassen der Reflexionswerte von der Oberfläche.

Wenn DEM nicht verwendet wird, geben Sie den Parameter anAltitude- Dies ist die durchschnittliche Höhe über dem Meeresspiegel in dem auf dem Bild aufgenommenen Gebiet. Die Höhe wird in Kilometern angegeben.

Zwei weitere Parameter im Zusammenhang mit der Höhenabrechnung sind BRDF_Correctionund BRDF_Lower_Bound. BRDF steht für bidirektionale Reflexionsverteilungsfunktion und bedeutet eine Gleichung, die die Reflexion von Licht von einer undurchsichtigen Oberfläche simuliert. Unterschiedliche Werte BRDF_Correctionentsprechen unterschiedlichen Werten eines der Koeffizienten in dieser Gleichung. In der offiziellen Dokumentation wird in den meisten Fällen empfohlen, 21 zu verwenden. Es BRDF_Lower_Boundist für einen anderen Koeffizienten in der Gleichung verantwortlich und kann standardmäßig beibehalten werden, es sei denn, Sie wissen genau, warum und warum Sie ihn ändern müssen.

Schönes Bild


Die Option Generate_TCI_Outputaktiviert und deaktiviert die Erstellung eines Vollfarbbilds. Der Standardwert ist TRUE. Wenn jedoch kein schönes Bild benötigt wird, können Sie FALSE auswählen.

Berücksichtigung des Zustands der Atmosphäre


Die Parameter Aerosol_Type, Mid_Latitude, Ozone_Contentzeigen den Zustand der Atmosphäre zum Zeitpunkt der Dreharbeiten. Aerosol_Typekann auf dem Territorium eingestellt werden: wenn der Kontinent, dann LÄNDLICH, wenn der Ozean, dann MARINE. Mid_Latitudeähnlich bestimmt durch die Jahreszeit: wenn im Sommer, dann SOMMER, wenn im Winter, dann WINTER.

Der Parameter Ozone_Contentgibt den Ozongehalt an. Der Ozongehalt ist im World Archive of Ozone und im UV Light Online Archive zu finden. Auf der Karte finden Sie die Station, die dem Vermessungsgebiet am nächsten liegt. Laden Sie dann den Datensatz zum richtigen Zeitpunkt herunter und sehen Sie die Messergebnisse am Tag der Aufnahme. Es ist jedoch unmöglich, das tatsächliche Messergebnis in der Konfigurationsdatei zu ermitteln. Sie müssen einen Wert aus der Liste für die entsprechende Saison auswählen. Daher müssen Sie zuerst den tatsächlich gemessenen Wert ermitteln und dann den nächstgelegenen verfügbaren auswählen. Zum Beispiel betrug der Ozongehalt nach Angaben der Station in Jekaterinburg am 27. Juni 2018 (Zeitaufwand) 316 DU. In der Erklärung in der Konfigurationsdatei heißt es: Für den Sommer in den mittleren Breiten stehen 250, 290, 331 (Standard), 370, 410, 450 zur Verfügung. Der nächstgelegene Wert für 316 ist 331. Standardmäßig ist in diesem Fall nichts zu tun Ändere dich nicht. Wenn das Bild ein paar Tage zuvor aufgenommen wurde, wenn die Ozonkonzentration auf 302 DU verringert wird , sollte festgelegt werden , Ozone_Contentum 290.

Im Prinzip sind alle drei Parameter - Aerosol_Type, Mid_Latitude, Ozone_Content- in den meisten Fällen können voreingestellt werden - für die AUTO Aerosol_Typeund Mid_Latitudeund 0 für Ozone_Content. In diesem Fall ermittelt Sen2Cor die am besten geeigneten Werte aus den Bildmetadaten.

Wolkenentfernung


Der Parameter Cirrus_Correctiongibt an, ob Zirruswolken aus dem Bild entfernt werden. Funktioniert in Verbindung mit WV_Threshold_Cirrus- Dies ist der Wasserdampfgehalt-Schwellenwert, unter dem die Wolkenentfernung automatisch deaktiviert wird, selbst wenn Cirrus_CorrectionTRUE eingestellt ist. Wenn Grund zu der Annahme besteht, dass der Wasserdampfgehalt in der Atmosphäre zum Zeitpunkt des Schießens niedrig war, aber immer noch kleine Wolken vorhanden sind und diese entfernt werden müssen, ist es besser, den Wert zu verringern WV_Threshold_Cirrus. WV_Threshold_Cirruskann von 0,1 bis 1 sein.

Fazit


Daher haben wir in diesem Artikel die folgenden Probleme untersucht: Installieren von Sen2Cor, Starten mit den Standardeinstellungen, Ändern einiger Programmparameter mithilfe der Optionen für die Befehlszeile und die Konfigurationsdatei. Weitere Informationen zu Sen2Cor finden Sie in der offiziellen Dokumentation, die auf derselben Seite wie die Installationsprogramme verfügbar ist. Die offizielle Dokumentation enthält vier Dokumente: das einfachere und übersichtlichere Versionshinweis- und Software-Benutzerhandbuch sowie die recht ausgefeilte technische Produktdefinition und Definition der Eingabedaten. Die letztere Datei enthält auch "Die vollständige Referenz von GIPP" als angehängte PDF-Datei. Ich glaube, dass technische Experten in diesen Dokumenten viel nützlicher finden werden.

All Articles