diff --git a/tutorials/site-monitoring-hls.ipynb b/tutorials/site-monitoring-hls.ipynb new file mode 100644 index 0000000..56ee230 --- /dev/null +++ b/tutorials/site-monitoring-hls.ipynb @@ -0,0 +1,4707 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "03323569-6c72-460e-83c7-7415812d4e85", + "metadata": {}, + "source": [ + "## Vegetation Monitoring with HLS Data on the Planetary Computer\n", + "\n", + "
\n", + " ๐Ÿ“˜ Outline \n", + "\n", + "- Introduction \n", + "- Learning Objectives \n", + "- Core Concepts \n", + "- Environment Configuration \n", + "- Define Area of Interest \n", + "- Query HLS Data from the Planetary Computer \n", + "- Calculate NDVI \n", + "- Visualize Time Series of Vegetation Change \n", + "- Adjust Parameters and Explore Trends \n", + "- Export Results \n", + "- What's Next \n", + "
\n", + "\n", + "Monitoring vegetation over time is critical for understanding land health, agricultural productivity, and environmental change. In this notebook, weโ€™ll use Harmonized Landsat and Sentinel-2 (HLS) data from Microsoftโ€™s Planetary Computer to analyze vegetation patterns through time. This intermediate-level notebook focuses on calculating the Normalized Difference Vegetation Index (NDVI) and interpreting changes across a selected site. Youโ€™ll build on foundational skills to explore multi-temporal satellite imagery and generate actionable insights from remote sensing data.\n", + "\n", + "โžก๏ธ **Next notebook in this series:** \n", + "- [Monitoring for Extreme Weather Events](/tutorials/climate-risk.ipynb) (Advanced)\n", + "\n", + "โฌ…๏ธ **Previous notebook in this series:**\n", + "- [Site Monitoring Foundations](/tutorials/site-monitoring-foundatons.ipynb) (Beginner)\n", + "\n", + "\n", + "### Learning Objectives\n", + "\n", + "By the end of this notebook, you should be able to:\n", + "\n", + "๐Ÿ›ฐ Retrieve HLS satellite data using the Planetary Computer STAC API \n", + "๐Ÿ“ Define and load an Area of Interest (AOI) \n", + "๐Ÿงฎ Calculate NDVI from multi-band imagery \n", + "๐Ÿ“ˆ Visualize vegetation changes over time \n", + "๐Ÿ” Identify periods of vegetation stress or disturbance \n", + "๐Ÿ’พ Export results for use in dashboards or reports\n", + "\n", + "### Core Concepts\n", + "\n", + "Before we begin, here are a few key concepts we'll use in this notebook:\n", + "\n", + "- **HLS (Harmonized Landsat and Sentinel-2):** A dataset that merges Landsat-8 and Sentinel-2 imagery for high temporal resolution analysis.\n", + "- **Raster Data:** Imagery made up of pixels, each containing numerical values representing surface characteristics.\n", + "- **Spectral Bands:** Different bands measure reflectance at specific wavelengths (e.g., Red, NIR).\n", + "- **NDVI:** An index that uses red and near-infrared light to assess vegetation health.\n", + "- **AOI (Area of Interest):** A polygon that defines the region you want to monitor.\n", + "- **Time Series:** A sequence of imagery observations collected over time for the same location.\n", + "- **STAC (SpatioTemporal Asset Catalog):** A specification for searching and accessing geospatial data.\n", + "- **Planetary Computer:** A platform hosting open geospatial datasets with a powerful STAC API.\n", + "\n", + "Want to explore the catalog? Check out the [Planetary Computer](https://planetarycomputer.microsoft.com/)." + ] + }, + { + "cell_type": "markdown", + "id": "8b52db1e", + "metadata": { + "tags": [] + }, + "source": [ + "Conda environment.yml for this notebook\n", + "\n", + "```yml\n", + "name: geo_py312\n", + "channels:\n", + " - conda-forge\n", + " - defaults\n", + "dependencies:\n", + " - python=3.12\n", + " - gdal=3.10\n", + " - pip\n", + " - dask\n", + " - flox\n", + " - folium\n", + " - geopandas\n", + " - httpx\n", + " - imageio\n", + " - ipykernel\n", + " - jupyter\n", + " - jupyterlab\n", + " - matplotlib\n", + " - nbformat\n", + " - numpy\n", + " - pandas\n", + " - planetary-computer\n", + " - pyproj\n", + " - pystac\n", + " - pystac-client\n", + " - rasterio\n", + " - rioxarray\n", + " - rtree\n", + " - shapely\n", + " - xarray\n", + " - zarr\n", + " - pip:\n", + " - odc-stac>=0.4\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6077f868-3181-4686-a046-811a6565945c", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import io\n", + "from datetime import datetime\n", + "\n", + "\n", + "import folium\n", + "import httpx\n", + "import imageio.v2 as imageio\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import odc.stac\n", + "import pyproj\n", + "import pystac\n", + "import pystac_client\n", + "import planetary_computer\n", + "import rioxarray # noqa\n", + "import xarray as xr\n", + "from IPython.display import Image\n", + "from rasterio.features import rasterize\n", + "from shapely.geometry import shape\n", + "from shapely.ops import transform\n", + "from tqdm.notebook import trange" + ] + }, + { + "cell_type": "markdown", + "id": "d4961cee-bd37-477d-9b9c-03ef040ddf08", + "metadata": {}, + "source": [ + "### Define an area of interest\n", + "\n", + "This example shows how to extract the county boundary for an arbitrary point in the United States using the Census Bureau's REST API. You can replace this with any method that produces a `shapely` geometry object." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "b43c3f81-b8d2-4264-862f-29352dec7743", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# get county boundary for any point\n", + "epsg = 4326\n", + "lat, lon = 41.79, -88.94\n", + "\n", + "county_request = httpx.get(\n", + " \"https://tigerweb.geo.census.gov/arcgis/rest/services/\"\n", + " \"Generalized_ACS2023/State_County/MapServer/13/query\",\n", + " params={\n", + " \"geometry\": {\"x\": lon, \"y\": lat},\n", + " \"geometryType\": \"esriGeometryPoint\",\n", + " \"inSR\": {\"wkid\": epsg},\n", + " \"spatialRel\": \"esriSpatialRelIntersects\",\n", + " \"f\": \"geoJSON\",\n", + " },\n", + ")\n", + "\n", + "fc = county_request.json()\n", + "aoi = shape(fc[\"features\"][0][\"geometry\"])\n", + "aoi" + ] + }, + { + "cell_type": "markdown", + "id": "5e0900a8-3bc8-4892-b397-f1ffa89b3974", + "metadata": {}, + "source": [ + "### Search for Harmonized Landsat Sentinel-2 data using the Planetary Computer STAC API\n", + "\n", + "The Planetary Computer maintains a copy of the [Harmonized Landsat Sentinel-2 dataset](https://planetarycomputer.microsoft.com/dataset/group/hls2) and has made it available in via the STAC API." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "21aff1f4-d493-4166-80c7-7e319b004a1d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "catalog = pystac_client.Client.open(\n", + " \"https://planetarycomputer.microsoft.com/api/stac/v1\",\n", + " modifier=planetary_computer.sign_inplace,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "e6f87b16-cfbf-4902-a084-78ba3b48cb19", + "metadata": {}, + "source": [ + "The STAC asset keys for the HLS collections are the band labels (e.g. B02) from the respective instrument. To combine the data from both collections, you must use a common name to ensure that the correct bands from each collection are mapped to one another.\n", + "\n", + "> Warning: The common names for the near-infrared bands in the two collections are not coded correctly. You can fix this by setting the common name for Landsat's B05 and Sentinel-2's B8A to 'nir08'." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ecf23f82-2256-4d72-b94d-72120a74b59c", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "HLS2_L30 = \"hls2-l30\"\n", + "HLS2_S30 = \"hls2-s30\"\n", + "\n", + "collections = {\n", + " collection_id: catalog.get_collection(collection_id)\n", + " for collection_id in [HLS2_L30, HLS2_S30]\n", + "}\n", + "\n", + "for collection_id, collection in collections.items():\n", + " for key, asset in collection.extra_fields[\"item_assets\"].items():\n", + " if collection_id == HLS2_L30 and key == \"B05\":\n", + " asset[\"eo:bands\"][0][\"common_name\"] = \"nir08\"\n", + " if collection_id == HLS2_S30 and key == \"B8A\":\n", + " asset[\"eo:bands\"][0][\"common_name\"] = \"nir08\"" + ] + }, + { + "cell_type": "markdown", + "id": "d7c3dc55-9ffa-4aab-8581-48e3bc46cc42", + "metadata": {}, + "source": [ + "We will use `pystac-client` to search the Planetary Computer catalog for STAC items from the HLS collections for the 2024 growing season (May-October)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8ec6739c-74f3-4863-9da2-97342b162860", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "99\n" + ] + } + ], + "source": [ + "datetime_range = [datetime(2024, 4, 1), datetime(2024, 11, 1)]\n", + "bbox = aoi.bounds\n", + "search = catalog.search(\n", + " collections=[HLS2_L30, HLS2_S30],\n", + " datetime=datetime_range,\n", + " bbox=bbox,\n", + ")\n", + "\n", + "hls_items = search.item_collection()\n", + "print(len(hls_items))" + ] + }, + { + "cell_type": "markdown", + "id": "879a05e7-9445-44ca-af88-806f9e0568a2", + "metadata": {}, + "source": [ + "The STAC search returns all items intersecting the provided bounding box and matching the other search criteria." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "c0eae249-cdc9-4121-b12d-6070e9d3f672", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "m = folium.Map([lat, lon], zoom_start=8)\n", + "\n", + "folium.features.GeoJson(\n", + " data=hls_items.to_dict(),\n", + " name=\"HLS STAC items\",\n", + " style_function=lambda feature: {\n", + " \"fillColor\": \"#ffffff\",\n", + " \"color\": \"black\",\n", + " \"weight\": 2,\n", + " \"dashArray\": \"5, 5\",\n", + " },\n", + ").add_to(m)\n", + "\n", + "folium.features.GeoJson(\n", + " data=aoi,\n", + " name=\"DeKalb County, IL\",\n", + ").add_to(m)\n", + "\n", + "folium.LayerControl(collapsed=False).add_to(m)\n", + "\n", + "m" + ] + }, + { + "cell_type": "markdown", + "id": "500bbe81-3127-4a87-b3ef-0132cff4bb87", + "metadata": {}, + "source": [ + "### odc-stac\n", + "[odc-stac](https://github.com/opendatacube/odc-stac) is a tool for creating an xarray datacube from a STAC ItemCollection. This is a handy tool because (if the STAC metadata is well structured) you don't have to think about file paths or projections among other details. `odc-stac` will create a lazily-evaluated datacube that represents a mosaic of STAC items. When you call the `.compute()` method on an `xarray` object, it will read actual bytes from the assets.\n", + "\n", + "You can provide some configuration details for a datacube in the form of a dictionary like this:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "e62b9816-2799-4d68-a16d-dddd5ecd5818", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "hls_odc_stac_config = {\n", + " collection_id: {\n", + " \"assets\": {\n", + " \"*\": {\n", + " \"nodata\": -9999,\n", + " \"data_type\": \"int16\",\n", + " },\n", + " \"Fmask\": {\n", + " \"nodata\": 0,\n", + " \"data_type\": \"uint8\",\n", + " },\n", + " },\n", + " \"aliases\": {\n", + " asset[\"eo:bands\"][0][\"common_name\"]: key\n", + " for key, asset in collection.extra_fields[\"item_assets\"].items()\n", + " if asset[\"eo:bands\"][0].get(\"common_name\")\n", + " },\n", + " }\n", + " for collection_id, collection in collections.items()\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "58d197a6-fac7-4f8e-b79b-657068b58694", + "metadata": {}, + "source": [ + "By default, STAC items from the same day will be combined into a single time coordinate in your datacube. Since we want to consider observations from Landsat and Sentinel-2 as separate observations even if they were collected on the same day, we can provide a function that will return the grouping key for odc-stac. " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "173a3c69-4c3d-4ffa-84ef-3a08fd73165e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "def group_by_sensor_and_date(\n", + " item: pystac.Item,\n", + " parsed: odc.stac.ParsedItem,\n", + " idx: int,\n", + ") -> str:\n", + " id_split = item.id.split(\".\")\n", + " sensor = id_split[1]\n", + " day = id_split[3][:7]\n", + "\n", + " return f\"{sensor}_{day}\"" + ] + }, + { + "cell_type": "markdown", + "id": "2db7db7a-6c3d-4237-a3bb-3cdfe1ba5b7d", + "metadata": {}, + "source": [ + "You can pass the STAC ItemCollection straight to odc.stac.load, but if you want to limit your analysis to a particular area of interest, you can provide a bounding box in the form of the `x` and `y` coordinate tuples. This is particularly useful because often your area of interest will not cover the entirety of the STAC item footprint, and therefore, you can selectively read chunks of the assets. You can also specify the output CRS and resolution for the array.\n", + "\n", + "`odc.stac.load` will create a 4-dimensional data cube: band (variables in the Dataset), time, x, and y." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "c643a3b8-1428-4365-8a07-abf605555204", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset> Size: 2GB\n",
+       "Dimensions:      (y: 2027, x: 1073, time: 99)\n",
+       "Coordinates:\n",
+       "  * y            (y) float64 16kB 2.152e+06 2.152e+06 ... 2.091e+06 2.091e+06\n",
+       "  * x            (x) float64 9kB 5.79e+05 5.79e+05 ... 6.111e+05 6.112e+05\n",
+       "    spatial_ref  int32 4B 5070\n",
+       "  * time         (time) datetime64[ns] 792B 2024-04-02T17:01:54.392140 ... 20...\n",
+       "Data variables:\n",
+       "    red          (time, y, x) int16 431MB dask.array<chunksize=(1, 2027, 1073), meta=np.ndarray>\n",
+       "    green        (time, y, x) int16 431MB dask.array<chunksize=(1, 2027, 1073), meta=np.ndarray>\n",
+       "    blue         (time, y, x) int16 431MB dask.array<chunksize=(1, 2027, 1073), meta=np.ndarray>\n",
+       "    nir08        (time, y, x) int16 431MB dask.array<chunksize=(1, 2027, 1073), meta=np.ndarray>\n",
+       "    Fmask        (time, y, x) uint8 215MB dask.array<chunksize=(1, 2027, 1073), meta=np.ndarray>
" + ], + "text/plain": [ + " Size: 2GB\n", + "Dimensions: (y: 2027, x: 1073, time: 99)\n", + "Coordinates:\n", + " * y (y) float64 16kB 2.152e+06 2.152e+06 ... 2.091e+06 2.091e+06\n", + " * x (x) float64 9kB 5.79e+05 5.79e+05 ... 6.111e+05 6.112e+05\n", + " spatial_ref int32 4B 5070\n", + " * time (time) datetime64[ns] 792B 2024-04-02T17:01:54.392140 ... 20...\n", + "Data variables:\n", + " red (time, y, x) int16 431MB dask.array\n", + " green (time, y, x) int16 431MB dask.array\n", + " blue (time, y, x) int16 431MB dask.array\n", + " nir08 (time, y, x) int16 431MB dask.array\n", + " Fmask (time, y, x) uint8 215MB dask.array" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# load the xarray Dataset in a CONUS-wide projected CRS\n", + "target_crs = \"epsg:5070\"\n", + "transformer = pyproj.Transformer.from_crs(\n", + " crs_from=epsg,\n", + " crs_to=target_crs,\n", + " always_xy=True,\n", + ")\n", + "\n", + "aoi_5070 = transform(transformer.transform, aoi)\n", + "bbox_5070 = aoi_5070.bounds\n", + "\n", + "# these are the ones that we are going to use\n", + "bands = [\"red\", \"green\", \"blue\", \"nir08\", \"Fmask\"]\n", + "\n", + "stack = odc.stac.load(\n", + " hls_items,\n", + " stac_cfg=hls_odc_stac_config,\n", + " bands=bands,\n", + " crs=target_crs,\n", + " resolution=30,\n", + " chunks={},\n", + " groupby=group_by_sensor_and_date,\n", + " x=(bbox_5070[0], bbox_5070[2]),\n", + " y=(bbox_5070[1], bbox_5070[3]),\n", + ").sortby(\"time\")\n", + "\n", + "stack" + ] + }, + { + "cell_type": "markdown", + "id": "686e38d9-17bd-4a03-ab05-a799dd0d20d8", + "metadata": {}, + "source": [ + "To limit the scope of our analysis to the boundary of DeKalb County (not just its bounding box), we can create an array representation of the boundary using `rasterio.features.rasterize`." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c8c5ea11-ab75-4d25-9d41-b63a9a865a31", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# geographic mask for the original AOI\n", + "aoi_mask = rasterize(\n", + " [(aoi_5070, 1)],\n", + " out_shape=(stack.rio.height, stack.rio.width),\n", + " transform=stack.rio.transform(),\n", + " fill=0,\n", + " all_touched=True,\n", + " dtype=np.uint8,\n", + ").astype(bool)" + ] + }, + { + "cell_type": "markdown", + "id": "6bb65a09-be7e-4f00-85c3-c84cd43467cc", + "metadata": {}, + "source": [ + "The rest of the notebook will involve many datacubes. The easiest way to describe those datacubes is by rendering time series GIFs, so here are some functions to render GIFs in the notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "20ab2109-6aeb-48bf-8589-9ce9c320eac1", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'2024-04-09'" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "str(stack.time.astype(\"datetime64[D]\").values[1]).split(\"T\")[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "dfc75c47-e3ba-47c9-a943-cd28325ea9ed", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Function to plot a single frame and return as a BytesIO object\n", + "def plot_frame(data, time_idx, title, figsize=(10, 10), units_label=None, **kwargs):\n", + " fig, ax = plt.subplots(figsize=figsize)\n", + " im = ax.imshow(data.isel(time=time_idx), **kwargs)\n", + " ax.axis(\"off\")\n", + "\n", + " # Adjust layout to reduce whitespace\n", + " plt.subplots_adjust(left=0.1, right=0.9, top=0.85, bottom=0.25)\n", + "\n", + " # Main title at the top\n", + " fig.suptitle(title, fontsize=12, y=0.92)\n", + "\n", + " # Datetime under the title\n", + " fig.text(\n", + " 0.5,\n", + " 0.87,\n", + " str(data.time.values[time_idx]).split(\"T\")[0],\n", + " ha=\"center\",\n", + " fontsize=10,\n", + " )\n", + "\n", + " # Horizontal colorbar below the image\n", + " if kwargs.get(\"cmap\"):\n", + " cbar_ax = fig.add_axes([0.15, 0.15, 0.7, 0.03])\n", + " cbar = plt.colorbar(im, cax=cbar_ax, orientation=\"horizontal\")\n", + " cbar.set_label(units_label, fontsize=10, labelpad=3)\n", + " cbar.ax.xaxis.set_label_position(\"top\")\n", + "\n", + " buf = io.BytesIO()\n", + " plt.savefig(buf, format=\"png\", bbox_inches=\"tight\", pad_inches=0.1)\n", + " plt.close(fig)\n", + " buf.seek(0)\n", + " return buf\n", + "\n", + "\n", + "def render_gif(\n", + " data: xr.DataArray,\n", + " title: str,\n", + " fps: int = 4,\n", + " units_label: str | None = None,\n", + " figsize=(10, 10),\n", + " **kwargs,\n", + "):\n", + " # Create frames in memory\n", + " frames = []\n", + " for t in trange(data.sizes[\"time\"]):\n", + " frame = plot_frame(\n", + " data, t, title, figsize=figsize, units_label=units_label, **kwargs\n", + " )\n", + " frames.append(imageio.imread(frame))\n", + "\n", + " gif_bytes = io.BytesIO()\n", + " imageio.mimsave(gif_bytes, frames, format=\"GIF\", fps=fps, loop=0)\n", + " gif_bytes.seek(0)\n", + "\n", + " return Image(data=gif_bytes.read())" + ] + }, + { + "cell_type": "markdown", + "id": "bb680700-57fb-4ff6-a9f4-74f83bc8d3d3", + "metadata": {}, + "source": [ + "Here is a view of the images collected during July:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "a0bdcf7c-ec05-48ce-9a4a-5a51431ad429", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "eacb269b9ad64d70bcdb70ba771634a9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/19 [00:00" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# massage the xarray.Dataset into an RGB array that is ready to plot (scaled 0-1)\n", + "rgb_max = 1000\n", + "\n", + "rgb_stack = (\n", + " (\n", + " stack.to_dataarray(dim=\"band\")\n", + " .sel(band=[\"red\", \"green\", \"blue\"])\n", + " .where(aoi_mask)\n", + " .where(stack[\"red\"] != -9999.0)\n", + " .transpose(\"y\", \"x\", \"band\", \"time\")\n", + " .sel(time=slice(\"2024-07-01\", \"2024-07-31\"))\n", + " )\n", + " / rgb_max\n", + ").clip(0, 1)\n", + "\n", + "render_gif(\n", + " rgb_stack,\n", + " \"HLS: July 2024 in DeKalb County, IL\",\n", + " vmin=0,\n", + " vmax=1000,\n", + " figsize=(10, 10),\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "5b36c0f6-b4be-4be8-99c7-0c8830e5345b", + "metadata": {}, + "source": [ + "There are a lot of clouds! That could be a problem for our site-monitoring application, but since we have such a rich time series from the combined Landsat and Sentinel-2 dataset, we can still work with it as long as we know how to mask out the clouds and cloud shadows.\n", + "\n", + "The Fmask band contains the information we need to identify pixels we want to exclude from downstream analysis. We need the integer representation for values where any of bits 1, 2, and 3 are `1`." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "10035875", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "14\n" + ] + } + ], + "source": [ + "hls_mask_bitfields = [1, 2, 3] # cloud shadow, adjacent to cloud shadow, cloud\n", + "hls_bitmask = 0\n", + "for field in hls_mask_bitfields:\n", + " hls_bitmask |= 1 << field\n", + "\n", + "print(hls_bitmask)" + ] + }, + { + "cell_type": "markdown", + "id": "eb94f2a9-9c5c-41bc-b98e-4c89d8903bca", + "metadata": {}, + "source": [ + "We can use the bitwise `&` operator to compare the Fmask array to the integer value to mark pixels that meet are either clouds, cloud shadows, or adjacent to cloud shadows. Green pixels in the GIF represent \"clean\" values." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "48ac8974-6823-4cc6-a373-3405b93f1cfb", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "adc943ca1469469fb86b3b7ad545d834", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/19 [00:00" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fmask = stack[\"Fmask\"].astype(\"uint16\")\n", + "valid_mask = ((fmask & hls_bitmask) == 0).where(aoi_mask)\n", + "\n", + "render_gif(\n", + " valid_mask.sel(time=slice(\"2024-07-01\", \"2024-07-31\")),\n", + " \"HLS valid mask: July 2024 in DeKalb County, IL\",\n", + " vmin=0,\n", + " vmax=1,\n", + " cmap=\"Greens\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "42de16eb-9606-4975-8197-6af7825de6f0", + "metadata": {}, + "source": [ + "We can use the valid pixel mask to identify dates when the images are at least 50% valid for our area of interest and exclude those that are not." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "c53c7e60", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "valid_proportions = valid_mask.mean(dim=[\"x\", \"y\"], skipna=True)\n", + "\n", + "valid_threshold = 0.5\n", + "valid_datetimes = valid_proportions >= valid_threshold" + ] + }, + { + "cell_type": "markdown", + "id": "ad6a3db2-ce1e-4bf6-a5c5-e0a2cad23166", + "metadata": {}, + "source": [ + "`cloud_free_stack` is a filtered version of the full imagery stack, where mostly cloudy images have been excluded and invalid pixels masked out. We are calling the `compute()` method to load the data into memory since we will use it for several subsequent operations, but you could skip that in real applications." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "33226705", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset> Size: 2GB\n",
+       "Dimensions:      (time: 53, y: 2027, x: 1073)\n",
+       "Coordinates:\n",
+       "  * y            (y) float64 16kB 2.152e+06 2.152e+06 ... 2.091e+06 2.091e+06\n",
+       "  * x            (x) float64 9kB 5.79e+05 5.79e+05 ... 6.111e+05 6.112e+05\n",
+       "    spatial_ref  int32 4B 5070\n",
+       "  * time         (time) datetime64[ns] 424B 2024-04-12T17:01:56.375150 ... 20...\n",
+       "Data variables:\n",
+       "    red          (time, y, x) float32 461MB nan nan nan nan ... nan nan nan nan\n",
+       "    green        (time, y, x) float32 461MB nan nan nan nan ... nan nan nan nan\n",
+       "    blue         (time, y, x) float32 461MB nan nan nan nan ... nan nan nan nan\n",
+       "    nir08        (time, y, x) float32 461MB nan nan nan nan ... nan nan nan nan\n",
+       "    Fmask        (time, y, x) float32 461MB nan nan nan nan ... nan nan nan nan
" + ], + "text/plain": [ + " Size: 2GB\n", + "Dimensions: (time: 53, y: 2027, x: 1073)\n", + "Coordinates:\n", + " * y (y) float64 16kB 2.152e+06 2.152e+06 ... 2.091e+06 2.091e+06\n", + " * x (x) float64 9kB 5.79e+05 5.79e+05 ... 6.111e+05 6.112e+05\n", + " spatial_ref int32 4B 5070\n", + " * time (time) datetime64[ns] 424B 2024-04-12T17:01:56.375150 ... 20...\n", + "Data variables:\n", + " red (time, y, x) float32 461MB nan nan nan nan ... nan nan nan nan\n", + " green (time, y, x) float32 461MB nan nan nan nan ... nan nan nan nan\n", + " blue (time, y, x) float32 461MB nan nan nan nan ... nan nan nan nan\n", + " nir08 (time, y, x) float32 461MB nan nan nan nan ... nan nan nan nan\n", + " Fmask (time, y, x) float32 461MB nan nan nan nan ... nan nan nan nan" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cloud_free_stack = stack.where(valid_mask == 1).sel(time=valid_datetimes).compute()\n", + "\n", + "cloud_free_stack" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "943ee8b9-263e-4a31-96b3-60d15b5e1e38", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c977482da8b1428f826d52552e432fe5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/53 [00:00" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "render_gif(\n", + " (\n", + " (\n", + " cloud_free_stack.to_dataarray(dim=\"band\")\n", + " .sel(band=[\"red\", \"green\", \"blue\"])\n", + " .transpose(\"y\", \"x\", \"band\", \"time\")\n", + " )\n", + " / rgb_max\n", + " ).clip(0, 1),\n", + " \"HLS (cloud free): April - October 2024 in DeKalb County, IL\",\n", + " vmin=0,\n", + " vmax=1000,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d8164b06-11f7-491a-8c4b-bce54c4bdcea", + "metadata": {}, + "source": [ + "### Land cover data\n", + "Our crop monitoring analysis would be much simpler if we used an existing dataset to identify pixels in croplands. The Planetary Computer catalog contains a 10-meter resolution annual land cover dataset for 2017-2023. We can create a data cube from this dataset that can be easily combined with our satellite imagery data cube." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "4ce23736", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'data' (time: 7, y: 2027, x: 1073)> Size: 15MB\n",
+       "dask.array<data, shape=(7, 2027, 1073), dtype=uint8, chunksize=(1, 2027, 1073), chunktype=numpy.ndarray>\n",
+       "Coordinates:\n",
+       "  * y            (y) float64 16kB 2.152e+06 2.152e+06 ... 2.091e+06 2.091e+06\n",
+       "  * x            (x) float64 9kB 5.79e+05 5.79e+05 ... 6.111e+05 6.112e+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
" + ], + "text/plain": [ + " Size: 15MB\n", + "dask.array\n", + "Coordinates:\n", + " * y (y) float64 16kB 2.152e+06 2.152e+06 ... 2.091e+06 2.091e+06\n", + " * x (x) float64 9kB 5.79e+05 5.79e+05 ... 6.111e+05 6.112e+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" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# get land cover from Impact Obseratory\n", + "landcover_collection_id = \"io-lulc-annual-v02\"\n", + "\n", + "landcover_search = catalog.search(\n", + " collections=landcover_collection_id,\n", + " bbox=bbox,\n", + ")\n", + "\n", + "landcover_items = landcover_search.item_collection()\n", + "\n", + "landcover_stack = odc.stac.load(\n", + " landcover_items,\n", + " crs=target_crs,\n", + " resolution=30,\n", + " dtype=\"uint8\",\n", + " chunks={},\n", + " x=(bbox_5070[0], bbox_5070[2]),\n", + " y=(bbox_5070[1], bbox_5070[3]),\n", + ")[\"data\"].squeeze()\n", + "\n", + "landcover_stack" + ] + }, + { + "cell_type": "markdown", + "id": "dd96c761-0c4f-41cb-83d0-c65eb0089e64", + "metadata": {}, + "source": [ + "Filter the annual datacube down to the 2023 layer so we can use it to classify pixels in the rest of the analysis." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "40f0f363", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'data' (y: 2027, x: 1073)> Size: 2MB\n",
+       "dask.array<getitem, shape=(2027, 1073), dtype=uint8, chunksize=(2027, 1073), chunktype=numpy.ndarray>\n",
+       "Coordinates:\n",
+       "  * y            (y) float64 16kB 2.152e+06 2.152e+06 ... 2.091e+06 2.091e+06\n",
+       "  * x            (x) float64 9kB 5.79e+05 5.79e+05 ... 6.111e+05 6.112e+05\n",
+       "    spatial_ref  int32 4B 5070\n",
+       "Attributes:\n",
+       "    nodata:   0
" + ], + "text/plain": [ + " Size: 2MB\n", + "dask.array\n", + "Coordinates:\n", + " * y (y) float64 16kB 2.152e+06 2.152e+06 ... 2.091e+06 2.091e+06\n", + " * x (x) float64 9kB 5.79e+05 5.79e+05 ... 6.111e+05 6.112e+05\n", + " spatial_ref int32 4B 5070\n", + "Attributes:\n", + " nodata: 0" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "baseline_landcover = landcover_stack.sel(time=\"2023\").drop_vars(\"time\").squeeze()\n", + "baseline_landcover" + ] + }, + { + "cell_type": "markdown", + "id": "1d8899c8-f5d8-487d-8e40-b4ef7417ee00", + "metadata": {}, + "source": [ + "The land cover data are stored as integers; this cell contains the integer/label mapping." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "4de63fe6-a13a-4d3d-93cb-4f72f5ccbe2d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "IO_LANDCOVER_CLASSIFICATION_VALUES = {\n", + " 0: \"no data\",\n", + " 1: \"water\",\n", + " 2: \"trees\",\n", + " 4: \"flooded vegetation\",\n", + " 5: \"crops\",\n", + " 7: \"built area\",\n", + " 8: \"bare ground\",\n", + " 9: \"snow/ice\",\n", + " 10: \"clouds\",\n", + " 11: \"rangeland\",\n", + "}\n", + "\n", + "landcover_values = np.array(list(IO_LANDCOVER_CLASSIFICATION_VALUES.keys()))\n", + "landcover_labels = np.array(list(IO_LANDCOVER_CLASSIFICATION_VALUES.values()))\n", + "\n", + "label_mapping = xr.DataArray(\n", + " landcover_values,\n", + " dims=[\"landcover_class\"],\n", + " coords={\"landcover_class\": landcover_labels},\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d0fc95c9-1350-4fbd-8640-947e9bf023bf", + "metadata": {}, + "source": [ + "One clever thing we can do is add the land cover values as coordinates to the imagery data cube! This will make summarization more convenient later on." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "3262c19f-68cd-4fe9-9439-494a8f1bb4cb", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "cloud_free_with_landcover = cloud_free_stack.assign_coords(\n", + " coords={\"landcover_class\": ((\"y\", \"x\"), baseline_landcover.data)}\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "183521c8-3e7b-42ae-80b8-471a65747789", + "metadata": {}, + "source": [ + "### NDVI\n", + "\n", + "Normalized Difference Vegetation Index (NDVI) is a good proxy for vegetation health, so we will use it for our crop monitoring operations. The next cell creates a 3D NDVI array with invalid pixel observations masked out." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "edc87c1a", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b915014e52ef40deaf09af213defc946", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/53 [00:00" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ndvi = (cloud_free_with_landcover[\"nir08\"] - cloud_free_with_landcover[\"red\"]) / (\n", + " cloud_free_with_landcover[\"nir08\"] + cloud_free_with_landcover[\"red\"]\n", + ")\n", + "\n", + "ndvi = ndvi.where(np.isfinite(ndvi))\n", + "\n", + "render_gif(\n", + " (ndvi.transpose(\"y\", \"x\", \"time\")),\n", + " \"NDVI: April - October 2024 in DeKalb County, IL\",\n", + " vmin=-1,\n", + " vmax=1,\n", + " cmap=\"RdYlGn\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "f3c6ec00-2801-48e4-85c7-094c6e5d0db1", + "metadata": {}, + "source": [ + "To identify anomalies, we will compare individual pixel image-over-image NDVI changes to the average image-over-image change for the entire crop land cover class. The following cell computes a smoothed NDVI trend for the whole time series of our imagery stack." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "761c0bc1-402a-44d9-9201-2959d6910257", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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QDdt2qQ77rhDN9xwg6Sq63dOnDhRo42zs7PGjx+v8ePH64knnpCfn5/WrVunG2+8USaTSSNHjtTIkSP1+OOPKzw8XJ988onmzp1b5/l279593nrO9z+Z6k9df3z9YfXzhv7PF2jp6OPOry33cT9W/Y/KJUuWyN3dvUGLIAEtDf3Z+bWX/qw+MTExeu6555SWlmabpbB69Wq5ubmxdo6dCNZokK5du8rV1VUvv/yyZs+erX379umZZ5654OM89NBDuv322xUdHa1Ro0Zp6dKl2r9/v7p3725r8+STT2r27NkKDAzUpEmTVFBQoC1btuiBBx7Q+PHjNWjQIN12221auHChKioqdO+992rs2LE1pgHdeOONuueee3TPPfdo3LhxNabN3HfffXrjjTd066236pFHHlFAQICOHTumDz74QG+88Uajpv6NHTtWY8aM0U033aQFCxYoMjJShw4dkslk0lVXXVWrfWRkpD7++GNNnjxZJpNJf/rTn2qE1C+++ELHjx/XmDFj1KFDB61cuVJWq1W9e/fWtm3btHbtWsXGxiowMFDbtm3T6dOna/xPqq7zNVZMTIw6dOig22+/XY8//rg8PDz0xhtvKDExUddcc02jjwu0JPRx59eW+zhJ+uc//6kRI0bI29tbcXFxeuSRR/T888/Xew9YoCWjPzu/tt6fJSUlKScnR0lJSaqsrLQF9cjISHl7eys2Nlb9+vXT9OnT9be//U05OTn63e9+p1//+tfy9fW169ztnuMu70ZL99OFMN5//32jW7duhpubmxETE2N8/vnnhiTbIlbVC2GcOXPGtk98fLwhyUhMTLRte+6554yAgADD29vbuP32243f//73NRbCMAzDePXVV43evXsbLi4uRkhIiPHAAw/YXjt58qRx3XXXGV5eXoaPj49x8803G+np6bXqv/nmmw1JxpIlS2q9duTIEeOGG24w/Pz8DA8PD6NPnz7GnDlzDKvVWud7b4js7GzjzjvvNPz9/Q13d3djwIABxhdffGEYRu0FJBITE41x48YZHh4eRlhYmPHPf/6zxjk3bdpkjB071ujQoYPh4eFhDBo0yFi+fLlhGIZx4MABY+LEiUanTp0MNzc3o1evXrYFNC6W7777zoiNjTU6duxo+Pj4GJdddpmxcuXKi3pO4GKjj3uo1n7n05b7uOnTpxsdO3Y0XF1djUGD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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "avg_ndvi_trend = (\n", + " ndvi.groupby(landcover_class=xr.groupers.UniqueGrouper(labels=landcover_values))\n", + " .mean(dim=[\"x\", \"y\"], skipna=True)\n", + " .chunk({\"time\": -1})\n", + " .interpolate_na(dim=\"time\", method=\"linear\", limit=3)\n", + " .rolling(time=3, center=True)\n", + " .mean()\n", + " .assign_coords(coords={\"landcover_name\": (\"landcover_class\", landcover_labels)})\n", + " .rename(\"ndvi\")\n", + " .drop_vars(\"spatial_ref\")\n", + " .compute()\n", + ")\n", + "\n", + "xr.plot.line(\n", + " avg_ndvi_trend,\n", + " x=\"time\",\n", + " col=\"landcover_class\",\n", + " col_wrap=3,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "547cd29e-4e22-482c-9fa8-196d3e9f5b62", + "metadata": {}, + "source": [ + "We will evaluate the image-over-image change to identify pixels where the change is highly negative when most other crop pixels show an increase in NDVI." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "104ef85e", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "avg_ndvi_delta = (\n", + " avg_ndvi_trend.diff(dim=\"time\", n=1)\n", + " .rolling(time=5, center=True)\n", + " .mean()\n", + " .rename(\"ndvi change\")\n", + ")\n", + "\n", + "xr.plot.line(\n", + " avg_ndvi_delta.sel(landcover_class=5),\n", + " x=\"time\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "4e1eed62-3841-45cd-8e1f-f3e4adc631c2", + "metadata": {}, + "source": [ + "### Anomaly detection\n", + "\n", + "The difference between a pixel's image-over-image change and the expected value (average) for the entire cropland cover class at a given point in time represents the \"deviation from expectation.โ€ Pixels with highly negative values may have experienced an unexpected decline in vegetation health." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "8589227d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "pixel_baseline_ndvi_delta = avg_ndvi_delta.sel(landcover_class=baseline_landcover)\n", + "\n", + "pixel_ndvi_delta = ndvi.diff(dim=\"time\", n=1)\n", + "\n", + "deviation_over_time = pixel_ndvi_delta - pixel_baseline_ndvi_delta" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "21f0f1ff-f1c8-4b60-af58-47a6ae8cfd45", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "11db19f0e34b460ebf12633ca8ad5757", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/52 [00:00" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "render_gif(\n", + " (deviation_over_time.transpose(\"y\", \"x\", \"time\")),\n", + " \"NDVI deviation from expectation: April - October 2024 in DeKalb County, IL\",\n", + " vmin=-0.3,\n", + " vmax=0.3,\n", + " cmap=\"RdYlGn\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "8e536dbf-f344-4157-9368-6095b354389a", + "metadata": {}, + "source": [ + "We are trying to find areas that showed **decreased** NDVI when similar pixels **increased**.\n", + "\n", + "Now define a threshold for classifying a pixel as having an anomalous decrease in NDVI. Pixels where the difference between its change in NDVI and the expected value is at least as negative as the threshold will be classified as anomalies." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "12063dd2-ed9b-48e9-818a-c273fa2e50b5", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "threshold = -0.2\n", + "\n", + "crop_anomalies = (\n", + " (deviation_over_time < threshold)\n", + " & (pixel_baseline_ndvi_delta > 0)\n", + " & (baseline_landcover == 5).compute()\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "368adfc6-ae59-4632-8cc5-22d746833dda", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d1dc488f905146998674be42157e6ae8", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/52 [00:00" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "render_gif(\n", + " (\n", + " (1 * crop_anomalies)\n", + " .where(baseline_landcover == 5)\n", + " .where(aoi_mask == 1)\n", + " .transpose(\"y\", \"x\", \"time\")\n", + " ),\n", + " \"NDVI anomalies in crops: April - October 2024 in DeKalb County, IL\",\n", + " vmin=0,\n", + " vmax=1,\n", + " cmap=\"viridis\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "a32c9202-a257-4c30-ba82-277e144b2b09", + "metadata": {}, + "source": [ + "To capture the actual date of the first anomalous event in the time series, use the `idxmax` method. This will calculate the time coordinate values where each pixel had a marked anomaly (`True` in the `crop_anomalies` array)." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "4c30abf1-bd38-47ad-8e97-0a676f8a174d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "anomaly_time = crop_anomalies.idxmax(dim=\"time\")" + ] + }, + { + "cell_type": "markdown", + "id": "bb590790-b05a-4a98-bfed-2d021f37491e", + "metadata": {}, + "source": [ + "For plotting, we want to express the anomaly date as a numeric value like \"number of days from the beginning of the time series\"." + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "4b510a87-59fa-465a-9f60-32e31e4b34f9", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "start_time = crop_anomalies.time.min() # This is an xarray DataArray scalar\n", + "\n", + "# get difference between anomaly datetime and first image time\n", + "anomaly_delta = anomaly_time - start_time\n", + "\n", + "# convert to days\n", + "n_days = (anomaly_delta / np.timedelta64(1, \"D\")).where(crop_anomalies.any(dim=\"time\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "de327517-bd99-4c58-9d44-fbe527fea820", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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t2fr16+X93nppZdYdHQ027x5MysvL2cPPvigyzRCo1y3kmu+cOECO3DgAPvoo48YAPbOO++wAwcOsOrqakNeM+EdUwm4lOsbFhbGEhMT2aRJk9jhw4fl96urq1lWVhZLTExkbdu2Zf369WN//OMfHdKarl+/znJzc1lMTAxr164dGz9+PDtz5ozDeS5cuMCmTZvGIiMjWWRkJJs2bRq7ePGiwz6nT59m9957L2vXrh2LiYlhubm5DilVjDF28OBBNmrUKBYREcESEhLYwoULVadYebvmZcuWsR49erCwsDB20003seeee47V19c7tGG0a2aMsf/7v/9jqampLCIigvXv35+99dZbDu/bbDa2YMEClpCQwCIiItidd97JysvLDX3d3q65sLCQAWi1LViwwLDXTHiGyskSBEEYFFN74ARBEGaGBJwgCMKgkIATBEEYFBJwgiAIg0ICThAEYVBIwAmCIAwKCThBEIRBIQEnCIIwKCTghOZUVlbKy7sNGTJE7+6oRup7p06d9O4KQXiEBJzgxscff4x//vOf3M+TlZWFiRMnatZedXU1li5dqll7BMELEnCCG7GxsYiNjdW7GzKNjY2K9ktISEB0dDTn3hCE/5CAEx45f/48EhIS5IUEgJbyouHh4SguLlbVlhQpL168GPHx8ejUqRMWLVqEpqYm/PrXv0ZMTAx69OiB1atXOxxXVVWFKVOmoHPnzoiNjcX9998vL8u1cOFCrF27Fh9++KFsfezcuVO2cTZt2oQxY8agbdu2WL9+PQCgsLAQAwYMQNu2bdG/f3+88cYb/n1IBKEXelfTIsTno48+YmFhYWzfvn3s8uXLrHfv3mz27Nlu93e3qO6jjz7KIiMjWU5ODjty5Aj785//zACwcePGsRdffJEdO3aM/f73v2dhYWFyhbyrV6+yPn36sMcff5wdPHiQff3112zq1KmsX79+rL6+nl2+fJlNnjyZZWZmsurqalZdXc3q6+vlPiQnJ7P333+fnTx5klVVVbG33nqLdevWTX7t/fffZzExMWzNmjUOfS0sLGTR0dEaf5IEoS0k4IQiZs6cyfr27cumTZvGUlNT2fXr193u60nAe/bsyZqbm+XX+vXrx0aNGiX/3tTUxDp06MA2btzIGGPsz3/+M+vXr59DGdL6+nrWrl07tm3bNrnd+++/32Ufli5d6vB6UlIS27Bhg8Nrv//979ntt9/u8BoJOGEETLUmJsGPV155Bampqdi0aRO++uorh5Xu1TBo0CCHVZHi4+ORmpoq/x4aGorY2Fh5+a3S0lJUVFQgMjLSoZ0bN27gxIkTXs83bNgw+efz58/j7NmzmD59On75y1/Krzc1NZHnTRgSEnBCESdPnsS5c+dgs9lw+vRp3HLLLT61ExYW5vC7xWJx+Zq0zJ3NZsPQoUPxl7/8pVVbXbt29Xq+Dh06yD9Lba5atQq33Xabw36hoaHKLoAgBIIEnPBKQ0MDpk2bhilTpqB///6YPn06ysvLA7I47a233op3330XcXFxiIqKcrlPeHg4mpubvbYVHx+P7t274+TJk5g2bZrWXSWIgENZKIRX5s+fD6vVitdeew1z587FgAEDMH369ICce9q0aejSpQvuv/9+fPrppzh16hRKSkowe/ZsfPvttwCA5ORkHDx4EEePHsV3333nMV1w4cKFyM/Px7Jly3Ds2DGUl5ejsLAQS5YsCcj1EISWkIATHtm5cyeWLl2Kt99+G1FRUQgJCcHbb7+N3bt3Y8WKFdzP3759e+zatQs33XQTJk2ahAEDBuDxxx/H9evX5Yj8l7/8Jfr164dhw4aha9eu+Oyzz9y298QTT+BPf/oT1qxZg7S0NIwePRpr1qxBSkoK92shCK2hNTEJzamsrERKSgoOHDhgyKn0ALBmzRrk5eXh0qVLeneFINxCHjjBjREjRmDIkCHYs2eP3l1RRceOHdHU1ORzpg1BBAoScEJzevTogePHjwMAIiIidO6NesrKygBQZgohPmShEARBGBQaxCQIgjAoJOAEQRAGhQScIAjCoJCAEwRBGBQScIIgCINCAk4QBGFQSMAJgiAMCgk4QRCEQfn/GolaaHiGNBsAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "n_days.drop_vars(\"spatial_ref\").plot.imshow(\n", + " aspect=stack.rio.width / stack.rio.height,\n", + " size=6,\n", + " robust=True,\n", + " vmin=0,\n", + " vmax=n_days.max(),\n", + " cmap=\"Reds_r\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "36367f13-7489-4e60-b6c9-cf55f924d6ff", + "metadata": {}, + "source": [ + "Plot it in an interactive map! Brighter red values indicate an earlier anomalous event." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "b9e2323e-bf4b-4427-acd4-00f8d97f039b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "n_days.rio.set_crs(target_crs)\n", + "n_days_4326 = n_days.astype(int).rio.reproject(\"epsg:4326\")" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "61fd8b5d-5771-49b3-8a64-d8b6bc496312", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "m = folium.Map([lat, lon], zoom_start=10)\n", + "\n", + "minx, miny, maxx, maxy = n_days_4326.rio.bounds()\n", + "\n", + "folium.raster_layers.ImageOverlay(\n", + " name=\"ndvi anomalies\",\n", + " image=n_days_4326.data,\n", + " bounds=[[miny, minx], [maxy, maxx]],\n", + " colormap=lambda x: (1, 0, 0, (x > 0) * (1.0 - x / 100.0)),\n", + ").add_to(m)\n", + "\n", + "folium.features.GeoJson(\n", + " data=aoi,\n", + " name=\"DeKalb County, IL\",\n", + ").add_to(m)\n", + "\n", + "folium.LayerControl().add_to(m)\n", + "\n", + "m" + ] + }, + { + "cell_type": "markdown", + "id": "12847ad0-3036-4345-b42f-098eabd706db", + "metadata": {}, + "source": [ + "### Export for tabular analysis\n", + "The anomalous point observations can be exported from the `xarray.DataArray` as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "60f0ffd1-c868-493e-88ce-c31aa91ec1ef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexlonlattime
06260-88.61166542.1535002024-06-06 16:34:27.189527
16261-88.61130142.1534792024-06-06 16:34:27.189527
27334-88.61132942.1532122024-06-06 16:34:27.189527
37335-88.61096542.1531912024-06-06 16:34:27.189527
48389-88.61791642.1533192024-06-06 16:34:27.189527
...............
734002167619-88.93461041.6297252024-05-19 16:51:58.748290
734012167620-88.93424941.6297052024-05-19 16:51:58.748290
734022167621-88.93388741.6296852024-05-19 16:51:58.748290
734032171907-88.93616541.6287352024-05-19 16:51:58.748290
734042172977-88.93727741.6285272024-05-19 16:51:58.748290
\n", + "

73405 rows ร— 4 columns

\n", + "
" + ], + "text/plain": [ + " index lon lat time\n", + "0 6260 -88.611665 42.153500 2024-06-06 16:34:27.189527\n", + "1 6261 -88.611301 42.153479 2024-06-06 16:34:27.189527\n", + "2 7334 -88.611329 42.153212 2024-06-06 16:34:27.189527\n", + "3 7335 -88.610965 42.153191 2024-06-06 16:34:27.189527\n", + "4 8389 -88.617916 42.153319 2024-06-06 16:34:27.189527\n", + "... ... ... ... ...\n", + "73400 2167619 -88.934610 41.629725 2024-05-19 16:51:58.748290\n", + "73401 2167620 -88.934249 41.629705 2024-05-19 16:51:58.748290\n", + "73402 2167621 -88.933887 41.629685 2024-05-19 16:51:58.748290\n", + "73403 2171907 -88.936165 41.628735 2024-05-19 16:51:58.748290\n", + "73404 2172977 -88.937277 41.628527 2024-05-19 16:51:58.748290\n", + "\n", + "[73405 rows x 4 columns]" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "transformer = pyproj.Transformer.from_crs(\n", + " crs_from=target_crs,\n", + " crs_to=4326,\n", + " always_xy=True,\n", + ")\n", + "\n", + "_df = (\n", + " anomaly_time.where(crop_anomalies.any(dim=\"time\"))\n", + " .drop_vars(\"spatial_ref\")\n", + " .to_dataframe()\n", + " .reset_index()\n", + ")\n", + "\n", + "_df[\"lon\"], _df[\"lat\"] = transformer.transform(_df[\"x\"], _df[\"y\"])\n", + "\n", + "df_out = _df[~np.isnan(_df[\"time\"])][[\"lon\", \"lat\", \"time\"]].reset_index()\n", + "\n", + "df_out" + ] + }, + { + "cell_type": "markdown", + "id": "4939629d", + "metadata": {}, + "source": [ + "### โœ… Next Steps \n", + "This notebook explored time-series vegetation monitoring using HLS (Harmonized Landsat and Sentinel-2) imagery and NDVI to track changes in vegetation health over time for a defined location.\n", + "\n", + "To continue learning about site monitoring workflows, check out the next notebook:\n", + "\n", + "๐Ÿ‘‰ (climate-risk.ipynb)[tutorial/climate-risk.ipynb] \n", + "This advanced notebook focuses on extreme weather conditions that could lead to wildfire events. It explores using additional indices, temporal filtering, and geospatial joins to infrastructure data.\n", + "\n", + "#### ๐Ÿ’ก Other ideas to try: \n", + "- Compare NDVI trends across multiple years to analyze drought or regrowth \n", + "- Combine NDVI with precipitation or temperature datasets for deeper insights \n", + "- Use zonal statistics to summarize NDVI by land parcel or administrative boundary \n", + "- Export aggregated time series to CSV or GeoParquet for downstream analysis\n", + "\n", + "### ๐Ÿ“Ž Supporting Materials \n", + "- HLS STAC collection on Planetary Computer \n", + "- NDVI overview โ€“ USGS \n", + "- STAC specification \n", + "- Xarray documentation \n", + "- Planetary Computer Explorer " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}