Kristian Aalling Sørensen
Dies ist ein Python-Modul für die Arbeit mit Sentinel-1-Satellitenbildern, rein in Python. Damit können Sie die gewünschten Bilder finden, herunterladen und damit arbeiten (Kalibrieren, Speckle-Fitler usw.). Ich verwende das SentinelSAT-Paket für die Metadaten. Die Daten werden dann von der NASA ASF heruntergeladen.
Warum? Weil ich nicht mit ESA SNAP arbeiten möchte. Außerdem war es dadurch einfacher, meinen gesamten Workflow in Python abzuwickeln.
Ich gebe keine Garantien für die Qualität, Sicherheit oder ähnliches. Nutzen Sie es nach Ihren Wünschen.
Einführung
Anforderungen
Installieren und ausführen
Verwenden Sie Sentinel-1-Bilder in Python
SAR, kurz
Danksagungen
Numpy
Geopandas
mgrs (sollte in einer späteren Version entfernt werden. Sry..)
scikit-learn (sollte in einer späteren Version entfernt werden. Sry..)
scipy (sollte in einer späteren Version entfernt werden. Sry..)
Kartopie
Kissen
Pandas
sentinelsat
matplotlib
Dieses Repo kann entweder mit Git Clone ODER Pypi installiert werden. Derzeit habe ich es nur in Pypi-Test platziert, also hoffen wir, dass es dort bleibt.
Verwendung von Pypi
GDAL. Stellen Sie sicher, dass Ihre GDAL-Bindungen funktionieren ...
Installieren Sie sentinel_1_python mit Pypy-Test
python3 -m pip install sentinel-1-python --extra-index-url=https://test.pypi.org/simple/
Klon verwenden
Installieren Sie alle Anforderungen
Klon
git clone https://github.com/aalling93/sentinel_1_python.git
Gehen Sie zurück zum Inhaltsverzeichnis
Metadaten von Bildern abrufen
mit Sentinel_metadata() als met:met.area([29.9,21,56.7,58])met.get_metadata(sensor='s1_slc',start_data='20220109',end_date='20221010')
Filtern Sie die Bilder, wenn Sie möchten
met.iw() #filer, also haben wir nur IW
Anzeige der Bilder vor dem Download:
met.plot_image_areas() # Ausmaß der Bilder anzeigenmet.show_cross_pol(4)
Wir können dann den Umfang der Bilder sehen.
Und zeigen Sie die Bilder an, bevor Sie sie herunterladen ...
Laden Sie die Bilder herunter
Ordner = f'{os.getenv("raw_data_dir")}/slc_sweden'with Satellite_download(met.products_df) as dwl:os.makedirs(folder, exist_ok=True)#save metadatadwl.products_df.to_pickle(f'{folder} /slc_dataframe.pkl')#laden Sie die herunter thumbnailsdwl.download_thumbnails(folder=f'{folder}/slc_thumbnails') #Laden Sie die SLC-Bilder im .zip-Format herunter und extrahieren Sie sie in das .SAFE-Format..dwl.download_sentinel_1(f'{folder}/slc')
Laden, kalibrieren, Speckle-Filterbild in Python
image_paths = glob.glob(f'{os.getenv("raw_data_dir")}/*/*/*.SAFE')img = s1_load(image_paths[0])img =img.kalibrieren(mode='gamma') # könnte auch zB 'sigma_0' verwenden img = img.boxcar(5) #könnte leicht zB einen Lee machen filter..img.simple_plot(band_index=0)
Wir können jetzt einen Bereich des Bildes extrahieren, der entweder durch einen Index oder einen Koordinatensatz definiert ist.
indx = img.get_index(lat=57.0047,long=19.399)img[indx[0]-125:indx[0]+125,indx[1]-125:indx[1]+125].simple_plot(band_index=1 )
Gehen Sie zurück zum Inhaltsverzeichnis
Ein Synthetic Aperture Radar (SAR) ist ein aktives Instrument, das beispielsweise für nichtkooperative Überwachungsaufgaben eingesetzt werden kann. Seine größten Vorteile gegenüber beispielsweise MSI bestehen darin, dass es Tag und Nacht funktioniert und durch Wolken und Regen sehen kann. Durch die Platzierung des SAR-Instruments auf einem Satelliten ist es möglich, eine globale Abdeckung mit designspezifischer zeitlicher und räumlicher Auflösung zu erfassen. Folglich kann durch die Kombination von beispielsweise AIS- und SAR-Instrumenten eine kooperative und nichtkooperative Überwachung erreicht werden.
Ein Radar ist ein Instrument, das elektromagnetische Impulse mit einer spezifischen Signatur im Mikrowellenspektrum aussendet. Bei einem monostatischen Radar sendet und empfängt das Radarinstrument das Rückstreusignal des Impulses sowohl. Das Rückstreusignal hängt von der Struktur des Ziels ab, das es beleuchtet. Durch den Vergleich des bekannten gesendeten und empfangenen Signals ist es daher möglich, sowohl die geometrischen als auch die zugrunde liegenden Eigenschaften des Ziels mithilfe der monostatischen Radargleichung zu beschreiben:
Wo ?? ist das empfangene Signal vom gesendeten Signal abgeleitet, ??. Die Variable ? ist die designspezifische Wellenlänge des Radars und ?(?,?) das Radarverstärkungsmuster. Das Signal wird entsprechend der zurückgelegten Distanz verteilt, ?. Der Radarquerschnitt ?(?, ?) kann daher abgeleitet werden und beschreibt die dielektrischen und geometrischen Eigenschaften des Ziels und ist abhängig von den Winkeln ? Und ?. Bei Vorhandensein von Rauschen muss jedoch ein weiterer Beitrag zur monostatischen Radargleichung hinzugefügt werden. In meinem anderen Repo, https://github.com/aalling93/Finding-on-groud-Radars-in-SAR-images, arbeite ich mit Radio Frequency Interfence (RFI). Ein Phänomen, bei dem andere Signale von anderen Radargeräten das SAR-Signal stören. Im Allgemeinen beschreibt ?(?,?) die verfügbare Energie innerhalb des Zielgebiets und muss daher mit dem Gebiet normiert werden. Der Radar-Rückstreukoeffizient wird ermittelt durch:
wobei je nach Problemstellung unterschiedliche Bereiche genutzt werden können. Bei der Verwendung eines SAR als bildgebendes Radar hat jedes Pixel im Bild einen Phasen- und einen Amplitudenwert. Durch die Kalibrierung des Bildes ist es möglich, den in der Gleichung dargestellten Radarrückstreukoeffizienten zu ermitteln. . In diesem Modul ist es möglich, Sentinel-1-Bilder herunterzuladen, zu laden und zu kalibrieren, ohne dass externe Software oder beispielsweise das (berüchtigte) Snappy-Paket erforderlich ist.
Da ein SAR einen Rückstreubeitrag von allen Objekten innerhalb des beleuchteten Bereichs erhält, entsteht ein rauschähnliches Phänomen, das als Speckle bezeichnet wird. Dies führt zu einem granularen Bild, bei dem jedes Pixel eine Kombination aus der Rückstreuung des einzelnen Objekts in der Umgebung ist. In meinem Repo https://github.com/aalling93/Custom-made-SAR-speckle-reduction habe ich mehrere verschiedene Speckle-Filter implementiert und zeige den Unterschied unter verschiedenen Bedingungen. .
Ein SAR-Bildgebungsradar unterscheidet sich von einem normalen Radar dadurch, dass es die Bewegung seiner Plattform nutzt, um eine bessere Auflösung zu erzielen, daher der Name Synthetic Aperture Radar. Beim Fotografieren eines stationären Ziels wird aus der Geschwindigkeit der Plattform eine Dopplerfrequenz ermittelt. Der SAR sendet und empfängt mehrere Impulse zum und vom selben Ziel. Wenn das SAR auf sein Ziel zufliegt, misst es eine positive Dopplerfrequenz, die abnimmt, bis es senkrecht zum Ziel steht, woraufhin es eine zunehmende negative Dopplerfrequenz erfährt
Das elektromagnetische Signal wird entweder mit horizontaler oder vertikaler Polarisation übertragen, wobei vollparametrische SARs sowohl horizontale als auch vertikale Polarisation übertragen können. Aufgrund der Wechselwirkung des gesendeten Impulses mit dem Ziel wird sowohl ein vertikales als auch ein horizontales Signal zurück zum SAR reflektiert. Dies führt dazu, dass verschiedene Streumechanismen auftreten. Es gibt verschiedene Arten von Streumechanismen. Bei der Schiffserkennung sind die Oberflächenstreuung und die Double-Bounce-Streuung die wichtigsten.
Ein gesendetes Signal wird von dem Objekt, das es beleuchtet, teilweise absorbiert und teilweise reflektiert. Oberflächenstreuung ist die Streuung, die das reflektierte Signal beschreibt. Wenn eine Oberfläche völlig glatt (spiegelnd) ist, wird keine Rückstreuung zurück zum SAR reflektiert. Wenn die Oberfläche rau ist, kommt es zu einer Streuung und ein Teil des einfallenden Impulses wird zurück zum SAR gestreut. Raue Oberflächen weisen im Vergleich zu glatteren Oberflächen eine höhere Rückstreuung auf. Darüber hinaus haben VV und HH im Vergleich zu VH und HV eine höhere Rückstreuung (HV und VH sind fast immer gleich), sowohl bei rauen als auch bei glatten Oberflächen. Eine feuchte Oberfläche führt zu einem höheren Radarquerschnitt. Die Rückstreuung einer Oberfläche hängt von der Rauheit und Dielektrizitätskonstante des Ziels ab, das sie beleuchtet. Die Meeresoberfläche führt daher aufgrund ihrer nassen und relativ glatten Oberfläche (bei niedrigen Windgeschwindigkeiten) häufig zu einer kleinen Rückstreuung, selbst wenn man ihre hohe Dielektrizitätskonstante bei SAR-Frequenzen berücksichtigt.
Doppelte Bounce-Streuung tritt auf, wenn der gesendete Impuls zweimal spiegelnd von einer Ecke zurück zum SAR reflektiert wird. Dies führt zu einer sehr hohen Rückstreuung. Schiffe haben oft viele Ecken und sind sehr glatt, was zu einer besonders hohen Rückstreuung führt. Daher ist es oft einfach, z. B. Schiffe von der Meeresoberfläche zu unterscheiden. Weitere Informationen zu den Streumechanismen auf den Ozeanen. Wie bereits erwähnt, gibt es mehrere andere Streuungsmechanismen, und wenn beispielsweise Schiffe in SAR-Bildern in der Arktis erkannt werden, muss auch die Volumenstreuung berücksichtigt werden.
Aufgrund der Geometrie des SAR und seiner beweglichen Plattform sind typische SAR-Bildsensoren darauf ausgelegt, fokussierte Bilder mit guter Auflösung aufzunehmen, vorausgesetzt, dass ihr Ziel während der Bildaufnahme stationär ist. Diese Fokussierung kann nicht auf sich bewegende Ziele erfolgen und normale SAR-Instrumente sind daher schlecht geeignet, sich schnell bewegende Objekte, wie zum Beispiel Schiffe, zu erkennen. Das Ergebnis ist ein gut aufgelöster statischer Hintergrund und ein schlecht aufgelöstes sich bewegendes Ziel. Bei nicht kooperativen Überwachungsaufgaben ist dies ein erhebliches Problem. Unter der Annahme, dass sich ein Ziel mit konstanter Beschleunigung senkrecht zur Sichtlinie des SAR bewegt, ist es möglich, das Problem zu reduzieren, indem man die Dopplerverschiebung der SAR-Bilder berücksichtigt. Seeschiffe folgen solchen Mustern normalerweise nicht. Daher müssen bei der Betrachtung von Schiffen mit SAR-Instrumenten komplexere Flugbahnmuster berücksichtigt werden.
Zusammenfassend lässt sich sagen, dass es mithilfe der Fähigkeiten eines SAR-Instruments möglich sein sollte, Schiffe auf der Meeresoberfläche zu erkennen.
Ich selbst, Simon Lupemba, Eigil Lippert
Siehe Lizenzdatei. Zusamenfassend:
Zitieren Sie mich in Ihrer Arbeit! so etwas wie: Kristian Aalling Sørensen (2020) sentinel_1_python [Quellcode]. https://github.com/aalling93/sentinel_1_python. E-Mail: [email protected]
Bringen Sie so viele wie möglich dazu, mir auf Github zu folgen. Sie und Ihre Kollegen, die dies zumindest nutzen. Ich bin ein Like-Jäger.
Starten Sie dieses Repository mit den gleichen Bedingungen wie oben.
Vielleicht schreiben Sie mir ein oder zwei E-Mails und erzählen mir, wie großartig ich meine Arbeit geleistet habe?
Helfen Sie mir, die Arbeit zu verbessern. Ich bin immer auf der Suche nach Kooperationspartnern.