[PYTHON] So erhalten Sie den Pixelwert des Punkts aus dem Satellitenbild, indem Sie den Breiten- und Längengrad angeben

Hintergrund

Ich forsche, um den Chlorophyllwert aus Satellitenbildern mithilfe der Regression des neuronalen Netzwerks zu ermitteln. Zu diesem Zweck möchte ich zunächst als Datenerfassung und Vorverarbeitung darüber schreiben, wie der Breiten- und Längengrad aus Satellitenbilddaten angegeben und der Pixelwert an diesem Punkt erfasst werden kann. Was ist vorher ein Satellitenbild? ↓ Grundlagen der Satellitendaten

Zu verwendende Satellitenbilddaten

Verwenden Sie das Landsat 8-Bild. Als offene Daten in AWS veröffentlicht. AWS Landsat Data Auf AWS veröffentlichte Bilddaten von Landsat können von der Position aus durch Angabe von Pfad und Zeile durchsucht werden. Übrigens, dieses Mal werde ich die Daten des Biwa-Sees verwenden, also habe ich nach den Daten von Pfad 110, Zeile 35 gesucht und sie erhalten. Die obige Seite enthält eine vollständige Liste der verfügbaren Szenen, daher habe ich sie nach Pfad und Zeile sortiert, um sie zu erhalten.

Klicken Sie hier, um den Pfad und die Zeile ↓ zu überprüfen path/row coverter

Bibliothek zu verwenden

Verwenden Sie ** rasterio ** und ** pyproj **. ** rasterio ** ist eine Bibliothek zum Umgang mit Rasterdaten. rasterio ** pyproj ** ist eine Bibliothek, die das Koordinatensystem transformiert. pyproj Landsat-Daten liegen im Geotif-Dateiformat vor und die Koordinatendaten sind als Tag eingebettet. Da jedoch UTM-Koordinaten verwendet werden, muss von Breiten- und Längengrad in das UTM-Koordinatensystem konvertiert werden.

import rasterio as rio import pyproj ↑ Bitte installieren Sie es im Voraus mit Pip usw.

Laden von Geotif mit Rasterio

B5 = rio.open ('Dateipfad')

Systemkonvertierung koordinieren

utm = pyproj.Proj(B5.crs) lonlat = pyproj.Proj(init='epsg:4326') lat,lon = (35.445,136.0638888889) east,north = pyproj.transform(lonlat,utm,lon,lat)

Bestätigen Sie, dass der Längen- und Breitengrad in das UTM-Koordinatensystem konvertiert wurde.

east,north (596554.9414823324, 3922913.584464462)

Holen Sie sich die Zeile und Spalte des Bildes an diesem Punkt aus den Koordinaten

Die Daten sind vom Typ Array, und Sie können die Zeile und Spalte, die den Koordinaten entsprechen, mit der Indexmethode abrufen. row, col = B5.index(east,north)

print(f'row,col=({row},{col})') row,col=(6086,5625)

Außerdem ist der folgende Code erforderlich, um auf die Pixelwerte der Array-Daten zuzugreifen. B5read = B5.read(1) Diese 1 ist der Index des Bandes des Satellitenbildes, diesmal jedoch ein Band 5, geben Sie also 1 an.

Pixelwert abrufen

B5read[row,col]

21530

Zusammenfassung

Mit dem Obigen kann der Pixelwert des angegebenen Punktes leicht aus dem Breiten- und Längengrad erhalten werden. Dieser Pixelwert wird jedoch als DN-Wert bezeichnet, der von der Intensität und dem Winkel des Sonnenlichts beeinflusst wird, und ist eine Reflexion, die als TOA bezeichnet wird und zur Eingabe eines neuronalen Netzwerks mit dem Chlorophyllwert als Ausgabe verwendet wird. Ich denke darüber nach, es in eine Rate umzuwandeln. Ich würde wirklich gerne reines SR (Surface Reflectance) durch atmosphärische Korrektur finden, aber es ist schwierig, also werde ich diese Zeit aufgeben und vorstellen, wie man TOA das nächste Mal findet. ** Klicken Sie hier für die Satellitenbildverarbeitungsstufe ↓ ** Illustration! Was ist Satellitendatenvorverarbeitung

Vielen Dank für das Lesen bis zum Ende!

Recommended Posts

