Fourmile Canyon Watershed K-means Modeling¶
This project uses NDVI reflectance data from HLS landsat to map landuse and vegetation patterns, using a K-means algorithm to group data based on similar reflectance characteristics.
Site Description¶
Fourmile Canyon stretches West to East in the mountains near Boulder, Colorado. Landuse in this area is varied and includes residential areas, recreation, forest, and of course the watershed for fourmile creek, which eventually connects with Boulder Creek to the East of the city of Boulder. This area was heavily impacted by the Fourmile fire in 2010 (sources 1, 2). Work being done in the area includes flood mitigation (source 3) and mine tailings restoration - this is critical, since Fourmile Canyon provides a source of drinking water for local residents in Boulder County (Source 4).
Sources:
- "Fourmile Canyon Fire Findings", Graham et. al., 2012. USFS. (accessed 4/8/25) https://research.fs.usda.gov/treesearch/41028
- "Fourmile Canyon Fire", Allen, Simmon, Scott. 2010. NASA Earth Observatory. (accessed 4/8/25) https://earthobservatory.nasa.gov/images/45852/fourmile-canyon-fire
- "Fourmile Canyon Creek Flood Mitigation". Mc Farlane. 2025 City of Boulder. (accessed 4/8/25) https://bouldercolorado.gov/projects/fourmile-canyon-creek-flood-mitigation
- "Fourmile Canyon Tailings - Black Swan Restoration Project", NGuyen. (accessed 4/8/2025) https://response.epa.gov/site/site_profile.aspx?site_id=14017
## Cell 1: Import libraries / tools
import os # build file directories
import pickle # cache data objects, functions, or files
import re # Work with regular expressions
import warnings # prevent irrelevant warnings
import cartopy.crs as ccrs # cartography package, change coordinate reference systems
import earthaccess # access online data
import earthpy as et # python package for working with earth data
import geopandas as gpd # plots and data tables for geospatial data
import geoviews as gv # data visualization for geospatial data
import hvplot.pandas # interactive data plots
import hvplot.xarray # interactive plots for raster data
import numpy as np # mathematical functions and analysis in python
import pandas as pd # work with data plots and tables
import rioxarray as rxr # work with rasters
import rioxarray.merge as rxrmerge # merge & mosaic rasters
from tqdm.notebook import tqdm # Use progress bars when downloading data or completing time-intensive tasks
import xarray as xr # work with rasters
from shapely.geometry import Polygon # work with geospatial polygons
from sklearn.cluster import KMeans # build K means cluster models
import pathlib # build paths and directories
import requests
os.environ["GDAL_HTTP_MAX_RETRY"] = "5"
os.environ["GDAL_HTTP_RETRY_DELAY"] = "1"
warnings.simplefilter('ignore')
## Cell 2: Define a function to "pickle" the data download (cache it on the computer)
def cached(func_key, override=False): # Defines a decorator called "cached", which is used to cache the results of function calls by saving them as pickle files.
"""
A decorator to cache function results
Parameters
==========
key: str
File basename used to save pickled results
override: bool
When True, re-compute even if the results are already stored
"""
def compute_and_cache_decorator(compute_function): # 'wraps' the primary function in another function
"""
Wrap the caching function
Parameters
==========
compute_function: function
The function to run and cache results
"""
def compute_and_cache(*args, **kwargs): # defines the primary function
"""
Perform a computation and cache, or load cached result.
Parameters
==========
args
Positional arguments for the compute function
kwargs
Keyword arguments for the compute function
"""
# Add an identifier from the particular function call
if 'cache_key' in kwargs:
key = '_'.join((func_key, kwargs['cache_key']))
else:
key = func_key
path = os.path.join(
et.io.HOME, et.io.DATA_NAME, 'jars', f'{key}.pickle')
# Check if the cache exists already or override caching
if not os.path.exists(path) or override:
# Make jars directory if needed
os.makedirs(os.path.dirname(path), exist_ok=True)
# Run the compute function as the user did
result = compute_function(*args, **kwargs)
# Pickle the object
with open(path, 'wb') as file:
pickle.dump(result, file)
else:
# Unpickle the object
with open(path, 'rb') as file:
result = pickle.load(file)
return result
return compute_and_cache
return compute_and_cache_decorator
## Cell 3: Download the watershed boundary shapefile, and plot it with ESRI tiles in the background.
# Call cacheing function
@cached('wbd_10', override=False)
def read_wbd_file(wbd_filename, huc_level, cache_key): # Define a function to read the downloaded wbd shapefile
# Define a template URL for downloading the zipped WBD dataset
wbd_url = (
"https://prd-tnm.s3.amazonaws.com"
"/StagedProducts/Hydrography/WBD/HU2/Shape/"
f"{wbd_filename}.zip")
# Define wbd directory (use earthpy to get data)
wbd_dir = et.data.get_data(url=wbd_url)
# Read desired data
wbd_path = os.path.join(wbd_dir, 'Shape', f'WBDHU{huc_level}.shp') # create a template to read the downloaded the wbd data as a shapefile, and a path to store the shapefile.
wbd_gdf = gpd.read_file(wbd_path, engine='pyogrio') # read the wbd data as a gdf
return wbd_gdf # print the gdf
# Define huc level
huc_level = 12
# Define wbd_gdf in terms of function defined previously (read_wbd_file), with args and kwargs as the WBD shapefile, huc_level, and cache_key.
wbd_gdf = read_wbd_file(
"WBD_10_HU2_Shape", huc_level, cache_key=f'hu{huc_level}')
# Define fourmile_gdf in terms of wbd_gdf, huc level, and watershed identifier. dissolve borders of the shapefile.
fourmile_gdf = (
wbd_gdf[wbd_gdf[f'huc{huc_level}']
.isin(['101900050403'])]
.dissolve()
)
(
# Define coordinate reference system for fourmile_gdf as Mercator
fourmile_gdf.to_crs(ccrs.Mercator())
# Make an interactive hv plot, with ESRI tiles in the background.
.hvplot(
alpha=.2, fill_color='white',
tiles='EsriImagery', crs=ccrs.Mercator(), title="Fourmile Canyon Subwatershed")
.opts(width=900, height=600)
)
Figure 1: Fourmile Canyon Subwatershed.
This image shows the extent and boundaries of the Fourmile Canyon Subwatershed, overlaid on an ESRI basemap.
## Cell 4: login to earthaccess, and search for HLS tiles covering the WBD site.
# Log in to earthaccess
earthaccess.login(persist=True)
# Search for HLS tiles
results = earthaccess.search_data(
short_name="HLSL30",
cloud_hosted=True,
bounding_box=tuple(fourmile_gdf.total_bounds), # tiles bounded by the fourmile_gdf (wbd file)
temporal=("2024-06", "2024-08"), # date range
)
results
[Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.91489818, 'Latitude': 39.66157578}, {'Longitude': -104.88607749, 'Latitude': 39.74831988}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-06-03T17:42:50.897Z', 'EndingDateTime': '2024-06-03T17:43:14.784Z'}} Size(MB): 211.09787940979004 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024155T174250.v2.0/HLS.L30.T13TDE.2024155T174250.v2.0.B10.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.56713838, 'Latitude': 39.66022228}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.27133734, 'Latitude': 40.65053773}, {'Longitude': -105.56713838, 'Latitude': 39.66022228}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-06-04T17:36:22.832Z', 'EndingDateTime': '2024-06-04T17:36:46.719Z'}} Size(MB): 85.88759708404541 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024156T173622.v2.0/HLS.L30.T13TDE.2024156T173622.v2.0.B07.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-06-11T17:42:33.167Z', 'EndingDateTime': '2024-06-11T17:42:57.058Z'}} Size(MB): 192.7325096130371 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024163T174233.v2.0/HLS.L30.T13TDE.2024163T174233.v2.0.B02.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.60420741, 'Latitude': 39.66003536}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.31001482, 'Latitude': 40.65044037}, {'Longitude': -105.60420741, 'Latitude': 39.66003536}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-06-12T17:36:34.547Z', 'EndingDateTime': '2024-06-12T17:36:58.433Z'}} Size(MB): 89.5349645614624 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024164T173634.v2.0/HLS.L30.T13TDE.2024164T173634.v2.0.B02.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.89321432, 'Latitude': 39.66182818}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-06-19T17:42:35.785Z', 'EndingDateTime': '2024-06-19T17:42:59.663Z'}} Size(MB): 208.0468044281006 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024171T174235.v2.0/HLS.L30.T13TDE.2024171T174235.v2.0.SAA.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.55909505, 'Latitude': 39.66026128}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.26317601, 'Latitude': 40.65055662}, {'Longitude': -105.55909505, 'Latitude': 39.66026128}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-06-20T17:36:30.877Z', 'EndingDateTime': '2024-06-20T17:36:54.772Z'}} Size(MB): 80.59362888336182 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024172T173630.v2.0/HLS.L30.T13TDE.2024172T173630.v2.0.B02.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-06-27T17:42:45.820Z', 'EndingDateTime': '2024-06-27T17:43:09.711Z'}} Size(MB): 208.8241548538208 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024179T174245.v2.0/HLS.L30.T13TDE.2024179T174245.v2.0.VAA.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.55699679, 'Latitude': 39.66027136}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.26140181, 'Latitude': 40.65056065}, {'Longitude': -105.55699679, 'Latitude': 39.66027136}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-06-28T17:36:23.674Z', 'EndingDateTime': '2024-06-28T17:36:47.561Z'}} Size(MB): 82.25014114379883 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024180T173623.v2.0/HLS.L30.T13TDE.2024180T173623.v2.0.B09.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.8970618, 'Latitude': 39.66156134}, {'Longitude': -104.88616729, 'Latitude': 39.69371795}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-07-05T17:42:46.118Z', 'EndingDateTime': '2024-07-05T17:43:10.009Z'}} Size(MB): 191.11334609985352 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024187T174246.v2.0/HLS.L30.T13TDE.2024187T174246.v2.0.Fmask.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.55979447, 'Latitude': 39.66025791}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.26423946, 'Latitude': 40.65028393}, {'Longitude': -105.55979447, 'Latitude': 39.66025791}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-07-06T17:36:39.007Z', 'EndingDateTime': '2024-07-06T17:37:02.894Z'}} Size(MB): 83.08455562591553 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024188T173639.v2.0/HLS.L30.T13TDE.2024188T173639.v2.0.SAA.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-07-13T17:42:55.263Z', 'EndingDateTime': '2024-07-13T17:43:19.150Z'}} Size(MB): 191.29655742645264 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024195T174255.v2.0/HLS.L30.T13TDE.2024195T174255.v2.0.B05.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.59966123, 'Latitude': 39.66005892}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.3043374, 'Latitude': 40.65045548}, {'Longitude': -105.59966123, 'Latitude': 39.66005892}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-07-14T17:36:43.958Z', 'EndingDateTime': '2024-07-14T17:37:07.845Z'}} Size(MB): 92.00957775115967 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024196T173643.v2.0/HLS.L30.T13TDE.2024196T173643.v2.0.B11.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.8960126, 'Latitude': 39.66156041}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-07-21T17:42:55.541Z', 'EndingDateTime': '2024-07-21T17:43:19.436Z'}} Size(MB): 209.06141090393066 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024203T174255.v2.0/HLS.L30.T13TDE.2024203T174255.v2.0.Fmask.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.58672206, 'Latitude': 39.660125}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.2915632, 'Latitude': 40.65048844}, {'Longitude': -105.58672206, 'Latitude': 39.660125}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-07-22T17:36:54.050Z', 'EndingDateTime': '2024-07-22T17:37:17.937Z'}} Size(MB): 84.24648761749268 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024204T173654.v2.0/HLS.L30.T13TDE.2024204T173654.v2.0.B03.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.8960126, 'Latitude': 39.66156041}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-07-29T17:43:06.008Z', 'EndingDateTime': '2024-07-29T17:43:29.890Z'}} Size(MB): 187.49278450012207 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024211T174306.v2.0/HLS.L30.T13TDE.2024211T174306.v2.0.B02.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.57203431, 'Latitude': 39.66019827}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.2763051, 'Latitude': 40.65052595}, {'Longitude': -105.57203431, 'Latitude': 39.66019827}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-07-30T17:36:46.658Z', 'EndingDateTime': '2024-07-30T17:37:10.545Z'}} Size(MB): 82.0096607208252 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024212T173646.v2.0/HLS.L30.T13TDE.2024212T173646.v2.0.B03.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-08-06T17:42:59.428Z', 'EndingDateTime': '2024-08-06T17:43:23.314Z'}} Size(MB): 195.69117832183838 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024219T174259.v2.0/HLS.L30.T13TDE.2024219T174259.v2.0.Fmask.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.53356613, 'Latitude': 39.66038137}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.23833618, 'Latitude': 40.6503403}, {'Longitude': -105.53356613, 'Latitude': 39.66038137}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-08-07T17:36:49.588Z', 'EndingDateTime': '2024-08-07T17:37:13.483Z'}} Size(MB): 81.72731876373291 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024220T173649.v2.0/HLS.L30.T13TDE.2024220T173649.v2.0.VZA.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-08-14T17:43:08.129Z', 'EndingDateTime': '2024-08-14T17:43:32.011Z'}} Size(MB): 198.9260540008545 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024227T174308.v2.0/HLS.L30.T13TDE.2024227T174308.v2.0.SZA.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.56399099, 'Latitude': 39.66023761}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.26814377, 'Latitude': 40.65054519}, {'Longitude': -105.56399099, 'Latitude': 39.66023761}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-08-15T17:36:53.104Z', 'EndingDateTime': '2024-08-15T17:37:16.986Z'}} Size(MB): 89.20931720733643 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024228T173653.v2.0/HLS.L30.T13TDE.2024228T173653.v2.0.SAA.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.89881047, 'Latitude': 39.66156288}, {'Longitude': -104.88615797, 'Latitude': 39.69939442}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-08-22T17:43:13.290Z', 'EndingDateTime': '2024-08-22T17:43:37.177Z'}} Size(MB): 194.1783037185669 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024235T174313.v2.0/HLS.L30.T13TDE.2024235T174313.v2.0.VZA.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.56888692, 'Latitude': 39.66021373}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.27311154, 'Latitude': 40.65053355}, {'Longitude': -105.56888692, 'Latitude': 39.66021373}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-08-23T17:37:03.533Z', 'EndingDateTime': '2024-08-23T17:37:27.416Z'}} Size(MB): 84.48768043518066 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024236T173703.v2.0/HLS.L30.T13TDE.2024236T173703.v2.0.B01.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -106.1661317, 'Latitude': 39.65575257}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -106.18317261, 'Latitude': 40.6447948}, {'Longitude': -106.1661317, 'Latitude': 39.65575257}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-08-30T17:43:16.261Z', 'EndingDateTime': '2024-08-30T17:43:40.148Z'}} Size(MB): 186.76609706878662 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.B03.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024243T174316.v2.0/HLS.L30.T13TDE.2024243T174316.v2.0.Fmask.tif'], Collection: {'EntryTitle': 'HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m v2.0'} Spatial coverage: {'HorizontalSpatialDomain': {'Geometry': {'GPolygons': [{'Boundary': {'Points': [{'Longitude': -105.57658052, 'Latitude': 39.66017579}, {'Longitude': -104.88622009, 'Latitude': 39.66155123}, {'Longitude': -104.88455693, 'Latitude': 40.65079881}, {'Longitude': -105.28127286, 'Latitude': 40.65051396}, {'Longitude': -105.57658052, 'Latitude': 39.66017579}]}}]}}} Temporal coverage: {'RangeDateTime': {'BeginningDateTime': '2024-08-31T17:37:03.832Z', 'EndingDateTime': '2024-08-31T17:37:27.719Z'}} Size(MB): 82.11702060699463 Data: ['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.B06.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.B10.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.B05.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.VAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.B04.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.SAA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.B09.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.B01.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.B02.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.B11.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.B07.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.VZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.SZA.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.Fmask.tif', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/HLSL30.020/HLS.L30.T13TDE.2024244T173703.v2.0/HLS.L30.T13TDE.2024244T173703.v2.0.B03.tif']]
## Cell 5: Define a function to compile data access links from earthaccess (HLS tiles covering the WBD region)
def get_earthaccess_links(results): # Name the function "get_earthaccess_links"
url_re = re.compile( # compile regular expressions
r'\.(?P<tile_id>\w+)\.\d+T\d+\.v\d\.\d\.(?P<band>[A-Za-z0-9]+)\.tif' # regular expression pattern for .tiff data downloads
)
# Loop through each granule
link_rows = [] # Create an empty list to put the links in
for granule in tqdm(results):
# Get granule information
info_dict = granule['umm'] # Creates a list of granule metadata values
granule_id = info_dict['GranuleUR'] # List of granule identifiers
datetime = pd.to_datetime(
info_dict['TemporalExtent']['RangeDateTime']['BeginningDateTime'] # creates sublists within the info_dict which identify the date and time information for the granules
)
points = (
info_dict['SpatialExtent']['HorizontalSpatialDomain']['Geometry']
['GPolygons'][0]['Boundary']['Points'] # sublists within info_dict define spatial and geometric characteristics of each granule
)
geometry = Polygon([(point['Longitude'], point['Latitude']) for point in points]) # This line is running some code from the "Polygon" library. Looks like it's using the granule spatial info gathered in "points" to create polygons.
# Get URLs for each granule
files = earthaccess.open([granule])
# Build metadata DataFrame rows
for file in files: # set up loop
match = url_re.search(file.full_name) # define 'match' as the full_name of each granule file
if match is not None: # if match exists
link_rows.append( # append to link_rows
gpd.GeoDataFrame( # (what to append to link_rows): a gdf for each granule, complete with datetime, tile_id, band, url, and geometry, with CRS = EPSG:4326.
dict(
datetime=[datetime],
tile_id=[match.group('tile_id')],
band=[match.group('band')],
url=[file],
geometry=[geometry]
),
crs="EPSG:4326" # Set coordinate reference system
)
)
# Concatenate metadata DataFrame (compile everything into a gdf)
if link_rows:
file_df = pd.concat(link_rows).reset_index(drop=True) # define "file_df" by concatenating and resetting the index (this is merging the granules / HLS tiles into one tile and resetting the index).
else:
file_df = gpd.GeoDataFrame(columns=["datetime", "tile_id", "band", "url", "geometry"], crs="EPSG:4326")
return file_df
## Cell 6: Process the HLS data, looping through each granule to add a cloud mask, crop, and define scale.
@cached('fourmile_reflectance_da_df')
def compute_reflectance_da(search_results, boundary_gdf):
"""
Connect to files over VSI, crop, cloud mask, and wrangle
Returns a single reflectance DataFrame
with all bands as columns and
centroid coordinates and datetime as the index.
Parameters
==========
file_df : pd.DataFrame
File connection and metadata (datetime, tile_id, band, and url)
boundary_gdf : gpd.GeoDataFrame
Boundary use to crop the data
"""
def open_dataarray(url, boundary_proj_gdf, scale=1, masked=True):
# Open masked DataArray
da = rxr.open_rasterio(url, masked=masked).squeeze() * scale
# Reproject boundary if needed
if boundary_proj_gdf is None:
boundary_proj_gdf = boundary_gdf.to_crs(da.rio.crs)
# Crop
cropped = da.rio.clip_box(*boundary_proj_gdf.total_bounds)
return cropped
def compute_quality_mask(da, mask_bits=[1, 2, 3]):
"""Mask out low quality data by bit"""
# Unpack bits into a new axis
bits = (
np.unpackbits(
da.astype(np.uint8), bitorder='little'
).reshape(da.shape + (-1,))
)
# Select the required bits and check if any are flagged
mask = np.prod(bits[..., mask_bits]==0, axis=-1)
return mask
file_df = get_earthaccess_links(search_results)
granule_da_rows= []
boundary_proj_gdf = None
# Loop through each image
group_iter = file_df.groupby(['datetime', 'tile_id'])
for (datetime, tile_id), granule_df in tqdm(group_iter):
print(f'Processing granule {tile_id} {datetime}')
# Open granule cloud cover
cloud_mask_url = (
granule_df.loc[granule_df.band=='Fmask', 'url']
.values[0])
cloud_mask_cropped_da = open_dataarray(cloud_mask_url, boundary_proj_gdf, masked=False)
# Compute cloud mask
cloud_mask = compute_quality_mask(cloud_mask_cropped_da)
# Loop through each spectral band
da_list = []
df_list = []
for i, row in granule_df.iterrows():
if row.band.startswith('B'):
# Open, crop, and mask the band
band_cropped = open_dataarray(
row.url, boundary_proj_gdf, scale=0.0001)
band_cropped.name = row.band
# Add the DataArray to the metadata DataFrame row
row['da'] = band_cropped.where(cloud_mask)
granule_da_rows.append(row.to_frame().T)
# Reassemble the metadata DataFrame
return pd.concat(granule_da_rows)
reflectance_da_df = compute_reflectance_da(results, fourmile_gdf)
0%| | 0/24 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
QUEUEING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
PROCESSING TASKS | : 0%| | 0/15 [00:00<?, ?it/s]
COLLECTING RESULTS | : 0%| | 0/15 [00:00<?, ?it/s]
0%| | 0/24 [00:00<?, ?it/s]
Processing granule T13TDE 2024-06-03 17:42:50.897000+00:00 Processing granule T13TDE 2024-06-04 17:36:22.832000+00:00 Processing granule T13TDE 2024-06-11 17:42:33.167000+00:00 Processing granule T13TDE 2024-06-12 17:36:34.547000+00:00 Processing granule T13TDE 2024-06-19 17:42:35.785000+00:00 Processing granule T13TDE 2024-06-20 17:36:30.877000+00:00 Processing granule T13TDE 2024-06-27 17:42:45.820000+00:00 Processing granule T13TDE 2024-06-28 17:36:23.674000+00:00 Processing granule T13TDE 2024-07-05 17:42:46.118000+00:00 Processing granule T13TDE 2024-07-06 17:36:39.007000+00:00 Processing granule T13TDE 2024-07-13 17:42:55.263000+00:00 Processing granule T13TDE 2024-07-14 17:36:43.958000+00:00 Processing granule T13TDE 2024-07-21 17:42:55.541000+00:00 Processing granule T13TDE 2024-07-22 17:36:54.050000+00:00 Processing granule T13TDE 2024-07-29 17:43:06.008000+00:00 Processing granule T13TDE 2024-07-30 17:36:46.658000+00:00 Processing granule T13TDE 2024-08-06 17:42:59.428000+00:00 Processing granule T13TDE 2024-08-07 17:36:49.588000+00:00 Processing granule T13TDE 2024-08-14 17:43:08.129000+00:00 Processing granule T13TDE 2024-08-15 17:36:53.104000+00:00 Processing granule T13TDE 2024-08-22 17:43:13.290000+00:00 Processing granule T13TDE 2024-08-23 17:37:03.533000+00:00 Processing granule T13TDE 2024-08-30 17:43:16.261000+00:00 Processing granule T13TDE 2024-08-31 17:37:03.832000+00:00
## Cell 7: Create a function that merges granules across dates, filling in cloud gaps and masking negative values.
@cached('fourmile_reflectance_da')
def merge_and_composite_arrays(granule_da_df):
# Merge and composite and image for each band
df_list = []
da_list = []
for band, band_df in tqdm(granule_da_df.groupby('band')):
merged_das = []
for datetime, date_df in tqdm(band_df.groupby('datetime')):
# Merge granules for each date
merged_da = rxrmerge.merge_arrays(list(date_df.da))
# Mask negative values
merged_da = merged_da.where(merged_da>0)
merged_das.append(merged_da)
# Composite images across dates
composite_da = xr.concat(merged_das, dim='datetime').median('datetime')
composite_da['band'] = int(band[1:])
composite_da.name = 'reflectance'
da_list.append(composite_da)
return xr.concat(da_list, dim='band')
reflectance_da = merge_and_composite_arrays(reflectance_da_df)
reflectance_da
0%| | 0/10 [00:00<?, ?it/s]
0%| | 0/24 [00:00<?, ?it/s]
0%| | 0/24 [00:00<?, ?it/s]
0%| | 0/24 [00:00<?, ?it/s]
0%| | 0/24 [00:00<?, ?it/s]
0%| | 0/24 [00:00<?, ?it/s]
0%| | 0/24 [00:00<?, ?it/s]
0%| | 0/24 [00:00<?, ?it/s]
0%| | 0/24 [00:00<?, ?it/s]
0%| | 0/24 [00:00<?, ?it/s]
0%| | 0/24 [00:00<?, ?it/s]
<xarray.DataArray 'reflectance' (band: 10, y: 202, x: 698)> Size: 6MB array([[[0.0182 , 0.0209 , 0.0201 , ..., 0.0262 , 0.0258 , 0.0316 ], [0.0196 , 0.0206 , 0.0223 , ..., 0.0256 , 0.0241 , 0.0256 ], [0.02725 , 0.02735 , 0.0271 , ..., 0.0245 , 0.0248 , 0.022 ], ..., [0.01515 , 0.01845 , 0.0179 , ..., 0.0395 , 0.0369 , 0.03555 ], [0.01465 , 0.0169 , 0.0175 , ..., 0.0382 , 0.0288 , 0.03755 ], [0.0152 , 0.0156 , 0.01745 , ..., 0.0467 , 0.0351 , 0.03035 ]], [[0.0219 , 0.0244 , 0.0241 , ..., 0.0326 , 0.0315 , 0.0386 ], [0.0238 , 0.0253 , 0.0263 , ..., 0.0309 , 0.0296 , 0.0321 ], [0.02955 , 0.02975 , 0.02985 , ..., 0.0291 , 0.0293 , 0.0275 ], ... [0.19745 , 0.19909999, 0.20045 , ..., 0.2911 , 0.2868 , 0.30105 ], [0.1947 , 0.1959 , 0.1971 , ..., 0.2888 , 0.2843 , 0.29659998], [0.19330001, 0.19435 , 0.1954 , ..., 0.2881 , 0.2844 , 0.29369998]], [[0.1629 , 0.1567 , 0.152 , ..., 0.2641 , 0.26119998, 0.2599 ], [0.1565 , 0.15179999, 0.1484 , ..., 0.2653 , 0.26209998, 0.2593 ], [0.15715 , 0.15105 , 0.14605 , ..., 0.2638 , 0.2624 , 0.25959998], ..., [0.19929999, 0.20095 , 0.20199999, ..., 0.2756 , 0.2721 , 0.28509998], [0.1954 , 0.19665 , 0.19775 , ..., 0.2737 , 0.2695 , 0.2819 ], [0.1945 , 0.1952 , 0.196 , ..., 0.2714 , 0.2676 , 0.28179997]]], dtype=float32) Coordinates: * x (x) float64 6kB 4.518e+05 4.518e+05 ... 4.727e+05 4.727e+05 * y (y) float64 2kB 4.436e+06 4.435e+06 ... 4.43e+06 4.429e+06 * band (band) int64 80B 1 2 3 4 5 6 7 9 10 11 spatial_ref int64 8B 0
## Cell 8: Clean up the dataframe (.dropna) and fit KMeans model.
# Convert spectral DataArray to a tidy DataFrame
model_df = reflectance_da.to_dataframe().reflectance.unstack('band')
model_df = model_df.drop(columns=[10, 11]).dropna()
# Running the fit and predict functions at the same time.
# We can do this since we don't have target data.
prediction = KMeans(n_clusters=6).fit_predict(model_df.values)
# Add the predicted values back to the model DataFrame
model_df['clusters'] = prediction
model_df
band | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | clusters | |
---|---|---|---|---|---|---|---|---|---|---|
y | x | |||||||||
4435515.0 | 451785.0 | 0.01820 | 0.0219 | 0.02890 | 0.02660 | 0.02740 | 0.01855 | 0.01540 | 0.00120 | 2 |
451815.0 | 0.02090 | 0.0244 | 0.03300 | 0.02880 | 0.02950 | 0.02180 | 0.01810 | 0.00150 | 2 | |
451845.0 | 0.02010 | 0.0241 | 0.03250 | 0.03090 | 0.03050 | 0.02350 | 0.01900 | 0.00140 | 2 | |
451875.0 | 0.01960 | 0.0238 | 0.03280 | 0.02980 | 0.02830 | 0.02100 | 0.01750 | 0.00120 | 2 | |
451905.0 | 0.01960 | 0.0237 | 0.03060 | 0.02730 | 0.02580 | 0.01860 | 0.01580 | 0.00120 | 2 | |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
4429485.0 | 472575.0 | 0.03000 | 0.0434 | 0.07080 | 0.08020 | 0.24270 | 0.20310 | 0.14130 | 0.00120 | 1 |
472605.0 | 0.04310 | 0.0568 | 0.08520 | 0.09100 | 0.22840 | 0.18720 | 0.13370 | 0.00130 | 1 | |
472635.0 | 0.04670 | 0.0581 | 0.08880 | 0.09640 | 0.21530 | 0.17610 | 0.13070 | 0.00140 | 1 | |
472665.0 | 0.03510 | 0.0471 | 0.07870 | 0.08040 | 0.24000 | 0.15890 | 0.11170 | 0.00120 | 1 | |
472695.0 | 0.03035 | 0.0408 | 0.06795 | 0.06595 | 0.25835 | 0.15370 | 0.10115 | 0.00125 | 0 |
140994 rows × 9 columns
## Cell 9: Plot K-means and RGB images of the watershed.
# Plot the k-means clusters
rgb = reflectance_da.sel(band=[4, 3, 2])
rgb_uint8 = (rgb * 255).astype(np.uint8).where(rgb!=np.nan)
rgb_bright = rgb_uint8 * 10
rgb_sat = rgb_bright.where(rgb_bright < 255, 255)
(
rgb_sat.hvplot.rgb(
x='x', y='y', bands='band',
data_aspect=1,
xaxis=None, yaxis=None, title="K-means and RGB comparison")
+
model_df.clusters.to_xarray().sortby(['x', 'y']).hvplot(
cmap="accent", aspect='equal')
)
Interpretation:¶
The K-means algorithm clusters data into groups based on similar reflectance characteristics. It is limited in that it does not indicate what about the data is similar, however in combination with the RGB image, this can provide some insights. For example, the algorithm appears to have assigned dense forests a value of 2 (yellow, in the K-means plot) and areas with more grasses a value of 3 or 5 (blue and grey). Areas with sparse or mixed vegetation are 4 or 1, and areas with higher reflectance (presumably denser green vegetation) are 0 (green). Looking at the k-means plot with this in mind can give some idea of the distribution of various vegetation types and densities across the study region.
With this interpretation in mind, it's possible to see a variety of patterns in the landscape. Areas with dense forest (k-means group 2, yellow) are located particularly on the Southern sides of valleys, and towards the Western part of the watershed. Areas with more grasses (K-means groups 3 and 5) occur more in the East, and on the Northern sides of the valleys. This has implications for wildfire risk as well as watershed management. With further fine-tuning, it might also be possible to see areas that had previously been burned using this technique.
# initialize
k_means = KMeans(n_clusters = 5)
# fit model and predict
prediction = k_means.fit_predict(model_df.values)
model_df['clusters'] = prediction
model_df
band | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | clusters | |
---|---|---|---|---|---|---|---|---|---|---|
y | x | |||||||||
4435515.0 | 451785.0 | 0.01820 | 0.0219 | 0.02890 | 0.02660 | 0.02740 | 0.01855 | 0.01540 | 0.00120 | 1 |
451815.0 | 0.02090 | 0.0244 | 0.03300 | 0.02880 | 0.02950 | 0.02180 | 0.01810 | 0.00150 | 1 | |
451845.0 | 0.02010 | 0.0241 | 0.03250 | 0.03090 | 0.03050 | 0.02350 | 0.01900 | 0.00140 | 1 | |
451875.0 | 0.01960 | 0.0238 | 0.03280 | 0.02980 | 0.02830 | 0.02100 | 0.01750 | 0.00120 | 1 | |
451905.0 | 0.01960 | 0.0237 | 0.03060 | 0.02730 | 0.02580 | 0.01860 | 0.01580 | 0.00120 | 1 | |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
4429485.0 | 472575.0 | 0.03000 | 0.0434 | 0.07080 | 0.08020 | 0.24270 | 0.20310 | 0.14130 | 0.00120 | 2 |
472605.0 | 0.04310 | 0.0568 | 0.08520 | 0.09100 | 0.22840 | 0.18720 | 0.13370 | 0.00130 | 2 | |
472635.0 | 0.04670 | 0.0581 | 0.08880 | 0.09640 | 0.21530 | 0.17610 | 0.13070 | 0.00140 | 2 | |
472665.0 | 0.03510 | 0.0471 | 0.07870 | 0.08040 | 0.24000 | 0.15890 | 0.11170 | 0.00120 | 2 | |
472695.0 | 0.03035 | 0.0408 | 0.06795 | 0.06595 | 0.25835 | 0.15370 | 0.10115 | 0.00125 | 2 |
140994 rows × 9 columns