Author: Xiaohao Yang

# get_data

#### Xiaohao Yang

# Donwload multi-band data from Greenspace Seasonality Data Cube with specified area/point of inerest

Downloading data may take more than 5 minutes.

### By bounding box

    gs <- greenSD::get_gsdc(bbox = c(-83.272828,42.343950,-83.218926,42.379719), year = 2022, mask = TRUE)

### By place name

    gs <- greenSD::get_gsdc(place = 'Detroit', year = 2022)

### By coordinates (point)

    gs <- greenSD::get_gsdc(location = c(-83.10215 42.38342), year = 2022)

### By UID and time range

    # check UID
    greenSD::check_available_cities()
    gs <- greenSD::get_gsdc(UID = 1825, year = 2022, time = c("03-01", "09-01"))

# Download ESA WorldCover 10m Annual Dataset

### Get NDVI data by place name

    ndvi <- greenSD::get_esa_wc(place = 'Detroit', datatype = "ndvi")

### Get land cover data from ESA WorldCover 10m dataset

    lc <- greenSD::get_esa_wc(place = 'Detroit', datatype = "landcover")

# Retrieve Sentinel-2-l2a images and compute NDVI

    ndvi <- greenSD::get_s2a_ndvi(bbox = c(-83.087174,42.333373,-83.042542,42.358748),
                                  datetime = c("2022-08-01", "2022-09-01"),
                                  cloud_cover = 5,
                                  output_bands = NULL)

# Get the greenspace segmentation from map tiles

    # from Esri.WorldImagery map tiles
    green <- greenSD::get_tile_green(bbox = c(-83.087174,42.333373,-83.042542,42.358748),
                                     provider = "esri",
                                     zoom = 16)

    # from Sentinel-2 cloudless mosaic tiles
    greenspace2 <- greenSD::get_tile_green(bbox = c(-83.087174,42.333373,-83.042542,42.358748),
                                          zoom = 17,
                                          provider = "eox",
                                          year = 2022)

# Extract values from Greenspace Seasonality Data Cube with samples

You can extract seasonal greenspace values at multiple point locations within a city boundary.

    boundary <- greenSD::check_urban_boundary(uid = 1825, plot = FALSE)
    samples <- sf::st_sample(boundary, size = 50)
    gs_samples <- greenSD::sample_values(samples, year = 2022)

# Visualize Seasonal Greenspace Dynamics as an Animated GIF

The `to_gif()` function converts a multi-band raster (e.g., greenspace bands across the growing season) into an animated GIF for quick visual exploration.

    # Load example data (or use `gs` from previous step)
    sample_data <- terra::rast(system.file("extdata", "detroit_gs.tif", package = "greenSD"))

    # Generate GIF
    gif <- greenSD::to_gif(
      r = sample_data,
      fps = 5,
      width = 600,
      height = 600,
      axes = FALSE,
      title_prefix = paste("greenspace - Day", 1:terra::nlyr(sample_data) * 10)
    )

    # Display in RStudio Viewer or save
    print(gif)

    # To save the GIF manually:
    magick::image_write(gif, "greenspace_animation.gif")