L'objectif de chewie est de rendre le téléchargement des données GEDI aussi simple que possible. Cela inclut les produits de niveau ponctuel : 1B, 2A, 2B et 4A. Voici un bref résumé des choix de conception qui permettent à {chewie} d'y parvenir :
Les données sont téléchargées et converties en fichiers parquet qui peuvent ensuite être lus à l'aide de {arrow} et convertis en objets SF. Cette approche est performante car elle ne nécessite que chaque granule entier soit chargé une seule fois en mémoire (lorsqu'il est converti de hdf5 en parquet). À partir de là, nous pouvons utiliser les verbes dplyr (ou base R) pour filter
, mutate
et select
les données selon les besoins sans avoir besoin de charger tous les plans, à partir d'un granule donné, en mémoire.
Un cache au niveau du système est utilisé pour stocker les données. Cela signifie qu'une fois qu'un fichier a été téléchargé, il ne sera plus téléchargé même si vous travaillez dans un projet différent (il est également possible de spécifier un emplacement de cache unique pour chaque projet).
Il existe un support pour le filtrage spatial des granules qui croisent une zone d'intérêt et pas seulement par un cadre de délimitation ; cela réduit fréquemment la quantité de données non pertinentes téléchargées.
Vous pouvez installer la version de développement de chewie comme ceci :
# install.packages("pak")pak::pkg_install("Permian-Global-Research/chewie")
Tout d’abord, chargeons quelques bibliothèques. {dplyr} n'est pas essentiel mais il est recommandé car c'est une option excellente et très performante pour travailler avec des ensembles de données de flèches.
bibliothèque (chewie) bibliothèque (dplyr) bibliothèque(sf)
Voici quelques fonctions d'assistance utiles pour configurer vos informations d'identification (à l'aide chewie_creds()
) et vérifier que ces informations d'identification et le cache sont correctement configurés (à l'aide de chewie_health_check()
). Par défaut, le cache est configuré dans le dossier .chewie
de votre répertoire personnel. Vous pouvez changer cela en exécutant chewie_cache_set()
.
chewie_creds() # pour configurer vos informations d'identificationchewie_health_check() # pour vérifier vos informations d'identification et la configuration du cache.
Maintenant, recherchons les données GEDI 2A qui croisent le parc d'État de Prairie Creek Redwoods, en Californie (l'ensemble de données est inclus dans le package). Nous traçons ensuite les empreintes des granules qui croisent cette zone pour vérifier ce que nous avons. Notez que par défaut, find_gedi
et grab_gedi
mettent en cache leurs sorties. Ainsi, lorsque ces fonctions sont réexécutées, les données seront chargées à partir du cache plutôt que téléchargées à nouveau, même dans une session R différente.
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")#> ✔ Utilisation de GEDI en cache find resultprint(gedi_2a_search)#> #> ── chewie.find ──────────────── ──────────────────────────────────────── ────────── ──────────────────────────────────────── ─────────# > • GEDI-2A#> id time_start time_end url cached#>#> 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(s) non affichée(s) : [géométrie ]#> #> ─── ──────────────────────────────────────── ────────── ──────────────────────────────────────── ────────── ───────────────────────────
Bien qu'il existe une méthode plot
pour les objets chewie.find , une excellente alternative consiste à tracer une carte de dépliant avec chewie_show
, qui peut être statique ou interactive (cela utilise le fantastique {mapview} sous le capot).
chewie_show( gedi_2a_search, zoom = 8)
Nous utilisons maintenant grab_gedi
pour télécharger les données - cette fonction en interne convertit les données au format parquet et les stocke dans le cache. La valeur renvoyée est un objet arrow_dplyr_query . Nous pouvons ensuite utiliser les verbes {dplyr} pour filter
/ select
les données à notre guise avant d'utiliser enfin collect_gedi
pour convertir les données en un objet SF. Si aucun filtrage/sélection n'est effectué alors collect_gedi
renverra toutes les colonnes/lignes disponibles pour l'AOI.
gedi_2a_sf <- grab_gedi(gedi_2a_search) |> filtre (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)#> ✔ Toutes les données trouvées dans cacheprint(gedi_2a_sf)#> Collection de fonctionnalités simple avec 884 fonctionnalités et 10 champs#> Type de géométrie : POINT#> Dimension : XY#> Boîte englobante : xmin : -124.069 ymin : 41.3609 xmax : -123.9959 ymax : 41.43904#> CRS géodésique : WGS 84#> # A tibble : 884 × 11#> faisceau date_heure elev_highestreturn elev_lowestmode rh0 rh25#> *#> 1 0 2023-01-25 06:09:05 -19.6 -23.8 -3.55 -1.12 #> 2 0 2023-01-25 06:09:05 -20.7 -24.2 -3.89 -1.27 #> 3 0 2023-01-25 06:09:05 -20,7 -24,2 -3,93 -1,27 #> 4 0 2023-01-25 06:09:05 -2,29 -23,3 -3,37 -0,0300#> 5 0 2023-01-25 06:09:05 27,7 -15,0 -2,54 9,70 #> 6 0 2023-01-25 06:09:05 35,8 4,55 -3,74 12,1 #> 7 0 2023-01-25 06:09:05 55,9 12,2 -1,57 16,8 # > 8 0 2023-01-25 06:09:05 94,6 41,0 -1,53 25,8 #> 9 0 2023-01-25 06:09:05 95,3 42,5 -3,78 6,06 #> 10 0 2023-01-25 06:09 : 05 98.3 33.8 -2.32 29.9 #> # ℹ 874 lignes supplémentaires#> # ℹ 5 variables supplémentaires : rh50 , rh75 , rh95 , rh100 ,#> # géométrie
Enfin, nous pouvons tracer les données. Encore une fois, nous pouvons utiliser la fonction générique chewie_show
.
chewie_show( gedi_2a_sf, zcol = "rh95", zoom = 13, alpha = 0,5, aoi_color = "blanc")
gedi-subsetter fournit une sélection d'outils Python pour interroger et télécharger des données GEDI. Sa portée est similaire à {chewie} mais il fournit également un accès direct aux fichiers hdf5 pour les affiliés de la NASA ayant accès à la plateforme MAAP.
{rGEDI} offre la possibilité de télécharger des données GEDI mais également de nombreuses fonctionnalités supplémentaires pour la visualisation, le post-traitement et la modélisation.
{GEDI4R} qui fournit également une suite d'outils pour télécharger, visualiser et modéliser les données GEDI, mais en mettant l'accent sur le produit 4A.
pyGEDI est un package Python permettant de télécharger et de visualiser des données GEDI.
GEDI-Data-Resources est une collection de scripts pour Python et R qui fournissent des exemples sur la façon de télécharger et de traiter les données GEDI.
Ces ressources ont été une grande source d'inspiration pour {chewie} ; nous tenons à remercier les auteurs pour leur excellent travail !