diff --git a/tutorials/images/ndvi-anomalies.png b/tutorials/images/ndvi-anomalies.png new file mode 100644 index 00000000..af623a32 Binary files /dev/null and b/tutorials/images/ndvi-anomalies.png differ diff --git a/tutorials/site-monitoring-hls.ipynb b/tutorials/site-monitoring-hls.ipynb new file mode 100644 index 00000000..b466f68c --- /dev/null +++ b/tutorials/site-monitoring-hls.ipynb @@ -0,0 +1,4725 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "03323569-6c72-460e-83c7-7415812d4e85", + "metadata": {}, + "source": [ + "## Vegetation Monitoring with HLS Data on the Planetary Computer\n", + "\n", + "Monitoring vegetation over time is critical for understanding land health, agricultural productivity, and environmental change. This notebook uses Harmonized Landsat and Sentinel-2 (HLS) data to analyze vegetation patterns and detect unexpected changes across a selected agricultural region.\n", + "\n", + "
\n",
+ " \n",
+ "
<xarray.Dataset> Size: 3GB\n", + "Dimensions: (y: 1960, x: 1925, time: 98)\n", + "Coordinates:\n", + " * y (y) float64 16kB 2.14e+06 2.14e+06 ... 2.082e+06 2.081e+06\n", + " * x (x) float64 15kB 5.549e+05 5.549e+05 ... 6.126e+05 6.126e+05\n", + " spatial_ref int32 4B 5070\n", + " * time (time) datetime64[ns] 784B 2024-04-02T17:01:54.392140 ... 20...\n", + "Data variables:\n", + " red (time, y, x) int16 740MB dask.array<chunksize=(1, 1960, 1925), meta=np.ndarray>\n", + " green (time, y, x) int16 740MB dask.array<chunksize=(1, 1960, 1925), meta=np.ndarray>\n", + " blue (time, y, x) int16 740MB dask.array<chunksize=(1, 1960, 1925), meta=np.ndarray>\n", + " nir08 (time, y, x) int16 740MB dask.array<chunksize=(1, 1960, 1925), meta=np.ndarray>\n", + " Fmask (time, y, x) uint8 370MB dask.array<chunksize=(1, 1960, 1925), meta=np.ndarray>
<xarray.Dataset> Size: 4GB\n", + "Dimensions: (time: 55, y: 1960, x: 1925)\n", + "Coordinates:\n", + " * y (y) float64 16kB 2.14e+06 2.14e+06 ... 2.082e+06 2.081e+06\n", + " * x (x) float64 15kB 5.549e+05 5.549e+05 ... 6.126e+05 6.126e+05\n", + " spatial_ref int32 4B 5070\n", + " * time (time) datetime64[ns] 440B 2024-04-12T17:01:56.375150 ... 20...\n", + "Data variables:\n", + " red (time, y, x) float32 830MB nan nan nan nan ... nan nan nan nan\n", + " green (time, y, x) float32 830MB nan nan nan nan ... nan nan nan nan\n", + " blue (time, y, x) float32 830MB nan nan nan nan ... nan nan nan nan\n", + " nir08 (time, y, x) float32 830MB nan nan nan nan ... nan nan nan nan\n", + " Fmask (time, y, x) float32 830MB nan nan nan nan ... nan nan nan nan
<xarray.DataArray 'data' (time: 7, y: 1960, x: 1925)> Size: 26MB\n", + "dask.array<data, shape=(7, 1960, 1925), dtype=uint8, chunksize=(1, 1960, 1925), chunktype=numpy.ndarray>\n", + "Coordinates:\n", + " * y (y) float64 16kB 2.14e+06 2.14e+06 ... 2.082e+06 2.081e+06\n", + " * x (x) float64 15kB 5.549e+05 5.549e+05 ... 6.126e+05 6.126e+05\n", + " spatial_ref int32 4B 5070\n", + " * time (time) datetime64[ns] 56B 2017-01-01 2018-01-01 ... 2023-01-01\n", + "Attributes:\n", + " nodata: 0
<xarray.DataArray 'data' (y: 1960, x: 1925)> Size: 4MB\n", + "dask.array<getitem, shape=(1960, 1925), dtype=uint8, chunksize=(1960, 1925), chunktype=numpy.ndarray>\n", + "Coordinates:\n", + " * y (y) float64 16kB 2.14e+06 2.14e+06 ... 2.082e+06 2.081e+06\n", + " * x (x) float64 15kB 5.549e+05 5.549e+05 ... 6.126e+05 6.126e+05\n", + " spatial_ref int32 4B 5070\n", + "Attributes:\n", + " nodata: 0