츄이의 목표는 GEDI 데이터 다운로드를 최대한 간단하게 만드는 것입니다. 여기에는 포인트 수준 제품인 1B, 2A, 2B 및 4A가 포함됩니다. 다음은 {chewie}가 이를 달성할 수 있는 디자인 선택에 대한 간략한 요약입니다.
데이터는 다운로드되어 쪽모이 세공 파일로 변환된 다음 {화살표}를 사용하여 읽을 수 있고 SF 개체로 변환됩니다. 이 접근 방식은 각 전체 과립을 메모리에 한 번만 로드하면 되기 때문에(hdf5에서 parquet로 변환될 때) 성능이 뛰어납니다. 이제부터 dplyr 동사(또는 기본 R)를 사용하여 주어진 과립의 모든 샷을 메모리에 로드할 필요 없이 필요에 따라 데이터를 filter
, mutate
및 select
수 있습니다.
시스템 수준 캐시는 데이터를 저장하는 데 사용됩니다. 즉, 일단 파일을 다운로드하면 다른 프로젝트에서 작업하더라도 다시 다운로드되지 않습니다(각 프로젝트마다 고유한 캐시 위치를 지정할 수도 있음).
경계 상자뿐만 아니라 관심 영역과 교차하는 과립의 공간 필터링이 지원됩니다. 이로 인해 다운로드되는 관련 없는 데이터의 양이 줄어드는 경우가 많습니다.
다음과 같이 Chewie의 개발 버전을 설치할 수 있습니다.
# install.packages("pak")pak::pkg_install("Permian-Global-Research/chewie")
먼저 일부 라이브러리를 로드해 보겠습니다. {dplyr}은 필수는 아니지만 화살표 데이터 세트 작업에 탁월하고 성능이 뛰어난 옵션이므로 권장됩니다.
도서관(츄이) 라이브러리(dplyr) 도서관(sf)
다음은 자격 증명을 설정하고( chewie_creds()
사용) 해당 자격 증명과 캐시가 올바르게 설정되었는지 확인하는( chewie_health_check()
사용) 몇 가지 유용한 도우미 함수입니다. 기본적으로 캐시는 홈 디렉터리의 .chewie
폴더에 설정됩니다. chewie_cache_set()
실행하여 이를 변경할 수 있습니다.
Chewie_creds() # 자격 증명을 설정하기 위해chewie_health_check() # 자격 증명과 캐시 설정을 확인하기 위해.
이제 캘리포니아주 Prairie Creek Redwoods 주립공원과 교차하는 GEDI 2A 데이터를 검색해 보겠습니다(데이터세트는 패키지에 포함되어 있음). 그런 다음 이 영역과 교차하는 과립의 발자국을 표시하여 우리가 얻은 정보를 확인합니다. 기본적으로 find_gedi
와 grab_gedi
모두 출력을 캐시하므로 이러한 기능이 다시 실행되면 다른 R 세션에서도 데이터가 다시 다운로드되지 않고 캐시에서 로드됩니다.
Prairie_creek <- sf::read_sf(system.file( "geojson", "prairie-creek.geojson", 패키지 = "chewie"))gedi_2a_search <- find_gedi(prairie_creek, gedi_product = "2A", date_start = "2023-01 -01", date_end = "2023-01-31")#> ✔ 캐시된 GEDI find resultprint(gedi_2a_search)#> #> 사용 ── Cheie.find ──────────────── ──────────────────────────────────────────────── ───────────────────────────────────────────────# > • GEDI-2A#> id time_start time_end url 캐시됨#>#> 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개의 변수가 표시되지 않음: [geometry ]#> #> ─── ──────────────────────────────────────────────── ──────────────────────────────────────────────── ───────────────────────────
Chewie.find 객체에 대한 plot
방법이 있지만, 좋은 대안은 정적 또는 대화형일 수 있는 chewie_show
사용하여 전단지 맵을 플롯하는 것입니다(이것은 내부적으로 환상적인 {mapview}를 사용합니다).
츄이_쇼( gedi_2a_search, 확대/축소 = 8)
이제 grab_gedi
사용하여 데이터를 다운로드합니다. 이 함수는 내부적으로 데이터를 쪽모이 세공 형식으로 변환하고 캐시에 저장합니다. 반환된 값은 arrow_dplyr_query 개체입니다. 그런 다음 최종적으로 collect_gedi
사용하여 데이터를 SF 개체로 변환하기 전에 {dplyr} 동사를 사용하여 원하는 대로 데이터를 filter
/ select
수 있습니다. 필터링/선택이 수행되지 않으면 collect_gedi
AOI에 대해 사용 가능한 모든 열/행을 반환합니다.
gedi_2a_sf <- Grab_gedi(gedi_2a_search) |> 필터( quality_flag == 1, 저하_플래그 == 0 ) |> 선택(빔, 날짜_시간, lat_lowestmode, lon_lowestmode, elev_highestreturn, elev_lowestmode, rh0, rh25, rh50, rh75, rh95, rh100 ) |> Collect_gedi(gedi_find = gedi_2a_search)#> ✔ 캐시프린트(gedi_2a_sf)에서 발견된 모든 데이터#> 884개의 특징과 10개의 필드가 있는 간단한 특징 컬렉션#> 기하학 유형: POINT#> 차원: XY#> 경계 상자: xmin: -124.069 ymin: 41.3609 xmax: -123.9959 ymax: 41.43904#> 측지 CRS: WGS 84#> # A tibble: 884 × 11#> 빔 date_time 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개 추가 행#> # ℹ 5개 추가 변수: rh50 , rh75 , rh95 , rh100 ,#> # 기하학
마지막으로 데이터를 플롯할 수 있습니다. 이번에도 일반 chewie_show
함수를 사용할 수 있습니다.
Chewie_show( gedi_2a_sf, zcol = "rh95", 확대/축소 = 13, 알파 = 0.5, aoi_color = "흰색")
gedi-subsetter는 GEDI 데이터를 쿼리하고 다운로드하기 위한 다양한 Python 도구를 제공합니다. 범위는 {chewie}와 유사하지만 MAAP 플랫폼에 액세스할 수 있는 NASA 계열사에게 hdf5 파일에 대한 직접 액세스도 제공합니다.
{rGEDI}는 GEDI 데이터를 다운로드하는 기능뿐만 아니라 시각화, 후처리 및 모델링을 위한 다양한 추가 기능도 제공합니다.
GEDI 데이터를 다운로드, 시각화 및 모델링하기 위한 일련의 도구를 유사하게 제공하지만 4A 제품에 중점을 둔 {GEDI4R}입니다.
pyGEDI는 GEDI 데이터를 다운로드하고 시각화하기 위한 Python 패키지입니다.
GEDI-Data-Resources는 GEDI 데이터를 다운로드하고 처리하는 방법에 대한 예를 제공하는 Python 및 R용 스크립트 모음입니다.
이러한 리소스는 {chewie}에게 큰 영감의 원천이었습니다. 우리는 훌륭한 작업을 해준 작가들에게 감사를 표하고 싶습니다!