Das Ziel von chewie ist es, das Herunterladen von GEDI-Daten so einfach wie möglich zu machen. Dazu gehören die Punktprodukte: 1B, 2A, 2B und 4A. Hier ist eine kurze Zusammenfassung der Designoptionen, mit denen {chewie} dies erreichen kann:
Die Daten werden heruntergeladen und in Parquet-Dateien konvertiert, die dann mit {arrow} gelesen und in SF-Objekte konvertiert werden können. Dieser Ansatz ist leistungsstark, da jedes gesamte Granulat nur einmal in den Speicher geladen werden muss (bei der Konvertierung von HDF5 in Parquet). Von hier aus können wir dplyr-Verben (oder Basis-R) verwenden, um Daten nach Bedarf zu filter
, mutate
und select
, ohne alle Aufnahmen aus einem bestimmten Granulat in den Speicher laden zu müssen.
Zum Speichern der Daten wird ein Cache auf Systemebene verwendet. Dies bedeutet, dass eine einmal heruntergeladene Datei nicht erneut heruntergeladen wird, selbst wenn Sie in einem anderen Projekt arbeiten (es ist auch möglich, für jedes Projekt einen eindeutigen Cache-Speicherort anzugeben).
Es gibt Unterstützung für die räumliche Filterung von Granulatpartikeln, die einen interessierenden Bereich schneiden und nicht nur durch einen Begrenzungsrahmen. Dadurch wird häufig die Menge der heruntergeladenen irrelevanten Daten reduziert.
Sie können die Entwicklungsversion von Chewie wie folgt installieren:
# install.packages("pak")pak::pkg_install("Permian-Global-Research/chewie")
Laden wir zunächst einige Bibliotheken ein. {dplyr} ist nicht unbedingt erforderlich, wird jedoch empfohlen, da es sich um eine hervorragende und leistungsstarke Option für die Arbeit mit Pfeildatensätzen handelt.
Bibliothek (Chewie) Bibliothek(dplyr) Bibliothek(sf)
Hier sind einige nützliche Hilfsfunktionen zum Einrichten Ihrer Anmeldeinformationen (mithilfe von chewie_creds()
) und zum Überprüfen, ob diese Anmeldeinformationen und der Cache korrekt eingerichtet sind (mithilfe von chewie_health_check()
). Standardmäßig ist der Cache im Ordner .chewie
in Ihrem Home-Verzeichnis eingerichtet. Sie können dies ändern, indem Sie chewie_cache_set()
ausführen.
chewie_creds() # zum Einrichten Ihrer Anmeldeinformationenschewie_health_check() # zum Überprüfen Ihrer Anmeldeinformationen und Cache-Einrichtung.
Suchen wir nun nach GEDI 2A-Daten, die sich mit dem Prairie Creek Redwoods State Park in Kalifornien überschneiden (der Datensatz ist im Paket enthalten). Anschließend zeichnen wir die Fußabdrücke der Körnchen auf, die diesen Bereich überschneiden, um herauszufinden, was wir haben. Beachten Sie, dass sowohl find_gedi
als auch grab_gedi
ihre Ausgaben standardmäßig zwischenspeichern. Wenn diese Funktionen also erneut ausgeführt werden, werden die Daten aus dem Cache geladen und nicht erneut heruntergeladen, selbst in einer anderen R-Sitzung.
prairie_creek <- sf::read_sf(system.file( "geojson", "prairie-creek.geojson", package = "chewie"))gedi_2a_search <- find_gedi(prairie_creek, gedi_product = "2A", date_start = "2023-01 -01", date_end = "2023-01-31")#> ✔ Verwendung des zwischengespeicherten GEDI find resultprint(gedi_2a_search)#> #> ── chewie.find ──────────────── ──────────────────────────────────────── ────────── ──────────────────────────────────────── ─────────# > • GEDI-2A#> id time_start time_end url zwischengespeichert#>#> 1: G2754665065-LPCLOUD 2023-01-25 05:14:31 2023-01- 25 06:47:21 https://data.lpdaac.earthdatacloud.nasa.gov/lp-pro... TRUE#> 1 Variable(n) nicht angezeigt: [geometry ]#> #> ─── ──────────────────────────────────────── ────────── ──────────────────────────────────────── ────────── ───────────────────────────
Während es eine plot
für chewie.find- Objekte gibt, besteht eine gute Alternative darin, eine Flugblattkarte mit chewie_show
zu plotten, die statisch oder interaktiv sein kann (dies nutzt das fantastische {mapview} unter der Haube).
chewie_show( gedi_2a_search, zoom = 8)
Jetzt verwenden wir grab_gedi
, um die Daten herunterzuladen – diese Funktion konvertiert die Daten intern in das Parquet-Format und speichert sie im Cache. Der zurückgegebene Wert ist ein Arrow_dplyr_query- Objekt. Wir können dann {dplyr}-Verben verwenden, um die Daten nach unseren Wünschen zu filter
/ select
, bevor wir schließlich collect_gedi
verwenden, um die Daten in ein SF-Objekt zu konvertieren. Wenn keine Filterung/Auswahl durchgeführt wird, gibt collect_gedi
alle verfügbaren Spalten/Zeilen für den AOI zurück.
gedi_2a_sf <- grab_gedi(gedi_2a_search) |> filter(quality_flag == 1, degrade_flag == 0 ) |> select( beam, date_time, lat_lowestmode, lon_lowestmode, elev_highestreturn, elev_lowestmode, rh0, rh25, rh50, rh75, rh95, rh100 ) |> Collect_gedi(gedi_find = gedi_2a_search)#> ✔ Alle in Cacheprint(gedi_2a_sf) gefundenen Daten#> Einfache Feature-Sammlung mit 884 Features und 10 Feldern#> Geometrietyp: POINT#> Dimension: XY#> Begrenzungsrahmen: xmin: -124.069 ymin: 41.3609 xmax: -123.9959 ymax: 41.43904#> Geodätisches CRS: WGS 84#> # Ein Tibble: 884 × 11#> Strahl date_time elev_highestreturn elev_lowestmode rh0 rh25#> *#> 1 0 25.01.2023 06:09:05 -19,6 -23,8 -3,55 -1,12 #> 2 0 25.01.2023 06:09:05 -20,7 -24,2 -3,89 -1,27 #> 3 0 25.01.2023 06:09:05 -20,7 -24,2 -3,93 -1,27 #> 4 0 25.01.2023 06:09:05 -2,29 -23,3 -3,37 -0,0300#> 5 0 25.01.2023 06:09:05 27,7 -15,0 -2,54 9,70 #> 6 0 25.01.2023 06:09:05 35,8 4,55 -3,74 12,1 #> 7 0 25.01.2023 06:09:05 55,9 12,2 -1,57 16,8 # > 8 0 25.01.2023 06:09:05 94,6 41,0 -1,53 25,8 #> 9 0 25.01.2023 06:09:05 95,3 42,5 -3,78 6,06 #> 10 0 25.01.2023 06:09: 05 98,3 33,8 -2,32 29,9 #> # ℹ 874 weitere Zeilen#> # ℹ 5 weitere Variablen: rh50 , rh75 , rh95 , rh100 ,#> # Geometrie
Schließlich können wir die Daten grafisch darstellen. Auch hier können wir die generische Funktion chewie_show
verwenden.
chewie_show( gedi_2a_sf, zcol = „rh95“, zoom = 13, alpha = 0,5, aoi_color = „white“)
gedi-subsetter bietet eine Auswahl an Python-Tools zum Abfragen und Herunterladen von GEDI-Daten. Sein Umfang ähnelt dem von {chewie}, bietet aber auch NASA-Partnern mit Zugriff auf die MAAP-Plattform direkten Zugriff auf die HDF5-Dateien.
{rGEDI} bietet die Möglichkeit, GEDI-Daten herunterzuladen, aber auch zahlreiche zusätzliche Funktionen zur Visualisierung, Nachbearbeitung und Modellierung.
{GEDI4R}, das ebenfalls eine Reihe von Tools zum Herunterladen, Visualisieren und Modellieren von GEDI-Daten bereitstellt, jedoch mit Schwerpunkt auf dem 4A-Produkt.
pyGEDI ist ein Python-Paket zum Herunterladen und Visualisieren von GEDI-Daten.
GEDI-Data-Resources ist eine Sammlung von Skripten für Python und R, die Beispiele für das Herunterladen und Verarbeiten von GEDI-Daten bieten.
Diese Ressourcen waren eine großartige Inspirationsquelle für {chewie}; Wir danken den Autoren für ihre großartige Arbeit!