{ "cells": [ { "cell_type": "markdown", "id": "abab5b46", "metadata": {}, "source": [ "# gNATSGO" ] }, { "cell_type": "code", "execution_count": 1, "id": "f89198a8", "metadata": {}, "outputs": [], "source": [ "import os\n", "from pcxarray import pc_query, prepare_data\n", "from pcxarray.utils import load_census_shapefile\n", "from distributed import Client\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "id": "22c92ff4", "metadata": {}, "outputs": [], "source": [ "states_gdf = load_census_shapefile(level='state', verify=False)\n", "ms_gdf = states_gdf[states_gdf['NAME'] == 'Mississippi']\n", "ms_gdf = ms_gdf.to_crs(epsg=3814)\n", "geom = ms_gdf.geometry.union_all()" ] }, { "cell_type": "code", "execution_count": 3, "id": "3f99c250", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 10 items in the GNATSGO collection.\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "items_gdf = pc_query(\n", " collections='gnatsgo-rasters',\n", " geometry=geom,\n", " crs=ms_gdf.crs,\n", ")\n", "print(f\"Found {len(items_gdf)} items in the GNATSGO collection.\")\n", "\n", "fig, ax = plt.subplots(figsize=(5, 10))\n", "ms_gdf.plot(ax=ax, color='lightgrey', edgecolor='black')\n", "items_gdf.plot(ax=ax, alpha=0.2)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "id": "7e7b7262", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dask client dashboard: http://127.0.0.1:8787/status\n" ] } ], "source": [ "client = Client(processes=True)\n", "print(f\"Dask client dashboard: {client.dashboard_link}\")" ] }, { "cell_type": "code", "execution_count": 5, "id": "a5837e15", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Constructing dask computation graph: 100%|██████████| 10/10 [00:00<00:00, 94.69tiles/s]\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'reproject-1bd0dd4e259f40db9715e6cbf77d5b54' (band: 3,\n",
       "                                                                y: 5393, x: 3325)> Size: 215MB\n",
       "dask.array<where, shape=(3, 5393, 3325), dtype=float32, chunksize=(1, 5120, 1685), chunktype=numpy.ndarray>\n",
       "Coordinates:\n",
       "  * band         (band) <U10 120B 'nccpi3corn' 'nccpi3cot' 'nccpi3soy'\n",
       "  * y            (y) float64 43kB 1.578e+06 1.578e+06 ... 1.039e+06 1.039e+06\n",
       "  * x            (x) float64 27kB 3.186e+05 3.186e+05 ... 6.508e+05 6.51e+05\n",
       "    spatial_ref  int32 4B 3814\n",
       "Attributes:\n",
       "    AREA_OR_POINT:  Area\n",
       "    scale_factor:   1.0\n",
       "    add_offset:     0.0\n",
       "    long_name:      National Commodity Crop Productivity Index for Corn (weig...\n",
       "    _FillValue:     nan
" ], "text/plain": [ " Size: 215MB\n", "dask.array\n", "Coordinates:\n", " * band (band) " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 3, figsize=(15, 10), sharex=True, sharey=True)\n", "\n", "nccpi_da.sel(band='nccpi3corn').plot.imshow(ax=ax[0], cmap='cividis', vmin=0, vmax=1, add_colorbar=False)\n", "nccpi_da.sel(band='nccpi3cot').plot.imshow(ax=ax[1], cmap='cividis', vmin=0, vmax=1, add_colorbar=False)\n", "nccpi_da.sel(band='nccpi3soy').plot.imshow(ax=ax[2], cmap='cividis', vmin=0, vmax=1, add_colorbar=False)\n", "\n", "for a in ax:\n", " a.set_aspect('equal')\n", " a.set_xticks([])\n", " a.set_yticks([])\n", " a.set_xlabel('')\n", " a.set_ylabel('')\n", " \n", " # pad the axes to avoid overlap\n", " a.set_xlim(a.get_xlim()[0] - 5000, a.get_xlim()[1] + 5000)\n", " a.set_ylim(a.get_ylim()[0] - 5000, a.get_ylim()[1] + 5000)\n", "\n", "ax[0].set_title('gNATSGO NCCPI Corn')\n", "\n", "ax[1].set_title('gNATSGO NCCPI Cotton')\n", "\n", "ax[2].set_title('gNATSGO NCCPI Soybean')\n", "\n", "fig.colorbar(ax[0].images[0], ax=ax, orientation='horizontal', fraction=0.02, pad=0.02, label='National Commodity Crop Productivity Index')\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.12.10" } }, "nbformat": 4, "nbformat_minor": 5 }