So erhalten Sie den Pixelwert des Punkts aus dem Satellitenbild, indem Sie den Breiten- und Längengrad angeben
Holen Sie sich die Adresse von Längen- und Breitengrad
Geben Sie Breiten- und Längengradpunktsequenzdaten an und versuchen Sie, die Straße anhand von OpenStreetMap-Daten zu identifizieren
So erhalten Sie den NTP-Servernamen per DHCP und legen ihn fest
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
[Python] So erhalten Sie den ersten und den letzten Tag des Monats
Finden Sie die Entfernung von Breite und Länge (unter Berücksichtigung der Rundheit der Erde).
Finden Sie den Wegpunkt aus dem Breiten- und Längengrad (unter Berücksichtigung der Rundheit der Erde).
[Python Kivy] So erhalten Sie den Dateipfad durch Ziehen und Ablegen
Lesen Sie das Diagrammbild mit OpenCV und ermitteln Sie die Koordinaten des Endpunkts des Diagramms
[Django] So erhalten Sie Daten durch Angabe von SQL.
Ändern Sie den Dezimalpunkt der Protokollierung von, nach.
So erhalten Sie den "Namen" eines Feldes, dessen Wert durch das Auswahlattribut im Django-Modell begrenzt ist
So speichern Sie die Feature-Point-Informationen des Bildes in einer Datei und verwenden sie zum Abgleichen
So ermitteln Sie die Anzahl der Stellen in Python
[Blender] So ermitteln Sie die Auswahlreihenfolge von Scheitelpunkten, Seiten und Flächen eines Objekts
Holen Sie sich das Bild von "Suzu Hirose" von Google Bildersuche.
[Django 2.2] Sortieren und erhalten Sie den Wert des Beziehungsziels
So überprüfen Sie anhand des Hashwerts, ob der Inhalt des Wörterbuchs in Python identisch ist
So testen Sie die Attribute, die durch add_request_method of pyramid hinzugefügt wurden
Berechnen des aus ABC134-D gelernten Rechenaufwands
Rufen Sie den Wert ab, während Sie den Standardwert aus dict in Python angeben
Lassen Sie uns den Entwicklungsstatus der Stadt anhand des Satellitenbildes erraten.
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
So erhalten Sie alle Schlüssel und Werte im Wörterbuch
So erhalten Sie eine Liste mit Links von einer Seite aus Wikipedia
[Python] Verwendung der for-Anweisung. Eine Methode zum Extrahieren durch Angabe eines Bereichs oder von Bedingungen.
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
[EC2] So installieren Sie Chrome und den Inhalt jedes Befehls
[EC2] So installieren und laden Sie chromedriver über die Befehlszeile herunter
So ermitteln Sie die Speicheradresse des Pandas-Datenrahmenwerts
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
Rufen Sie den Wert des Dropdown-Menüs mit Python und Selen ab und legen Sie ihn fest
Ich habe zusammengefasst, wie die Boot-Parameter von GRUB und GRUB2 geändert werden
So erhalten Sie die Python-Version
Ich habe versucht, die Objekte aus dem Bild des Steak-Sets zu sortieren. ⑤ Ähnliche Erkennung von Bildmerkmalen
Von der Einführung der GoogleCloudPlatform Natural Language API bis zur Verwendung
[Python] So legen Sie die Position und Größe der Fensteranzeige von matplotlib fest
Ich habe versucht, das Bild durch Klicken mit der rechten und linken Maustaste in den angegebenen Ordner zu verschieben
So schneiden Sie den unteren rechten Teil des Bildes mit Python OpenCV
Lernaufzeichnung (4. Tag) #Wie man den absoluten Pfad vom relativen Pfad erhält
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
[Bilderkennung] Lesen des Ergebnisses der automatischen Annotation mit VoTT
Ich habe 6 Methoden gemessen, um den Index des Maximalwerts (Minimalwerts) der Liste zu erhalten
So erhalten Sie den Wert aus dem Parameterspeicher in Lambda (mit Python)
[GPS] Berechnen Sie Entfernung, Azimutwinkel und Höhenwinkel aus GPS-Breiten- und Längengrad mit pyproj
So erhalten Sie mithilfe der API von Virus Total einen Beispielbericht aus einem Hashwert
Ich habe versucht, die Beschleunigung von Python durch Cython zu verifizieren und zu analysieren
__Getattr__ und __getattribute__, um die Erfassung von Objektattributen durch Punkte anzupassen
Holen Sie sich den Songtitel aus dem Titel des von Ihnen gesungenen Videos
[Python] Senden Sie das von der Webkamera aufgenommene Bild an den Server und speichern Sie es
Sortieren durch Angabe einer Spalte im Python Numpy-Array.
Internes / externes Urteil mit Python: Erhalten Sie den Namen der Stadt / des Dorfes aus den Breiten- / Längengradinformationen eines beliebigen Punktes
Wie man lange Einschlüsse loswird
So überprüfen Sie die Version von Django
So erhalten Sie eine farbige Ausgabe an die Konsole
So bedienen Sie Linux von der Konsole aus