diff --git a/refs/tags/0.7.0/.buildinfo b/refs/tags/0.7.0/.buildinfo new file mode 100644 index 0000000..c8309cc --- /dev/null +++ b/refs/tags/0.7.0/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: c8fbe4efd657da7110a19dbffea1687d +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/refs/tags/0.7.0/.doctrees/authors.doctree b/refs/tags/0.7.0/.doctrees/authors.doctree new file mode 100644 index 0000000..6a1ce1a Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/authors.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/cli.doctree b/refs/tags/0.7.0/.doctrees/cli.doctree new file mode 100644 index 0000000..6eeae3f Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/cli.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/contributing.doctree b/refs/tags/0.7.0/.doctrees/contributing.doctree new file mode 100644 index 0000000..2e1bd79 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/contributing.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/environment.pickle b/refs/tags/0.7.0/.doctrees/environment.pickle new file mode 100644 index 0000000..66dbbe2 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/environment.pickle differ diff --git a/refs/tags/0.7.0/.doctrees/examples/categorical.doctree b/refs/tags/0.7.0/.doctrees/examples/categorical.doctree new file mode 100644 index 0000000..32b5d5c Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/examples/categorical.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/examples/examples.doctree b/refs/tags/0.7.0/.doctrees/examples/examples.doctree new file mode 100644 index 0000000..7b74492 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/examples/examples.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/examples/grid_to_vector_map.doctree b/refs/tags/0.7.0/.doctrees/examples/grid_to_vector_map.doctree new file mode 100644 index 0000000..6a3d1ba Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/examples/grid_to_vector_map.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/examples/rasterize_function.doctree b/refs/tags/0.7.0/.doctrees/examples/rasterize_function.doctree new file mode 100644 index 0000000..244879a Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/examples/rasterize_function.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/examples/rasterize_point_data.doctree b/refs/tags/0.7.0/.doctrees/examples/rasterize_point_data.doctree new file mode 100644 index 0000000..20a1210 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/examples/rasterize_point_data.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/examples/timestamp_missing_data.doctree b/refs/tags/0.7.0/.doctrees/examples/timestamp_missing_data.doctree new file mode 100644 index 0000000..7ecf3b8 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/examples/timestamp_missing_data.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/examples/vectorize.doctree b/refs/tags/0.7.0/.doctrees/examples/vectorize.doctree new file mode 100644 index 0000000..5dc7784 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/examples/vectorize.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/examples/zonal_statistics.doctree b/refs/tags/0.7.0/.doctrees/examples/zonal_statistics.doctree new file mode 100644 index 0000000..29963c4 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/examples/zonal_statistics.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/geocube.doctree b/refs/tags/0.7.0/.doctrees/geocube.doctree new file mode 100644 index 0000000..2b281e4 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/geocube.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/getting_started.doctree b/refs/tags/0.7.0/.doctrees/getting_started.doctree new file mode 100644 index 0000000..12cec43 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/getting_started.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/history.doctree b/refs/tags/0.7.0/.doctrees/history.doctree new file mode 100644 index 0000000..2638b72 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/history.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/index.doctree b/refs/tags/0.7.0/.doctrees/index.doctree new file mode 100644 index 0000000..4c9d827 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/index.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/installation.doctree b/refs/tags/0.7.0/.doctrees/installation.doctree new file mode 100644 index 0000000..065222c Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/installation.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/modules.doctree b/refs/tags/0.7.0/.doctrees/modules.doctree new file mode 100644 index 0000000..069f801 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/modules.doctree differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples/categorical.ipynb b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/categorical.ipynb new file mode 100644 index 0000000..580303f --- /dev/null +++ b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/categorical.ipynb @@ -0,0 +1,783 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Categorical Data" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "import pandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load in soil data" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "ssurgo_data = geopandas.read_file(\"../../test/test_data/input/soil_data_group.geojson\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# original data\n", + "ssurgo_data[ssurgo_data.hzdept_r==15].plot(column='sandtotal_r')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Generate categories for categorical data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If your data is only a subset of all of the data, the list of categories you get will likely not be complete.\n", + "\n", + "NOTE: The categories will be made unique and sorted internally if they are not already." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Somewhat poorly drained',\n", + " 'Poorly drained',\n", + " 'Well drained',\n", + " 'Excessively drained']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# this is only a subset of all of the classes\n", + "ssurgo_data.drclassdcd.drop_duplicates().values.tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# complete list of categories\n", + "drclasses_complete = [\n", + " 'Poorly drained',\n", + " 'Somewhat poorly drained',\n", + " 'Excessively drained',\n", + " 'Subaqueous',\n", + " 'Well drained',\n", + " 'Somewhat excessively drained',\n", + " 'Very poorly drained',\n", + " 'Moderately well drained'\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "categorical_enums = {'drclassdcd': drclasses_complete}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert data to grid\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "out_grid = make_geocube(\n", + " vector_data=ssurgo_data,\n", + " output_crs=\"epsg:32615\",\n", + " group_by='hzdept_r',\n", + " resolution=(-100, 100),\n", + " categorical_enums=categorical_enums\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<xarray.Dataset>\n",
+       "Dimensions:                (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n",
+       "Coordinates:\n",
+       "  * y                      (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n",
+       "  * x                      (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n",
+       "  * hzdept_r               (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n",
+       "  * drclassdcd_categories  (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n",
+       "    spatial_ref            int64 0\n",
+       "Data variables:\n",
+       "    drclassdcd             (hzdept_r, y, x) float64 -1.0 -1.0 -1.0 ... 7.0 7.0\n",
+       "    hzdepb_r               (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n",
+       "    claytotal_r            (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n",
+       "    sandtotal_r            (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n",
+       "    silttotal_r            (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n",
+       "Attributes:\n",
+       "    grid_mapping:  spatial_ref
" + ], + "text/plain": [ + "\n", + "Dimensions: (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n", + "Coordinates:\n", + " * y (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n", + " * x (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n", + " * hzdept_r (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n", + " * drclassdcd_categories (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " drclassdcd (hzdept_r, y, x) float64 -1.0 -1.0 -1.0 ... 7.0 7.0\n", + " hzdepb_r (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n", + " claytotal_r (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n", + " sandtotal_r (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n", + " silttotal_r (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "clay_slice = out_grid.claytotal_r.sel(hzdept_r=15)\n", + "clay_slice.where(clay_slice!=out_grid.claytotal_r.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Dealing with categorical data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because the data needs to be numerical for conversion from vector to raster, the code displays the categories as numbers. To convert back to strings, you will need to use the categories provided to convert back." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY8AAAEWCAYAAACe8xtsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8GearUAAAgAElEQVR4nO3deZwcVb3//9c7IQZZwpJERAJGkeWiN0QImyBLvCCLBhUVuESMyhf1igTuV5TcrwKiuT8RF1RUjFwWBQRBgYAs4QIRZFEmkoSwI4uExWxAWGRJ5v3745wmlWGmp3qmeqYn+Twfj3qk+lTVqdPVkz59dtkmhBBCaMSg/k5ACCGEgScyjxBCCA2LzCOEEELDIvMIIYTQsMg8QgghNCwyjxBCCA2LzGOAkfSopH+rIJ6Zko6oIk2h70k6Q9I3Sp7blM9a0hcl/UPSC5KGVx1/aG2ReYRekTRJ0p9aIB1HSWqT9IqkczocGy3J+UuutnX5xZvPv1HSS5LuqyKz7o3OnrHtL9j+Vj+maQjwA2Af2+vYXlxh3B/Iz/2l/Dm8vaq4Q3Ui8wj9RtLgCqN7Evg2cFadc9bPX3TrdPPF+xvgTmA48P+ASySNrC6prU/SGt2cshGwJnB3xfcdAfwe+AawIdAGXFTlPUI1IvMYmMZKmivpOUkXSVoTQNIVHX5dt0ualI/tnX/NPSfpdEDFCCV9VtK9kp6RdG3x117+1X60pIclLZJ0qqRBkv4FOAPYJd/v2XqJlnSOpJ9LukrSi8BeVT0Q27+3fRnQq1/AkrYEtgNOtP1P278D7gIOKnn91yQ9Iel5SfdL+kAOP0nSJfnzel7SXyVtW7jueEl/y8fukfTRHN7pM87P8tt5fwNJV0pamD+/KyWNavB9T5J0i6QfSloMnCRpqKTvSfp7rp46Q9Kb8zO6P1/6rKQbGrlXNz4G3G37YtsvAycB20rausJ7hApE5jEwfRLYF3gHMAaYBGD7w7Vf1sAngKeB6wu/5r4OjAD+Buxai0zSgcB/kf7jjgRuJv36LvooMI70xXog8Fnb9wJfAG7L912/RNr/HZgKrAu8obpL0s8kPdvFNrdE/PU8Jmm+pLPzM+nMu4GHbT9fCJuTw+uStBVwFLCD7XWBDwKPFk45ELiY9Iv6AuCyXP0D6TN5P7Ae8E3gPEkbl3zGg4CzgbcDmwH/BE7vLr2d2Al4mFSqmAp8B9gSGAu8C9gEOMH2A6x4HuvbHt9ZZHU+x2clHd9FGt5Net4A2H6R9Gy6ff6hb0XmUYeksyQtkDSv5PmfzL8a75Z0QROT9mPbT9peAlxB+s9dTMeWwLnAJ20/DuxP+jV3ie3XgNNIGUvNF4D/z/a9tpcB/00q3RTrmk+xvcT23/P1h/Yw7ZfbvsV2e/5luRLb/2F7/S62MT285yJgB9KX6/akjOv8Ls5dB3iuQ9hz+ZruLAeGAttIGmL7Udt/KxyfVfgMfkCq9tkZIP/SfjI/l4uAB4Edy7w524tt/872SznTmwrsUebaDp60/ZP8N/AycCRwbP7cnyf9XRxSNrI6n+P6tr/TxWW9ef6hD0XmUd85pF/43ZK0BTAF2NX2u4Fjmpiu4hf/S6T/cLV0rAdcDnzddu2X/duAx2vnOM2G+XghjrcDP6r9KgSWkKq1NimcUzz/sRxnTzze/SnVsv2C7Tbby2z/g1Q62EdSZ19ILwDDOoQNA57v5NyO93mI9LmfBCyQdKGk4nMqfgbtwHzyc5R0uKTZhc/gPaRSYrckrSXpF5Iek7QUuAlYvwdtSsXPZiSwFjCrkKZrcngz9fj5h74VmUcdtm8ifZG+TtLmkq6RNEvSzYW62P8D/NT2M/naBX2cXCQNIlWH3Gh7WuHQU8CmhfNUfE360vh8h1+Gb7Z9a+Gc4vmbkRqoARqdlrnu+ble/YUutqoaZ2tp6Ozv/27gnR0ylm0p2TBs+wLbu5EyZAOnFA4XP4NBwCjgyVzC+yUpUxueq6bmsaJdqrtn/H+BrYCdbA8Ddq/dpkyai8kv7C8iVX+9u/A3sV6uEi2lzuf4gqT/6uKyu0nPuxbH2sDmVNwwH3ovMo/GTQO+bHt74CvAz3L4lsCWudHxdkmlSiwVmwqsDUzuEP4H4N2SPqbUi+Zo4K2F42cAUyS9G1LpRdInOsRxXG6Y3TTHX+sB8w9glKQ3VfEGchfUdbrYuqz3lrSGUseBwcBgSWvm94qknSRtpdTIPxz4MTDTdsfqEXJ9/mzgxBzHR0ntSr/Lce0pqdMv83yP8ZKGkqp9/gm0F07ZvvAZHAO8AtxO+swMLMzxfIZU8qjp7hmvm+/1rKQNgRO7ek5l5ZLRL4EfSnpLTtcmkj7YQBxdfY7r2P7vLi67FHiPpIPy53kCMNf2fb19T6FakXk0QNI6wPuAiyXNBn4BbJwPrwFsAexJag/4paQyDchVOpRUh/5M4RfeYbYXkRrQv0PqjbQFcEvtItuXkn4hX5irPeYB+3WI+3JgFumL9Q/A/+TwG0i/Cp+WtKhp76x7Xyd9gR4PTMz7X8/H3kmqcnme9N5eodBmk0s7ZxTiOoTUOeAZ0jP7uO2F+dimQLFEVjQ0n7+IVLX4FlJVZs3lwME53k8BH7P9mu17gO8Dt5Eyin+l8PnQ/TM+DXhzvu/t+b1W4WvAQ8Dt+e/if0klnKbJz/kg0g+hZ0iN+KXbWULfUSwGVZ+k0cCVtt8jaRhwv+2NOznvDODPts/Or68Hjrd9R1+mtxnyL+0tcp3+ak3SmcDFtq9t8LqTgHfZntiUhIXQx6Lk0QDbS4FHalU6Smr1s5eRSh21gU5bkro9hlWI7SMazThCWBVF5lGHpN+QqhK2Uhof8DngMOBzkuaQqhIOzKdfCyyWdA9wI3CcK5yyYaDI3ZQ7ayA9rL/Ttrqr0xnhjO6vDgNFbnubXdiWSqq892dUW4UQwioqd9d+gtQT77Eq446SRwghrLo+APyt6owDUg+h0IkRI0Z49OjR/Z2M0I17H/lHfydhJf8yamH3J4XWMeQ93Z/TjVmzZi2y3avBkx/ca20vXrK83P3mvnI3qSt4zbQO47qKDuGNUw1VIjKPLowePZq2trb+Tkboxk6f+kF/J2Elt50azQcDyaC39v7/uKRe/6pfvGQ5f7l2s1LnDt74wZdtjyuRrjcBE1i5u3hlIvMIIYR+ZqB9pfGkldgP+GuekqdykXmEEEI/M+Y1l6u2asChNKnKCiLzCCGEllBlySPPCbY38PnKIu0gMo8QQuhnxiyvcNhEXgelqevKR+YRQggtoL3hCar7V2QeIYTQzwwsj8wjhBBCowZayaPpI8wlDZZ0p6QrOzk2SdLCwhwsRxSOnSJpXt4OLoTfXDj/SUmX5XBJ+rGkhyTNlbRd4ZpPS3owb59u9nsOIYRGGHjNLrW1ir4oeUwG7uWNS0vWXGT7qGKApAOA7Uhrcw8FZkq62vZS2+8vnPc70hoJkPo0b5G3nYCfAzsVFscZR/qMZkmaXlvxL4QQ+ptxVFsVSRoFHEBa2OU/G7h0G+Am28uAZZLmktYS/20h7mHAeOAzOehA4Fd5fe7bJa0vaWPSNOnX2V6Sr7sux1W///Nr82h/essGkhz6w22n9ncKQqiAYfnAyjuaXm11GvBVqNuB+aBczXRJXuIUYA6wr6S18toYe7HyGtoAHwGuz2tsAGxCWou7Zn4O6yr8DSQdKalNUtvCxZUP2AkhhE6lEebltlbRtMxD0oeABbZn1TntCmC07THAdcC5ALZnAFeRlvusranR8du88tGTtqfZHmd73Mjhg6uMOoQQ6hDLS26topklj12BCZIeBS4Exks6r3iC7cW2X8kvzwS2Lxybanus7b0BAQ/UjuXSyI6ktbRrnmDl0smoHNZVeAghtITUYK5SW6toWuZhe4rtUbZHk6YFvqHj+s25TaJmAqlhvdZDa3jeHwOMAWYUzv04aV3x4rTE04HDc6+rnYHnbD9FWuFvH0kbSNoA2CeHhRBCS0jjPAZWyaPPx3lIOhlosz0dOFrSBGAZsASYlE8bAtwsCWApMDE3ntccAnynQ9RXAfsDDwEvkRvSbS+R9C3gjnzeybXG8xBCaBXtLVSqKKNPMg/bM4GZef+EQvgUOplrPpcotqkT356dhBn4UhfnnwWc1ViqQwihb9RKHgNJjDAPIYR+ZsTyAbYqeGQeIYTQAqLaKoQQQkOMeNUDa3hAZB4hhNDP0iDBqLYKIYTQoGgwDyGE0BBbLHeUPEIIITSoPUoeIYQQGpEazAfW1/HASm0IIayCosE8hBBCjywfYOM8BlZWF0IIq6DaCPMyWxl5MbxLJN0n6V5Ju1Sd5ih5hBBCC2ivtrfVj4BrbH9c0puAtaqMHCLzCCGEfpcmRqwm85C0HrA7eZZy268Cr1YSeUFkHiGE0M+MeK389CQjJLUVXk+zPa3w+h3AQuBsSdsCs4DJtl+sJrVJZB4hhNDPbBoZJLjI9rg6x9cAtgO+bPvPkn4EHA98o5fJXEk0mIcQQr8T7SW3EuYD823/Ob++hJSZVCpKHiGE0M9MQyWP+nHZT0t6XNJWtu8HPgDcU0nkBZF5hBBCC6h4MagvA+fnnlYPk5flrlJkHiGE0M+MKl0MyvZsoF67SK81vc1D0mBJd0q6spNjkyQtlDQ7b0cUjp0iaV7eDi6ES9JUSQ/kwS9H5/DjCvHMk7Rc0ob52KOS7srH2jqmI4QQ+pOB17xGqa1V9EVKJgP3AsO6OH6R7aOKAZIOIDXwjAWGAjMlXW17Kanv8qbA1rbbJb0FwPapwKn5+g8Dx9peUoh2L9uLqntbIYRQFQ249TyaWvKQNAo4ADizwUu3AW6yvSz3TZ4L7JuPfRE42XY7gO0FnVx/KPCbnqU6hBD6lkkjzMtsraLZKTkN+CrQXuecgyTNzfOwbJrD5gD7SlpL0ghgL1JpA2Bz4GBJbZKulrRFMTJJa5Eymt8Vgg3MkDRL0pFdJUTSkTnetoWLlzf0RkMIoTeW59JHd1uraFrmIelDwALbs+qcdgUw2vYY4DrgXADbM4CrgFtJJYjbgNq3+VDg5TxI5pfAWR3i/DBwS4cqq91sbwfsB3xJ0u6dJcb2NNvjbI8bOXxgLUYfQhi4bEXJo2BXYIKkR4ELgfGSziueYHux7VfyyzOB7QvHptoea3tvQMAD+dB84Pd5/1JgTIf7HkKHKivbT+R/F+RrduzdWwshhOqkBvPBpbZW0bTMw/YU26NsjyZ9od9ge2LxHEkbF15OIDWs13poDc/7Y0gZxIx83mWkaiyAPViRqdQmBNsDuLwQtrakdWv7wD7AvIreZgghVCCtYV5maxV93u9L0slAm+3pwNGSJgDLgCXkWSCBIcDNkgCWAhNtL8vHvkMa/HIs8AJwRCH6jwIzOkwAthFwaY5rDeAC29c0472FEEJPpAbz1mnPKKNPMg/bM4GZef+EQvgUYEon579M6nHVWVzPknpwdXbsHOCcDmEPA9v2JN0hhNBXKh5h3nStM+IkhBBWU1WPMO8LkXmEEEILaF/VSh6SPgacAryF1OtJgG13NWI8hBBCA2x4rX0VyzyA7wIftn1vsxMTQgiro1RtteplHv+IjCOEEJqrlUaPl1Em82iTdBFpfEVtQB+2f9/1JSGEEMpaVbvqDgNeIg2uqzErRnmHEELolVWw2sp25StQhRBCWFnJ9clbRrdZnaRRki6VtCBvv8tTrYcQQqhA6m01uNTWKsqUk84GpgNvy9sVOSyEEEIFaoMEy2ytokzmMdL22XlhpmV5CpCRTU5XCCGsVtpRqa1VlGkwXyxpIiumOT8UWNy8JIXQ9z74ttaa/uzaJ+f0dxJCHxqIva3KlDw+C3wSeBp4Cvg4EI3oIYRQoYG2GFSZ3laPkdbaCCGE0AS2WFZhxpAX4XuetALrsrzyaqW6zDwkfdX2dyX9hFSqWonto6tOTAghrK6aUG21l+1FVUdaU6/kUZuSpK1ZNw8hhDAw2zy6zDxsX5F3X7J9cfGYpE80NVUhhLCaaSDzGCGp+KN+mu1pHc4xMEOSgV90crzXyvS2mgJcXCIshBBCDzS4GNSiEm0Yu9l+QtJbgOsk3Wf7pt6lcmX12jz2A/YHNpH048KhYaQ1x0MIIVSkyjEctp/I/y6QdCmwI9A3mQfwJKm9YwIwqxD+PHBslYkIIYTVmQ3LKloMStLawCDbz+f9fYCTK4m8oMvU2p5j+1zgX4HzbJ+bX19OYWr27kgaLOlOSVd2cmySpIWSZuftiMKxUyTNy9vBhXBJmirpAUn3Sjo6h+8p6blCXCcUrtlX0v2SHpJ0fNm0hxBCX6lwepKNgD9JmgP8BfiD7WuqTm+ZNo8ZwL8BL+TXb85h7yt5j8mknltdLVt7ke2jigGSDgC2A8YCQ4GZkq62vRSYBGwKbG27Pdfp1dxs+0Md4hoM/BTYG5gP3CFpuu17SqY/hBCaqsE2j/px2Q8DTZ8yoUw5aU3btYyDvL9Wmcjz7LsHAGc2mK5tgJvyXFovAnOBffOxLwIn227P6VnQTVw7Ag/Zftj2q8CFwIENpieEEJrKVqmtVZQpebwoaTvbfwWQtD3wz5LxnwZ8FVi3zjkHSdodeAA41vbjwBzgREnfJ2VUewG1ksLmwMGSPgosBI62/WA+tksuqj0JfMX23cAmwOOF+80HduosIZKOBI4E2GyTMo8mhJXFnFShp1pp0sMyynxDHgNcLOlJQMBbgYPrXwKSPgQssD1L0p5dnHYF8Bvbr0j6PHAuMN72DEk7ALeSMojbSMPsIVVjvWx7nKSPAWcB7wf+Crzd9guS9ictm7tFiff3utwXehrAuG3XfMOo+hBCaAZ74A0S7LbayvYdwNak6qIvAP9ie1b9qwDYFZiQ51i5EBgv6bwOcS+2XWt8PxPYvnBsqu2xtvcmZVoP5EPzWbEE7qXAmHz+0lr1mu2rgCGSRgBPkNpIakblsBBCaBFiefugUlurKLOS4FrA14DJtucBo3Opoi7bU2yPsj0aOAS4wfbEDnFvXHg5gTwlSu6hNTzvjyFlEDPyeZeRqrEA9iBnKpLeKkl5f8f83hYDdwBbSHqHpDfltEzvLv0hhNCXVsU2j7NJ4zx2ya+fII0uf0PX2zIknQy02Z4OHC1pAmnQ4RJSTyqAIcDNOS9YCky0XRuY+B3gfEnHknqA1br3fhz4oqRlpDaZQ2wbWCbpKOBaYDBwVm4LCSGElrBKzW1VsLntgyUdCmD7pdov/LJszwRm5v0TCuFTSFOddDz/ZVKPq87iepbUg6tj+OnA6V1ccxVwVSNpDiGEPuPU7jGQlMk8XpX0ZvK07JI2p4FBgiGEELq3Kva2OhG4BthU0vmkhvBJzUxUCCGsTpwbzAeSMisJXifpr8DOpF5Pk5u5wEgIIayOVplqK0lb275P0nY56Kn872aSNgWW5CVqQwgh9FIr9aQqo17J4z9Jo62/38Xx4ZLm2P5U9ckKIYTVh70KZR62j8z/7tXVOZJmdHUshIEkphUJ/W2V66oraQhpdPnuOWgmaVnD12zv08S0hRDCamOVafMo+Dlp0N7P8utP5bAjurwihBBCaUa0r2q9rYAdbBfnhr8hz1wbQgihIgOs4FFqPY/leWAgAJLeyYoZbkMIIfSWV825rb4C3CjpYdI4j7cDn2lqqkIIYXUzwIoedTOPvITrtqR1MbbKwfcXplEPIYRQgb4sVUj6CXWyK9tHdxdH3Wor28uBQ22/Yntu3iLjCCGEChlob1eprSJtpNnS1wS2Ax7M21jgTWUiKFNtdYuk04GLgBdrgbVlaUMIIfSSgT4sedg+F0DSF4HdakteSDoDuLlMHGUyj7H535OL9wbGl09qCCGEevppnMcGwDDSekoA6+SwbpWZGLHLEeYhhBAqUmHmkdur24AnbNdb+fU7wJ2SbiR1iNod+GaZe5QZYT6cNC37bqS39yfgZNuLy9wghGb64Nu27f6kEmJ6ktC/Ku+GO5m0rPeweifZPlvS1cBOOehrtp8uc4My4zwuBBYCB5GWel1Iav8IIYRQFZfcuiFpFGm11TNLnPtR4J+2L7d9OfCypI+USW6ZzGNj29+y/Ujevg1sVCbyEEIIJRjcrlJbCacBXwXaS5x7ou3nXk9GWub7xDI3KZN5zJB0iKRBefskcG2ZyCHVvUm6U9KVnRybJGmhpNl5O6Jw7BRJ8/J2cCFckqZKekDSvZKOzuGHSZor6S5Jt0ratnDNozl8tqS2smkPIYS+o5IbIyS1FbYjX49B+hCwwPaskjftLA8o05Gq1En/BzgG+HV+PRh4UdLnAduuW6dG93VvF9k+qhgg6QBS3+OxwFBgpqSrbS8lLYG7KbC17XZJb8mXPQLsYfsZSfsB01hRjwewV6yAGEJoWeUbzBfZHtfFsV2BCZL2J43hGCbpPNsTuzi/TdIPgJ/m118ijf/oVrclD9vr2h5ke0jeBuWwdbvLOBqpe+tgG+Am28tsvwjMBfbNx75IarBvz+lbkP+91fYz+ZzbgVEN3jOEEPpPBW0etqfYHmV7NHAIcEOdjAPgy8CrpHbsi4BXSBlIt5o9B3CZureDcnXTJXl5W4A5wL6S1pI0AtiLVNoA2Bw4OBfXrpa0RSdxfg64uvDapOq3WcUiXgghtITaIMEyW5W3tV+0fbztcXmbkn+wd6tU3VZPFOveJO3ZxWlXAL+x/UquBjsXGG97hqQdgFtJvbtuY8VMvkOBl22Pk/Qx4Czg/YX77kXKPHYr3Gc320/kKq7rJN1n+6ZO0nwkaeldNtukaY8mhBDeoOpBgrZnkhbvewNJV1B/bqsJ3cXfZclD0ju6T15dtbq3R0ndfcdLOq9DAhcX5so6E9i+cGyq7bG29ya1Ej2QD80Hfp/3LwXGFNI8JsdzYHEciu0n8r8L8jU7dpZg29NqOfDI4YN79q5DCKEn2lVuq8b3gO+T2or/Cfwyby8AfysTQb1qq0sAJF3fk5SVqXuTtHHh5QRSw3qth9bwvD+GlEHU1ku/jFSNBbAHOVORtBkpU/mU7VpGg6S1Ja1b2wf2Aeb15D2FEEKzyOW2Ktj+o+0/ArvaPtj2FXn7dwo1OfXUq5sZJOm/gC0l/WcnN/9BTxIt6WSgzfZ04GhJE4BlpLlVJuXThgA3SwJYCkysTdxFGk5/vqRjSblkrXvvCcBw4Gf5umW5R8JGwKU5bA3gAtvX9CTtIYTQFCUHADbB2pLeaftheL3Gae0yF9bLPA4BPpLPWbc3qSvWvdk+oRA+BZjSyfkvk3pcdRbXs6QeXB3Dj6CTddXzQ6lmDosQQmiK6hvDSzqWNBSiuNhfqU5FXWYetu8HTpE01/bVXZ0Xmu+dMz5bSTwP73NWJfG0kqrmpIo5skK/64eSh+1rco/VrXPQfWXXbCrTpejWPIhk9/z6j6RxFs/VuWbgG/IeBr21d4PR25/esqLEhBBWeWUmE6mYpE8A19ieI+nrwImSvl1mvaYy4zzOAp4HPpm3pcDZvUlwCCGEgn4a5wF8w/bzknYDPgD8D/DzMheWKXlsbvugwutvSprdg0SGEELoQlU9qRpUGz93APBL23+Q9O0yF5Ypefwz50oASNqV1C84hBBCVSqakr1BT0j6BXAwcJWkoZSceaRMyeMLwK8krZdfPwN8ukfJDCGE0Eo+SZo38Hu2n81j744rc2GZZWjnANtKGpZfL+1NSkMIIbxRP1VbbQz8IU8RtSdpQPavylxYemJE20sj4wghhCYwfT09Sc3vgOWS3kVaxmJT4IIyFzZ7Vt0QQghl9E+bR3ueveNjwE9sH0cqjXQrpo4NIYQW0E/VVq9JOhQ4HPhwDhtS5sJuSx55TY1vSPplfr1Fnm49hBBCVfqn5PEZYBdgqu1H8txWv+7mGqBcyeNs0rKEu+TXTwAXA29YkzysrKppRULzxbQiod/1z/Qk9wBHF14/ApxS5toybR6b2/4u8FqO/CXyKuwhhBB6r+x07FVXbeWapEsk3SPp4dpW5toymcerkt5MzhclbU5a5zaEEEJV+qe31dmk6UiWkdZJ+hVwXt0rsjKZx0nANcCmks4Hrge+1qNkhhBC6FR/lDyAN9u+HpDtx2yfRCdLXnSmzCDBGZJmATuTqqsm217Um9SGEELooH96W70iaRDwoKSjSG3a65S5sExvq+vzWuN/sH2l7UU9XZo2hBBCJ/qpzQOYDKxFajTfHvgUJaef6rLkIWnNHOkISRuwopF8GLBJb1IbQgihg/7pbXVH3n2B1G23tHrVVp8HjgHeRuqqW8s8lgKnN5jGEEIIdaiixaDyD/+bgKGk7/hLbJ/Y4ZwrqJNd2Z7Q3X3qLUP7I+BHkr5s+ydlEx5CCKFfvQKMt/2CpCHAnyRdbfv2wjnf6+1NyjSY/0TSe4BtgDUL4aVmXpQ0GGgDnrD9oQ7HJgGnkhppAE63fWY+dgorWv2/ZfuiHC7g28AnSAuZ/Nz2j3P4j4D9gZeASbWlFCV9Gvh6juvbts8tk/YQQugzFVVb2TapGgrSVCNDOsZu+48AktYG/mm7Pb8eTCqxdKvbzEPSicCepMzjKmA/4E+UnLaX1CBzL6mtpDMX2T6qwz0PALYDxpLeyMyccy4FJpFmftzadrukt+TL9gO2yNtOpL7LO0naEDgRGEd6gLMkTbf9TMn0hxBCc1XcGJ4zgVnAu4Cf2v5zF6deD/wbKzKbNwMzgPd1d48y4zw+Tlrb9mnbnwG2Bdarf0kiaRSp9HBmmfMLtgFusr3M9ovAXNKCJQBfBE6u5ZS2F+TwA4FfObkdWD8vbPJB4DrbS3KGcV0hrhBCaA3l57YaIamtsB35hqjs5bbHAqOAHXPtUWfWtP1C4boXSB2lulVmbqt/5l/4y/KCUAtIv/zLOA34KrBunXMOkrQ78ABwrO3HgTnAiZK+T3ojewH35PM3Bw6W9FFgIXC07QdJPcAeL8Q7P4d1Ff4G+UM4EmCzzTYr+RbDquCDb9u2knhijqzQY+VLHotsjysVZVod8EbSD+Z5nZzyoqTtClX821NymfEyJY82SesDvyQVg/4K3NbdRXnm3QW2Z9U57QpgtO0xpBLBuZAGJpKqyG4FfpPvV1uofSjwcn54vwTOKvEeSrE9zfY423jdmicAABlBSURBVONGjhxZVbQhhFCXSL2tymzdxiWNzN/Z5Kml9gbu6+L0ycDFkm6W9CfgIuCoLs5dSZkG8//Iu2dIugYYZntuibh3BSZI2p/U0D5M0nm2JxbiXlw4/0zgu4VjU4GpAJIuIJVMIJUcfp/3LyXNzQKp0b1YIhqVw54gtdkUw2eWSH8IIfSNats8NgbOze0eg4Df2n7DLOj5+PuBrYGtcvD9tl8rc5NSKwlK2kTS+4DNSG0Ju3d3je0ptkfZHg0cAtxQzDhyvMUVqyaQGtaRNFjS8Lw/hrSu7ox83mWkaiyAPViRqUwHDleyM/Cc7aeAa4F9JG2QBzvuk8NCCKF1VLSeh+25tt9re4zt99g+uYvzlgOH2n7N9ry8lco4oFxvq1OAg0ltDrWqI5MGoTRM0slAm+3pwNGSJpBmdFxC6kkFqWvZzan3LUuBiXmpRIDvAOdLOpbUQ+CIHH4VqZvuQ6Suup8BsL1E0reA2kjKk20v6UnaQwihafpnbqtbJJ1Oqq568fWk5DaQeso0mH8E2Mp2j6dhtz2TXFVk+4RC+BRgSifnv0zqcdVZXM/SyayPuW/zl7q45iwqbBsJIYSq9dMytGPzv9+sJYOUjY3v7sIymcfDpJJArOERQgjN0oeZh6T/zLtX5jsXFwoplZIymcdLwOw8k+7rGYjto7u+JIQQQmmubm6rkmrDJ7YCdgAuJ2UgHwb+UiaCMpnH9LyFEEJolj4sedj+JoCkm4DtbD+fX58E/KFMHGW66sY8UCGE0GT91OaxEfBq4fWrOaxb9dbz+K3tT0q6i07yxDywL4QQQhX6J/P4FfAXSZfm1x8BzilzYb2Sx+T874fqnBNCj+xy3Bcqiee2U8+oJJ4Q+lXJMRyV39aeKulq0mBBgM/YvrPMtfXW83gq//tY75MYQgihK6Lfqq1qYzq6HdfRUb1qq+epv9JUV1OshxBCaFB/ZR49Va/ksS5AHp39FPBrUgZ5GGnulBBCCFVZVTKPggm2i/NV/1zSHOCEri4IIYTQoAGWeZSZGPFFSYflyQoHSTqMwhwoIYQQeinPqltmaxVlMo9/Bz4J/CNvn8hhIYQQqlLRrLp9pW61VZ7v/SjbB/ZRekIIYbXUx9OT9FrdzMP2ckm79VViQghhddVKVVJllGkwv1PSdOBiVp7v/fddXxJCCKG0FquSKqNM5rEmsJiV53c3K5aCDSGE0FurWuZh+zN9kZAQQlhd9ecI854qswztKOAnwK456GZgsu35zUxYWOHhfWIRxGa79sk5/Z2EsJpT+8DKPcp01T2btJ7H2/J2RQ4LIYRQhbLddFsofymTeYy0fbbtZXk7BxjZ5HSFEMJqZVUcJLhY0sQ8wnywpImkBvRS8jV3Srqyk2OTJC2UNDtvRxSOnSJpXt4OLoSfI+mRwjVjc/hxhbB5kpZL2jAfe1TSXflYW9m0hxBCnxlgJY8yva0+S2rz+GF+fQvQSCP6ZOBeoKtZeC+yfVQxQNIBwHbAWGAoMFPS1baX5lOOs31J8RrbpwKn5us/DBxre0nhlL1sL2og3SGE0GeqKlVI2pS0yNNGpOxmmu0fVRP7Ct2WPGw/ZnuC7ZF5+4jtv5eJPDe2HwCc2WC6tgFuytVkLwJzgX0buP5Q4DcN3jOEEPpPdSWPZcD/tb0NsDPwJUnbVJ3cbjMPSaMkXSppQd5+lzOFMk4DvgrUG3h/kKS5ki7JOSbAHGBfSWtJGgHsBWxauGZqvuaHkoZ2SO9apIzmd4VgAzMkzZJ0ZJ33eqSkNkltCxcuLPkWQwihl5ymJymzdRuV/VRe4Anbz5NqfjapOslN620l6UPAAtuz6px2BTA6r4d+HXAugO0ZwFXAraQSxG3A8nzNFGBrYAdgQ+BrHeL8MHBLhyqr3WxvB+xHyoV37ywxtqfZHmd73MiR0ScghNA3auM8SjaYj6j9yM1bvR/Eo4H3An+uOs3N7G21KzBB0qPAhcB4SecVT7C92PYr+eWZwPaFY1Ntj7W9N+nZPpDDn3LyCikT27HDfQ+hQ5WV7SfyvwuASzu5JoQQ+pddboNFtR+5eZvWWXSS1iHVwBxTaC+uTNN6W9meYnuU7dGkL/QbbE8sniOpuCLhBFLxqtZDa3jeHwOMAWYUr5Ek4CPAvEJ86wF7AJcXwtaWVFsVcW1gn+I1IYTQCqrsqitpCCnjOL9Z8xA22tvKpKqkHk9ZIulkoM32dOBoSRNIDTxLgEn5tCHAzSl/YCkw0fayfOx8SSNJpZHZwBcK0X8UmJEb2Ws2Ai7Nca0BXGD7mp6mP4QQKldhN9z8w/p/gHtt/6CaWDu5j91CHYdbyLhx49zW1rshIe1Pb1lRakJXPvi2bbs/qYSYnmT1NOitD/Q6DkmzbI/rTRzrbLipx+x9TKlzb/vtV+reLy+jcTNwFys6K/2X7at6k8aOysxtdS5pLqtn8+sNgO/b/myVCQkhhNVZVYtB2f4TqWamqcpUW42pZRwAtp+R9N4mpimEEFYvptYYPmCUaTAflEsbAOQpP8pkOiGEEEoaaHNblckEvg/cJuni/PoTwNTmJSmEEFZDLZQxlFFmMahf5ckEaysJfsz2Pc1NVgghrD5WycWgAHJmERlGCCE0gz3gFoOKtosQQmgFAyvviMwjhBBawUCrtiozq+6Xi72tQgghVMxAu8ttLaJMV92NgDsk/VbSvnnoewghhCoNsJUEyywG9XVgC9JcKZOAByX9t6TNm5y2EEJYbQy0cR5lSh44TYD1dN6WARsAl0j6bhPTFkIIqw21u9TWKsrMbTUZOBxYRFpz4zjbr0kaBDxIWikwhBBCT7VYlVQZZXpbbUgaGPhYMdB2e14tMIQQQi+kQYIDK/coM8L8xDrH7q02OSGEsJqqaFbdvhLjPEIIoQWsciWPEEIITbaKtnmEEEJoqtbqSVVGZB4hhNAKBli1ValxHr0habCkOyVd2cmxSZIWSpqdtyMKx06RNC9vBxfCz5H0SOGasTl8T0nPFcJPKFyzr6T7JT0k6fhmv+cQQmiI0zK0ZbZW0Rclj8nAvcCwLo5fZPuoYoCkA4DtgLHAUGCmpKttL82nHGf7kk7iutn2St2HJQ0GfgrsDcwnTbUyPdYkCSG0lCh5rCBpFHAAaXBhI7YBbrK9zPaLwFxg3x4mY0fgIdsP234VuBA4sIdxhRBCcwywua2aXfI4jTQCfd065xwkaXfgAeBY248Dc4ATJX0fWAvYi5UXo5qaq6WuB463/UoO30XSHOBJ4Cu27wY2AR4vXDsf2KmzhEg6EjgSYLPNNmvojYb+ce2Tc/o7CSFUQu0tVCdVQtNKHnn0+QLbs+qcdgUw2vYY4DrgXADbM4CrgFuB3wC3AcvzNVOArYEdSKPfv5bD/wq83fa2wE+AyxpNs+1ptsfZHjdy5MhGLw8hhJ4xaZBgma0bks6StEDSvGYlF5pbbbUrMEHSo6SqovGSziueYHtxodRwJrB94dhU22Nt700avf9ADn/KySvA2aRqKWwvtf1C3r8KGCJpBPAEsGnhtqNyWAghtARh5HJbCefQ82r+0pqWedieYnuU7dHAIcANticWz5G0ceHlBFLDeq2H1vC8PwYYA8woXpPXFfkIMC+/fmttrRFJO+b3thi4A9hC0jskvSmnZXpT3nQIIfSUXW7rNhrfBCxpdnL7fJyHpJOBNtvTgaMlTSBN876EtF4IwBDg5pwXLAUm2l6Wj50vaSSpNDIb+EIO/zjwRUnLgH8Ch+Sp5JdJOgq4FhgMnJXbQkIIoXWU7201QlJb4fU029OakKK6+iTzsD0TmJn3TyiETyG1YXQ8/2VSj6vO4hrfRfjpwOldHLuK1IYSQgitp9bmUc4i2+Oal5hyYoR5CCG0gIHW2yoyjxBC6Hfl2jNaSdOnJwkhhNANU1mDuaTa8IatJM2X9LlmJDlKHiGE0AoqqrWyfWg1MdUXmUcIIbSAWAwqhBBC4yLzCCGE0BAblkdvqxBCCI2KkkcIIYSGReYRQgihIQZiDfMQQgiNMTjaPEIIITTCRIN5CCGEHog2jxBCCA2LzCOEEEJjBt7EiJF5hBBCfzMQU7KHEEJoWJQ8QghhYGh/esv+TkIW05OEEEJolMExziOEEELDBtgI86avJChpsKQ7JV3ZybFJkhZKmp23IwrHTpE0L28HF8LPkfRI4ZqxOfwwSXMl3SXpVknbFq55NIfPltTW7PccQggNq2glwb7SFyWPycC9wLAujl9k+6higKQDgO2AscBQYKakq20vzaccZ/uSDvE8Auxh+xlJ+wHTgJ0Kx/eyvaiX7yWEEKpnD7jeVk0teUgaBRwAnNngpdsAN9leZvtFYC6wb70LbN9q+5n88nZgVKPpDSGEfjPASh7NrrY6Dfgq9VfnPShXN10iadMcNgfYV9JakkYAewGbFq6Zmq/5oaShncT5OeDqwmsDMyTNknRkVwmRdKSkNkltCxcuLPP+QgihAsbLl5faWkXTMg9JHwIW2J5V57QrgNG2xwDXAecC2J4BXAXcCvwGuA2oPbUpwNbADsCGwNc63HcvUuZRDN/N9nbAfsCXJO3eWWJsT7M9zva4kSNHNvJ2Qwih52pTspfZWkQzSx67AhMkPQpcCIyXdF7xBNuLbb+SX54JbF84NtX2WNt7AwIeyOFPOXkFOBvYsXaNpDE5ngNtLy7E9UT+dwFwafGaEEJoCW4vt7WIpmUetqfYHmV7NHAIcIPticVzJG1ceDmB1LBe66E1PO+PAcYAM4rXSBLwEWBefr0Z8HvgU7YfKNxjbUnr1vaBfWrXhBBCKzDgdpfaypC0r6T7JT0k6fhmpLnPx3lIOhlosz0dOFrSBGAZsASYlE8bAtyc8geWAhNtL8vHzpc0klQamQ18IYefAAwHfpavW2Z7HLARcGkOWwO4wPY1TX2TIYTQCFe3GJSkwcBPgb2B+cAdkqbbvqeSG2R9knnYngnMzPsnFMKnkNowOp7/MqnHVWdxje8i/AjgiE7CHwa2feMVIYTQOipsDN8ReCh/9yHpQuBAYOBlHgPRrFmzFkl6rJfRjABaaWxJpKe+VkpPK6UFIj31bNXbCJ7nmWv/15eMKHn6mh0GO0+zPa3wehPg8cLr+aw85q0SkXl0wXavu1tJastVZy0h0lNfK6WnldICkZ56qpi1wnbdcWytqOnTk4QQQuhTT7DyuLhROaxSkXmEEMKq5Q5gC0nvkPQmUm/X6VXfJKqtmmta96f0qUhPfa2UnlZKC0R66mmltGB7maSjgGuBwcBZtu+u+j5yC82VEkIIYWCIaqsQQggNi8wjhBBC42zH1mEj9dueXdiWAseQJmK8Dngw/7tBPl/Aj4GHSNPHb9chvmGkvtanF8K2B+7K1/yYFVWIb7hHlekBNiNN9XIvadDQ6Bz+DuDP+ZqLgDfl8KH59UP5+OiK0/Nd4O6cnuJzaObz2Zo02eYrwFc6fFb7Avfn+x5fCC/7fMZXkRZSb5kb82d0NzC5cKz0c67y2eTjg4E7gSt78GxGV/xZrQ9cAtxH+vvZpcHn89EK03Js/pzmkSZzXbPRZ9Pf33sNf0/2dwJafcv/WZ4G3k76ojs+hx8PnJL39ydNAS9gZ+DPHeL4EXABK2cef8nnKl+7Xw7v9B5VpYc00n/vvL8OsFbe/y1wSN4/A/hi3v8P4Iy8fwhp8a5K0gO8D7glxzE4/8fcsw+ez1tIszJPZeUv7MHA34B3Am8iLQ2wTU+fTy/TsjE5kwXWJU0Muk29Z1Dvc+9tegpx/Cfpb7mYeTTzb6fL9JBm4T4i778JWL+nz6eXn9UmpMXo3lx4HpN682wGwtbvCWj1jTSR4i15/35g47y/MXB/3v8FcGjhmuJ525NmFZ5EzjzytfcVzj8U+EW9e1SRHtKUL3/q5D2KNFp3jfx6F+DavH8tK37RrZHPU0Xp2QWYBbwZWAtoA/6l2c+ncO5JHb4EXn/f+XVt+pwePZ/epKWTz+hyVmT6Df8dVpEe0niB60mlqyv74m+nzme1HukLW508q578P+1NWmojujfM7/PKHF+Pn81A2KLNo3uHkIqhABvZfirvP02adBE6nw5gE0mDgO8DX+kQ5yb5nJXO7+YevU4PsCXwrKTf53XlT82TqA0HnvWKySeL6Xk9rnz8uXx+r9Nj+zZS1cxTebvW9r198Hy60tVz6+nz6U1aXidpNPBeUvVGvbi6Sn9Nb9PT2eJuzf7b6co7gIXA2flv+cw8a3a9uOo9nx6nxWnJh+8Bfyf9HT/ntCZRb55Ny4vMo448wGYCcHHHY04/GdxNFP8BXGV7fjfndarjPSpIzxrA+0mZ2Q6k6plJPUlbFemR9C5SSWMU6T/TeEnvL3v/JjyfylSVFknrAL8DjrG9tKdxVfBZlVncrbSK/pa3A35u+73Ai6QqpobjquDZbECaePAdwNuAtSVNrHfNqiAyj/r2A/5q+x/59T8K64lsDCzI4V1NB7ALcFReEOt7wOGSvpOPjerk/Hr3qCI984HZth/Ov3YuI/0HXAysL2mNDuevFFc+vl4+v4r0fBS43fYLtl8g1Ufv0gfPpytdpbMnz6e3aUHSEFLGcb7t3xcONfqcqSA9XS3u1uy/na7MB+bbrpXGLiH9LdeLq6vn09u0/BvwiO2Ftl8jrSv0Pnr+bAaEyDzqO5QVRVlIQ/w/nfc/TaqHroUfrmRnUrH1KduH2d7MaUGsrwC/sn18LhIvlbRzXtTq8A5xdXaPXqeHNG3B+nk9FEh11/fkX1c3Ah/vIq7aPT5OWtSr9kust+n5O7CHpDXyF+UewL198Hy60um0Dj18Pr1KS37f/0N6Hj/ocLjR50xv0+MuFnfrg7+drtLzNPC4pNqMth9gxZTjjT6f3v7d/B3YWdJa+XP7AOlz6+mzGRj6qnFloG3A2qRfAusVwoaTGgwfBP4X2DCHi7T4yt9I3UvHdRLfJFbubTWO1K3vb8DprGhk7eoelaSHtEDM3Bx+Diu6Dr6T1MPpIVLxfWgOXzO/figff2dV6SH1cPkFK7oN/6CPns9bSb9clwLP5v1h+dj+pJ5NfwP+XyGu0s+nirQAu5GqS+ayoivp/j18zpU8m8K1e7Jyb6tm/u3U+6zGkjpZzCWVojdo9PlUmJZvkroMzwN+XXgGDT2bgbTF9CQhhBAaFtVWIYQQGhaZRwghhIZF5hFCCKFhkXmEEEJoWGQeIYQQGhaZRxiwJL2Q/32bpEt6Ec8xktaqKE1bS5qdp8zYvIo4C3GfKWmbHlw3VtL+hdcTJL1hNHYIjYiuumFAkLSGV8wRVAt7wfY6FcT9KGlMxKIK4jqeNBHet3t4/RveZwVpmkR6f0dVGW9YvUXJIzRE0g6S5kpaU9Laku6W9J5Ozjs8nzdH0q9z2GhJN+Tw6yVt1k34OZLOkPRn4Lt55Pdtku6S9O3CvUZLmpf3JylN/HiNpAclfbdw3s8lteU0fzOHHU2aj+hGSTfmsH3yff4q6WKl+aU6vr+xkm7Pab5U0gb51/0xwBdrcXW45gVJP8z3v7420l/STEmnSWoDJkv6QC653CXpLElDC+eNq5fG/Pncmp/7XyStB5wMHJxLRAfnZ3R6iWf/4xzXw5I+3vH9hNVcf49SjG3gbcC3SXN1/RSY0snxd5NGaY/Ir2sjdK8APp33Pwtc1k34OaTprQfn19OBw/P+l4AX8v5oYF7enwQ8TJoraE3gMWDTDukYTFrXZEx+/WghrSOAm4C18+uvASd08h7nAnvk/ZOB0/L+SXQxtTppxPhhef8EVkzRPxP4Wd5fkzTb6pb59a9IkyLWzhvXVRpJa1o8DOyQw4eRJhCcxMqzG7z+uptnfzHpB+Y2wEP9/XcXW2ttUfIIPXEyaZqTcaSFczoaD1zsXA1ke0kO34W0kBCkKRx26yacHM/yvL8rK+Yg+nWd9F1v+znbL5OmPXl7Dv+kpL+SVsJ7N+lLsaOdc/gtkmaT5h96e/GE/Gt+fdt/zEHnArvXSU9NO2n1OIDzWPl91sK3Ik2y90CduLtK41bAU7bvALC91N1XgdV79pfZbrd9Dw1MIR9WD2t0f0oIbzCctArhENIv5RebeK+OcZdppHulsL8cWEPSO8hT0dt+RtI5pLR3JOA624f2JLENKr6XRp5hp2mU9K+VpGqF4nNUxXGHAS5KHqEnfgF8AzgfOKWT4zcAn5A0HEDShjn8VtKMrACHATd3E97RLR3Oa8Qw0hf0c5I2Ik3DXfM8aalXgNuBXZXWGiG362xZjMj2c8AzWrH2yKeAP9K9QayYYfXfgT91cs79wOja/buIu6s03g9sLGmHHL6u0nTfxffXUdlnH8JKIvMIDZF0OPCa7QuA7wA7SBpfPMf23aR1nv8oaQ5Qm1L8y8BnJM0lfSlO7ia8o8nAlyTdxcor5HXL9hxSddV9pGqaWwqHpwHXSLrR9kJSm8BvcnpuA7buJMpPA6fmc8aSqvK68yKwY27cH9/ZNbmq7TPAxfl9tpPWvi6c0nkabb8KHAz8JD/360ilqxuBbWoN5h1uWfbZh7CS6KobQh9RL7sW58xkgu1HKkxWCD0SJY8QBgBJ1wF3RcYRWkWUPEIIITQsSh4hhBAaFplHCCGEhkXmEUIIoWGReYQQQmhYZB4hhBAa9v8DuOz0KKXwwvsAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "drclassdcd_slice = out_grid.drclassdcd.sel(hzdept_r=15)\n", + "drclassdcd_slice.where(drclassdcd_slice!=out_grid.drclassdcd.rio.nodata).plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "drclassdcd_string = out_grid['drclassdcd_categories'][out_grid['drclassdcd'].astype(int)]\\\n", + " .drop('drclassdcd_categories')" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<xarray.Dataset>\n",
+       "Dimensions:                (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n",
+       "Coordinates:\n",
+       "  * y                      (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n",
+       "  * x                      (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n",
+       "  * hzdept_r               (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n",
+       "  * drclassdcd_categories  (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n",
+       "    spatial_ref            int64 0\n",
+       "Data variables:\n",
+       "    drclassdcd             (hzdept_r, y, x) object 'nodata' ... 'Well drained'\n",
+       "    hzdepb_r               (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n",
+       "    claytotal_r            (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n",
+       "    sandtotal_r            (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n",
+       "    silttotal_r            (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n",
+       "Attributes:\n",
+       "    grid_mapping:  spatial_ref
" + ], + "text/plain": [ + "\n", + "Dimensions: (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n", + "Coordinates:\n", + " * y (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n", + " * x (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n", + " * hzdept_r (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n", + " * drclassdcd_categories (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " drclassdcd (hzdept_r, y, x) object 'nodata' ... 'Well drained'\n", + " hzdepb_r (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n", + " claytotal_r (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n", + " sandtotal_r (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n", + " silttotal_r (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out_grid['drclassdcd'] = drclassdcd_string\n", + "out_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "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", + "
drclassdcdhzdepb_rclaytotal_rsandtotal_rsilttotal_r
hzdept_rxy
0.0700350.04597050.0nodataNaNNaNNaNNaN
4596950.0Well drained5.026.038.036.0
4596850.0Well drained5.026.038.036.0
4596750.0Well drained5.026.038.036.0
4596650.0Well drained5.026.038.036.0
\n", + "
" + ], + "text/plain": [ + " drclassdcd hzdepb_r claytotal_r sandtotal_r \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 nodata NaN NaN NaN \n", + " 4596950.0 Well drained 5.0 26.0 38.0 \n", + " 4596850.0 Well drained 5.0 26.0 38.0 \n", + " 4596750.0 Well drained 5.0 26.0 38.0 \n", + " 4596650.0 Well drained 5.0 26.0 38.0 \n", + "\n", + " silttotal_r \n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 NaN \n", + " 4596950.0 36.0 \n", + " 4596850.0 36.0 \n", + " 4596750.0 36.0 \n", + " 4596650.0 36.0 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pdf = out_grid.drop(['spatial_ref', 'drclassdcd_categories']).to_dataframe()\n", + "pdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Make sure all categories are represented\n", + "\n", + "To do this, convert the column type to categorical beforehand and make sure that\n", + "you include all of the possible categories." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "cat_dtype = pandas.api.types.CategoricalDtype(out_grid.drclassdcd_categories.values)\n", + "pdf['drclassdcd'] = pdf['drclassdcd'].astype(cat_dtype)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "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", + " \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", + "
hzdepb_rclaytotal_rsandtotal_rsilttotal_rdrclassdcd_Excessively draineddrclassdcd_Moderately well draineddrclassdcd_Poorly draineddrclassdcd_Somewhat excessively draineddrclassdcd_Somewhat poorly draineddrclassdcd_Subaqueousdrclassdcd_Very poorly draineddrclassdcd_Well draineddrclassdcd_nodata
hzdept_rxy
0.0700350.04597050.0NaNNaNNaNNaN000000001
4596950.05.026.038.036.0000000010
4596850.05.026.038.036.0000000010
4596750.05.026.038.036.0000000010
4596650.05.026.038.036.0000000010
\n", + "
" + ], + "text/plain": [ + " hzdepb_r claytotal_r sandtotal_r silttotal_r \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 NaN NaN NaN NaN \n", + " 4596950.0 5.0 26.0 38.0 36.0 \n", + " 4596850.0 5.0 26.0 38.0 36.0 \n", + " 4596750.0 5.0 26.0 38.0 36.0 \n", + " 4596650.0 5.0 26.0 38.0 36.0 \n", + "\n", + " drclassdcd_Excessively drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Moderately well drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Poorly drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Somewhat excessively drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Somewhat poorly drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Subaqueous \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Very poorly drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Well drained drclassdcd_nodata \n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 1 \n", + " 4596950.0 1 0 \n", + " 4596850.0 1 0 \n", + " 4596750.0 1 0 \n", + " 4596650.0 1 0 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "training_df = pandas.get_dummies(pdf, columns=['drclassdcd'])\n", + "training_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['hzdepb_r', 'claytotal_r', 'sandtotal_r', 'silttotal_r',\n", + " 'drclassdcd_Excessively drained', 'drclassdcd_Moderately well drained',\n", + " 'drclassdcd_Poorly drained', 'drclassdcd_Somewhat excessively drained',\n", + " 'drclassdcd_Somewhat poorly drained', 'drclassdcd_Subaqueous',\n", + " 'drclassdcd_Very poorly drained', 'drclassdcd_Well drained',\n", + " 'drclassdcd_nodata'],\n", + " dtype='object')" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "training_df.columns" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples/grid_to_vector_map.ipynb b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/grid_to_vector_map.ipynb new file mode 100644 index 0000000..1ccc2c5 --- /dev/null +++ b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/grid_to_vector_map.ipynb @@ -0,0 +1,559 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Mapping Grid Data to Vector Data\n", + "\n", + "This is useful in the case where you want to get statistics for a specific raster\n", + "over a certain region. In this example, the vector data is a random region with\n", + "soil information using SSURGO data." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "\n", + "import geopandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "ssurgo_data = geopandas.read_file(\"../../test/test_data/input/soil_data_group.geojson\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
cokeymukeydrclassdcdhzdept_rchkeyhzdepb_rclaytotal_rsandtotal_rsilttotal_rgeometry
012577452271425Somewhat poorly drained0.01000340905.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
112577452271425Somewhat poorly drained5.010003409015.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
212577452271425Somewhat poorly drained15.010003409130.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
312577452271425Somewhat poorly drained30.010003409245.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
412577452271425Somewhat poorly drained45.010003409360.023.2316439.96194166.806416MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
\n", + "
" + ], + "text/plain": [ + " cokey mukey drclassdcd hzdept_r chkey hzdepb_r \\\n", + "0 12577452 271425 Somewhat poorly drained 0.0 100034090 5.0 \n", + "1 12577452 271425 Somewhat poorly drained 5.0 100034090 15.0 \n", + "2 12577452 271425 Somewhat poorly drained 15.0 100034091 30.0 \n", + "3 12577452 271425 Somewhat poorly drained 30.0 100034092 45.0 \n", + "4 12577452 271425 Somewhat poorly drained 45.0 100034093 60.0 \n", + "\n", + " claytotal_r sandtotal_r silttotal_r \\\n", + "0 23.067675 9.978338 66.953987 \n", + "1 23.067675 9.978338 66.953987 \n", + "2 23.067675 9.978338 66.953987 \n", + "3 23.067675 9.978338 66.953987 \n", + "4 23.231643 9.961941 66.806416 \n", + "\n", + " geometry \n", + "0 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "1 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "2 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "3 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "4 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ssurgo_data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# convert the key to group to the vector data to an integer as that is one of the\n", + "# best data types for this type of mapping. If your data is not integer,\n", + "# then consider using a mapping of your data to an integer with something\n", + "# like a categorical dtype.\n", + "ssurgo_data[\"mukey\"] = ssurgo_data.mukey.astype(int)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert data to grid\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Dimensions: (hzdept_r: 11, x: 165, y: 165)\n", + "Coordinates:\n", + " * y (y) float64 41.5 41.5 41.5 41.5 ... 41.48 41.48 41.48 41.48\n", + " * x (x) float64 -90.6 -90.6 -90.6 -90.6 ... -90.58 -90.58 -90.58\n", + " * hzdept_r (hzdept_r) float64 0.0 5.0 15.0 30.0 ... 90.0 105.0 120.0 150.0\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " mukey (hzdept_r, y, x) float64 1.988e+05 1.988e+05 ... 1.987e+05\n", + " hzdepb_r (hzdept_r, y, x) float64 5.0 5.0 5.0 5.0 ... 180.0 180.0 180.0\n", + " claytotal_r (hzdept_r, y, x) float64 26.0 26.0 26.0 26.0 ... 21.0 21.0 21.0\n", + " sandtotal_r (hzdept_r, y, x) float64 38.0 38.0 38.0 38.0 ... 10.0 10.0 10.0\n", + " silttotal_r (hzdept_r, y, x) float64 36.0 36.0 36.0 36.0 ... 69.0 69.0 69.0\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out_grid = make_geocube(\n", + " vector_data=ssurgo_data,\n", + " group_by='hzdept_r',\n", + " resolution=(-0.0001, 0.0001)\n", + ")\n", + "out_grid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get the mean/median of each region using the unique ID" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + "
hzdept_rspatial_refhzdepb_rclaytotal_rsandtotal_rsilttotal_r
mukey
198692.015.0030.023.0000007.00000070.000000
198714.015.0030.05.00000087.0000008.000000
198724.015.0030.021.00000010.00000069.000000
198750.015.0030.012.00000063.00000025.000000
198754.015.0030.026.00000038.00000036.000000
271425.015.0030.023.0676759.97833866.953987
271431.015.0030.014.00000055.00000031.000000
\n", + "
" + ], + "text/plain": [ + " hzdept_r spatial_ref hzdepb_r claytotal_r sandtotal_r \\\n", + "mukey \n", + "198692.0 15.0 0 30.0 23.000000 7.000000 \n", + "198714.0 15.0 0 30.0 5.000000 87.000000 \n", + "198724.0 15.0 0 30.0 21.000000 10.000000 \n", + "198750.0 15.0 0 30.0 12.000000 63.000000 \n", + "198754.0 15.0 0 30.0 26.000000 38.000000 \n", + "271425.0 15.0 0 30.0 23.067675 9.978338 \n", + "271431.0 15.0 0 30.0 14.000000 55.000000 \n", + "\n", + " silttotal_r \n", + "mukey \n", + "198692.0 70.000000 \n", + "198714.0 8.000000 \n", + "198724.0 69.000000 \n", + "198750.0 25.000000 \n", + "198754.0 36.000000 \n", + "271425.0 66.953987 \n", + "271431.0 31.000000 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid_mean = out_grid.sel(hzdept_r=15).groupby(out_grid.mukey.sel(hzdept_r=15)).mean()\n", + "grid_mean.to_dataframe()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "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", + "
hzdept_rspatial_refhzdepb_rclaytotal_rsandtotal_rsilttotal_r
mukey
198692.075.0090.023.0000007.00000070.000000
198714.075.0090.07.80000086.4666675.733333
198724.075.0090.021.00000010.00000069.000000
198750.075.0090.012.00000063.00000025.000000
198754.075.0090.026.00000038.00000036.000000
271425.075.0090.024.56496610.12049765.314537
271431.075.0090.08.33333374.66666717.000000
\n", + "
" + ], + "text/plain": [ + " hzdept_r spatial_ref hzdepb_r claytotal_r sandtotal_r \\\n", + "mukey \n", + "198692.0 75.0 0 90.0 23.000000 7.000000 \n", + "198714.0 75.0 0 90.0 7.800000 86.466667 \n", + "198724.0 75.0 0 90.0 21.000000 10.000000 \n", + "198750.0 75.0 0 90.0 12.000000 63.000000 \n", + "198754.0 75.0 0 90.0 26.000000 38.000000 \n", + "271425.0 75.0 0 90.0 24.564966 10.120497 \n", + "271431.0 75.0 0 90.0 8.333333 74.666667 \n", + "\n", + " silttotal_r \n", + "mukey \n", + "198692.0 70.000000 \n", + "198714.0 5.733333 \n", + "198724.0 69.000000 \n", + "198750.0 25.000000 \n", + "198754.0 36.000000 \n", + "271425.0 65.314537 \n", + "271431.0 17.000000 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid_median = out_grid.sel(hzdept_r=75).groupby(out_grid.mukey.sel(hzdept_r=75)).median()\n", + "grid_median.to_dataframe()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.10.6 64-bit", + "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.10.6" + }, + "vscode": { + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples/rasterize_function.ipynb b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/rasterize_function.ipynb new file mode 100644 index 0000000..53b7229 --- /dev/null +++ b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/rasterize_function.ipynb @@ -0,0 +1,144 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Use a rasterize function when creating a raster" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "\n", + "from functools import partial\n", + "from geocube.rasterize import rasterize_image\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "gdf = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['pop_est'],\n", + " resolution=(-3.0, 3.0),\n", + ")\n", + "geo_grid[\"pop_est\"].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['pop_est'],\n", + " resolution=(-3.0, 3.0),\n", + " rasterize_function=partial(rasterize_image, all_touched=True),\n", + ")\n", + "geo_grid[\"pop_est\"].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.9.13 ('main')", + "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.9.13" + }, + "vscode": { + "interpreter": { + "hash": "f7286e25aede83087e9621ce0e75f07eda2aa917ee0205c1a0b96e7ba4f20042" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples/rasterize_point_data.ipynb b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/rasterize_point_data.ipynb new file mode 100644 index 0000000..50ba524 --- /dev/null +++ b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/rasterize_point_data.ipynb @@ -0,0 +1,450 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Rasterizing Point Data" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "from functools import partial\n", + "\n", + "import geopandas\n", + "from shapely.geometry import box, mapping\n", + "\n", + "from geocube.api.core import make_geocube\n", + "from geocube.rasterize import rasterize_points_griddata, rasterize_points_radial\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load in geopackage data and add CRS" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "gdf = geopandas.read_file(\n", + " \"../../test/test_data/input/time_vector_data.geojson\",\n", + " crs=\"epsg:4326\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
test_attrtest_str_attrtest_time_attrgeometry
01.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
11.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
21.9dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
31.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
41.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26679 44.21932)
\n", + "
" + ], + "text/plain": [ + " test_attr test_str_attr test_time_attr \\\n", + "0 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "1 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "2 1.9 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "3 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "4 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "\n", + " geometry \n", + "0 POINT (-47.26681 44.21932) \n", + "1 POINT (-47.26680 44.21932) \n", + "2 POINT (-47.26681 44.21932) \n", + "3 POINT (-47.26680 44.21932) \n", + "4 POINT (-47.26679 44.21932) " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert to raster with GeoCube\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into grid with griddata nearest resampling" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " resolution=(-0.1, 0.00001),\n", + " rasterize_function=rasterize_points_griddata,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<xarray.Dataset>\n",
+       "Dimensions:      (x: 12, y: 11)\n",
+       "Coordinates:\n",
+       "  * y            (y) float64 45.25 45.15 45.05 44.95 ... 44.55 44.45 44.35 44.25\n",
+       "  * x            (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n",
+       "    spatial_ref  int64 0\n",
+       "Data variables:\n",
+       "    test_attr    (y, x) float64 1.3 1.3 1.3 1.2 1.3 1.3 ... 2.3 1.3 1.9 1.3 1.3\n",
+       "Attributes:\n",
+       "    grid_mapping:  spatial_ref
" + ], + "text/plain": [ + "\n", + "Dimensions: (x: 12, y: 11)\n", + "Coordinates:\n", + " * y (y) float64 45.25 45.15 45.05 44.95 ... 44.55 44.45 44.35 44.25\n", + " * x (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " test_attr (y, x) float64 1.3 1.3 1.3 1.2 1.3 1.3 ... 2.3 1.3 1.9 1.3 1.3\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "geo_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into grid with griddata cubic resampling" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " resolution=(-0.1, 0.00001),\n", + " rasterize_function=partial(rasterize_points_griddata, method=\"cubic\"),\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into user-defined grid with radial linear resampling" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " geom=json.dumps(mapping(box(-48, 44, -47, 45))),\n", + " output_crs=\"epsg:3857\",\n", + " resolution=(-300, 300),\n", + " rasterize_function=rasterize_points_radial,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into user-defined grid with radial cubic resampling\n", + "\n", + "Note: This example is simply to demonstrate the option and and\n", + "would need to be adjusted for better results. As seen in the plot below,\n", + "the values swelled quite a bit due to the input generating an \n", + "ill-conditioned matrix." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/scipy/interpolate/rbf.py:268: LinAlgWarning: Ill-conditioned matrix (rcond=3.16678e-18): result may not be accurate.\n", + " self.nodes = linalg.solve(self.A, self.di)\n" + ] + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " geom=json.dumps(mapping(box(-48, 44, -47, 45))),\n", + " output_crs=\"epsg:3857\",\n", + " resolution=(-300, 300),\n", + " rasterize_function=partial(rasterize_points_radial, method=\"cubic\", filter_nan=True),\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples/timestamp_missing_data.ipynb b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/timestamp_missing_data.ipynb new file mode 100644 index 0000000..3a97693 --- /dev/null +++ b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/timestamp_missing_data.ipynb @@ -0,0 +1,398 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Filling in missing data & dealing with timestamps" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load in geopackage data and add CRS" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "gdf = geopandas.read_file(\n", + " \"../../test/test_data/input/time_vector_data.geojson\",\n", + " crs=\"epsg:4326\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
test_attrtest_str_attrtest_time_attrgeometry
01.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
11.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
21.9dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
31.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
41.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26679 44.21932)
\n", + "
" + ], + "text/plain": [ + " test_attr test_str_attr test_time_attr \\\n", + "0 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "1 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "2 1.9 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "3 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "4 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "\n", + " geometry \n", + "0 POINT (-47.26681 44.21932) \n", + "1 POINT (-47.26680 44.21932) \n", + "2 POINT (-47.26681 44.21932) \n", + "3 POINT (-47.26680 44.21932) \n", + "4 POINT (-47.26679 44.21932) " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gdf.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "gdf.head().plot(column='test_attr')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert to raster with GeoCube\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Load into grid basic" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/xarray/core/variable.py:151: FutureWarning: Converting timezone-aware DatetimeArray to timezone-naive ndarray with 'datetime64[ns]' dtype. In the future, this will return an ndarray with 'object' dtype where each element is a 'pandas.Timestamp' with the correct 'tz'.\n", + "\tTo accept the future behavior, pass 'dtype=object'.\n", + "\tTo keep the old behavior, pass 'dtype=\"datetime64[ns]\"'.\n", + " return np.asarray(pd.Series(values.ravel())).reshape(values.shape)\n" + ] + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr', \"test_time_attr\"],\n", + " datetime_measurements=[\"test_time_attr\"],\n", + " resolution=(-0.1, 0.00001),\n", + " group_by=\"test_time_attr\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Dimensions: (test_time_attr: 2, x: 12, y: 11)\n", + "Coordinates:\n", + " * y (y) float64 45.25 45.15 45.05 44.95 ... 44.45 44.35 44.25\n", + " * x (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n", + " * test_time_attr (test_time_attr) datetime64[ns] 2016-05-21T15:09:21 2016-05-22T15:09:22\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " test_attr (test_time_attr, y, x) float64 nan nan nan ... nan nan nan\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "geo_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "grid_time_1 = geo_grid.isel(test_time_attr=0)\n", + "grid_time_1.test_attr.where(grid_time_1.test_attr!=grid_time_1.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Load into UTM grid followed by interpolation for missing values\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/xarray/core/variable.py:151: FutureWarning: Converting timezone-aware DatetimeArray to timezone-naive ndarray with 'datetime64[ns]' dtype. In the future, this will return an ndarray with 'object' dtype where each element is a 'pandas.Timestamp' with the correct 'tz'.\n", + "\tTo accept the future behavior, pass 'dtype=object'.\n", + "\tTo keep the old behavior, pass 'dtype=\"datetime64[ns]\"'.\n", + " return np.asarray(pd.Series(values.ravel())).reshape(values.shape)\n" + ] + } + ], + "source": [ + "geo_grid_interp = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr', \"test_time_attr\"],\n", + " datetime_measurements=[\"test_time_attr\"],\n", + " resolution=(-0.1, 0.00001),\n", + " group_by=\"test_time_attr\",\n", + " interpolate_na_method='nearest'\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Dimensions: (test_time_attr: 2, x: 12, y: 11)\n", + "Coordinates:\n", + " * y (y) float64 45.25 45.15 45.05 44.95 ... 44.45 44.35 44.25\n", + " * x (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n", + " * test_time_attr (test_time_attr) datetime64[ns] 2016-05-21T15:09:21 2016-05-22T15:09:22\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " test_attr (test_time_attr, y, x) float64 1.3 1.3 1.3 ... 1.3 1.3 1.3\n", + "Attributes:\n", + " grid_mapping: spatial_ref\n", + " creation_date: 2019-12-12 19:57:17.046150" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "geo_grid_interp" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "geo_grid_interp.test_attr.isel(test_time_attr=0).plot()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples/vectorize.ipynb b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/vectorize.ipynb new file mode 100644 index 0000000..331ba07 --- /dev/null +++ b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/vectorize.ipynb @@ -0,0 +1,132 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Raster DataArray to GeoDataFrame (vectorize)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "from geocube.vector import vectorize\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Generate Raster DataArray" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gdf = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))\n", + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['pop_est'],\n", + " resolution=(-3.0, 3.0),\n", + ")\n", + "geo_grid[\"pop_est\"].plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Convert to GeoDataFrame (vectorize)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "grid_gdf = vectorize(geo_grid.pop_est.astype(\"float32\"))\n", + "grid_gdf.plot(column=\"pop_est\")" + ] + } + ], + "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.9.15" + }, + "vscode": { + "interpreter": { + "hash": "f7286e25aede83087e9621ce0e75f07eda2aa917ee0205c1a0b96e7ba4f20042" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples/zonal_statistics.ipynb b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/zonal_statistics.ipynb new file mode 100644 index 0000000..6e34840 --- /dev/null +++ b/refs/tags/0.7.0/.doctrees/nbsphinx/examples/zonal_statistics.ipynb @@ -0,0 +1,845 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Zonal Statistics\n", + "This is useful in the case where you want to get regional statistics for a raster." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "import numpy\n", + "import rioxarray\n", + "import xarray\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create the data mask by rasterizing the unique ID of the vector data\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# This assumes you are running this example from a clone of\n", + "# https://github.com/corteva/geocube/\n", + "# You could also use the full path: \n", + "# https://raw.githubusercontent.com/corteva/geocube/master/test/test_data/input/soil_data_group.geojson\n", + "ssurgo_data = geopandas.read_file(\"../../test/test_data/input/soil_data_group.geojson\")\n", + "ssurgo_data = ssurgo_data.loc[ssurgo_data.hzdept_r==0]\n", + "# convert the key to group to the vector data to an integer as that is one of the\n", + "# best data types for this type of mapping. If your data is not integer,\n", + "# then consider using a mapping of your data to an integer with something\n", + "# like a categorical dtype.\n", + "ssurgo_data[\"mukey\"] = ssurgo_data.mukey.astype(int)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# load in source elevation data subset relevant for the vector data\n", + "elevation = rioxarray.open_rasterio(\n", + " \"https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/13/TIFF/current/n42w091/USGS_13_n42w091.tif\", masked=True\n", + ").rio.clip(\n", + " ssurgo_data.geometry.values, ssurgo_data.crs, from_disk=True\n", + ").sel(band=1).drop(\"band\")\n", + "elevation.name = \"elevation\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "out_grid = make_geocube(\n", + " vector_data=ssurgo_data,\n", + " measurements=[\"mukey\"],\n", + " like=elevation, # ensure the data are on the same grid\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:      (y: 178, x: 178)\n",
+       "Coordinates:\n",
+       "  * y            (y) float64 41.5 41.5 41.5 41.5 ... 41.48 41.48 41.48 41.48\n",
+       "  * x            (x) float64 -90.6 -90.6 -90.6 -90.6 ... -90.58 -90.58 -90.58\n",
+       "    spatial_ref  int64 0\n",
+       "Data variables:\n",
+       "    mukey        (y, x) float64 1.988e+05 1.988e+05 ... 1.987e+05 1.987e+05\n",
+       "    elevation    (y, x) float64 173.7 172.0 171.1 170.6 ... 181.0 181.2 181.4
" + ], + "text/plain": [ + "\n", + "Dimensions: (y: 178, x: 178)\n", + "Coordinates:\n", + " * y (y) float64 41.5 41.5 41.5 41.5 ... 41.48 41.48 41.48 41.48\n", + " * x (x) float64 -90.6 -90.6 -90.6 -90.6 ... -90.58 -90.58 -90.58\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " mukey (y, x) float64 1.988e+05 1.988e+05 ... 1.987e+05 1.987e+05\n", + " elevation (y, x) float64 173.7 172.0 171.1 170.6 ... 181.0 181.2 181.4" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# merge the two together\n", + "out_grid[\"elevation\"] = (elevation.dims, elevation.values, elevation.attrs, elevation.encoding)\n", + "out_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "out_grid.mukey.plot.imshow()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "out_grid.elevation.plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get the elevation statistics of each region using the mask" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "grouped_elevation = out_grid.drop(\"spatial_ref\").groupby(out_grid.mukey)\n", + "grid_mean = grouped_elevation.mean().rename({\"elevation\": \"elevation_mean\"})\n", + "grid_min = grouped_elevation.min().rename({\"elevation\": \"elevation_min\"})\n", + "grid_max = grouped_elevation.max().rename({\"elevation\": \"elevation_max\"})\n", + "grid_std = grouped_elevation.std().rename({\"elevation\": \"elevation_std\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "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", + "
elevation_meanelevation_minelevation_maxelevation_std
mukey
198692.0173.130925169.394562188.4425053.307044
198714.0175.045866170.214157179.7166752.150987
198724.0179.931131178.237244181.4903870.630699
198750.0176.187118167.951233190.1387633.815206
198754.0171.633084167.610321181.6112982.997591
271425.0167.974433167.951233168.6530150.079769
271431.0176.718101170.258133180.4602202.731732
\n", + "
" + ], + "text/plain": [ + " elevation_mean elevation_min elevation_max elevation_std\n", + "mukey \n", + "198692.0 173.130925 169.394562 188.442505 3.307044\n", + "198714.0 175.045866 170.214157 179.716675 2.150987\n", + "198724.0 179.931131 178.237244 181.490387 0.630699\n", + "198750.0 176.187118 167.951233 190.138763 3.815206\n", + "198754.0 171.633084 167.610321 181.611298 2.997591\n", + "271425.0 167.974433 167.951233 168.653015 0.079769\n", + "271431.0 176.718101 170.258133 180.460220 2.731732" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zonal_stats = xarray.merge([grid_mean, grid_min, grid_max, grid_std]).to_dataframe()\n", + "zonal_stats" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "ssurgo_data = ssurgo_data.merge(zonal_stats, on=\"mukey\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAARcAAAD4CAYAAADGtqI3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA/QklEQVR4nO29eZRkVZXo/dsxR85zZlVlZWUVRVVRJWMVICKC4IDCA9oJHL7WFj7eE2n9uttlQ/dar+3nsxdq2yqL7tcf7YA8vof6HPopoigiXYooVFED1DwXWVPOc2ZkRsT+/rg3KiMzIzNuRNyIuBF5f2vdlfeee885OzMj9j1nn332FlXFxcXFxW48xRbAxcWlPHGVi4uLS15wlYuLi0tecJWLi4tLXnCVi4uLS17wFVuAfNLU1KSdnZ3FFsPFhe3bt/eqanMubbzzrZXa1x+z1t/uyDOqenMu/eVKWSuXzs5Otm3bVmwxXFwQkRO5ttHXH+OlZzosPetddqgp1/5ypayVi4tLOaFAnHixxbCMq1xcXEoERZlWa9MiJ+AqFxeXEsIdubi4uNiOosRKaLuO5aVoEfGKyA4Recq8vl9EDouIisiCxiMRiYnITvP4SVL5ahH5o9nG90QkYJYHzevD5v3OpDoPmuUHROSdWf3GLi4lTBy1dDiBTPxcPg3sS7p+AXgbkM4KPqGql5nHbUnlXwS+qqprgQHgbrP8bmDALP+q+RwishG4C9gE3Az8i4h4M5DfxaWkUSCGWjqcgCXlIiLtwC3ANxJlqrpDVY9n06mICHAj8AOz6DvAHeb57eY15v2bzOdvB76rqhFVPQYcBq7Kpn8Xl1KlHEcuXwM+C1lZk0Iisk1E/iAid5hljcCgqkbN6y5ghXm+AngdwLw/ZD5/vjxFnfOIyL1mf9t6enqyENfFxZkoMK1q6XACaQ26InIr0K2q20Xkhiz6WKWqp0RkDfCciLyKoTDygqo+CjwKsGXLlgX/ymf7R/ivjz6dLzFKhraOOo5Gcv93rL5smoF43v6tjqfKF+KhSz+e1z7UQVMeK1hZLboWuE1E3g2EgBoReUJVP2KlA1U9Zf48KiLPA5cDPwTqRMRnjk7agVNmlVPASqBLRHxALdCXVJ4guU7GRKai7DiYdfWy4aIKZdvAmZzauHxjLf/Rvy/9g2VMrb8i/50oxEpHt6SfFqnqg6rarqqdGAbV56wqFhGpF5Gged6Eoaj2qhH+7jfA+8xHPwr8H/P8J+Y15v3nzOd/AtxlriatBi4EXrIih8vCeJAcaitvuaaW0w37bZPHZWEMD11rhxPIele0iHxKRLowRhC7ReQbZvmWxDlwEbBNRHZhKJOHVHWvee+vgb8UkcMYNpVvmuXfBBrN8r8EHgBQ1T3A94G9wC+AT6qWkLuiQ8lGuVRVeHnzVbVcetMU+7370BIaqpc2Qszi4QQycqJT1eeB583zh4GHUzyzDbjHPP89cPECbR0lxWqPqk4C71+gzheAL2Qis8viyCKvOb9X6FhWQXOLn1BVjOnABP2xQfqmhzkIECmUlC6QMOg6Q3FYwfXQXeKk+qi2NATZcLlwdPokI/EoI2CMtScLK5vLbAw/F1e5uJQIGp89pbn68jrO1hxmf2SqSBK5LEbcHbm4lAxJ06JrNtdxNLwPLaUliSWEO3JxKSni5sjlTVvqOBJyjbNORhFiJRSZ1lUuSxyNK9duqeVQaG/6hx2EIFxY3YZXPPRPjdEzOeQYt/d84k6LXEoGqYtwKFRaDnAX1awgqucYih4yCgSWVwRZFrqA7QNdxNUpnh72oghTWjp7dUtnjOWSF7wVpfVF3Nywir6pAwxHB2eVT2uEkxN7uaSujkpfqDjC5RnDic5j6XACzpDCpWh4/MWWwDoX167k9fE9yCIzgzOTJ9lY01I4oQpM2TrRuZQfnhL5BCwPN9A3fXhRxZKgb+okPvESLTMHblUhpqUzHigdSV3yQukolwAxnbb07FhslLXVrXmWqDjEEUuHEyiRj5ZL3igB+6BHPHRHujKqU+0rofmeRQyDbul8Zd2RyxJHAs436F5S204kntneg7iW316FUjPolo4adMkLsdAUONg04UGYiJ3NuF4Ma1OoUiPm+rm4lArj3klHK5eL61ZyNpK5g5845O1tJ66HrktJMRgfLrYICyIIkXh3VnX9Up6+LvESWi1ylcsSJhgSBqNjxRZjQS7JctQCECsFS3WGGBsXXeXiUgI0rwjTV2whFqDaF2Zo+mTW9Xsmx22UxhkowrTr/u9SClQ3One5dn1NHRPx0azq1voaODlefmllVCGmHktHOkTkWyLSLSKvJZV9Lyk76nER2WmW+0XkOyLyqojsE5EHrcjrjlyWMP4KZ648bKxZwcnxA5a8cVNR528Dsh/1OBdbHeQeAx4BHk8UqOqd53sS+QozKYDeDwRV9WIRqQD2isiT6ZIiusplCeMLOk+5VHiDROJnslYsAOcmJ+wTyEEo2Ob+r6pbk/OwJ2NmOP0ARlbURNeVZqqfMDAFpF0JcKdFSxhvwHnxTzbVNjEay34Fq9bXwIkynBIliOGxdABNicyj5nFvBt1cB5xTVTOmBT8AxoAzGEPCf1TV/nSNWFYuIuIVkR0i8pR5fb+IHBYRNXMSLVa3RkS6ROSRpLI7RWS3iOwRkS8mlX81ad53UEQGk+7Fku79xKrsLqkRhymXzfWrODF+IKc2av1tNknjPBQhrtYOoFdVtyQdj2bQ1QeBJ5Our8LwhloOrAb+ysyguiiZTIs+DewDaszrF4CnMFONpOHzwNbEhYg0Al8GNqtqj2ksuklVf62qf5H03J9jZGhMMKGql2Ugs8siiN85yuXKhg5OpAmnYIXuMp0SQSK1SH4tGebU5z3A5qTiDwG/UNVpoFtEXgC2AEcXa8vSyEVE2oFbgESyM1R1RzqDjll3M9AK/DKpeA1wSFUT49dngfemqD5Xg7rYSNxX/H1F9YEqLq9v5uTE3pwVS6O/paynRAVKivY2YL+qJu8UPYlpfxGRSuCNQNo0m1anRV8DPkuGmSJFxAN8BfjMnFuHgfUi0mlqyjuYnQcaEVmFMQR7Lqk4ZM4f/yAidyzQ572JeWZPTzl/0HIn7imu3/+ldR3U+Ic4PXks98ZUmIxV596Og1EMD10rRzpE5EngRYzvYZeI3G3euov5L/R/BqpEZA/wMvBtVd2dro+0YywRuRXoVtXtInJDWqlncx/wtKp2SdJrSVUHROQTwPcwFNbvgQvm1L0L+MGclK2rVPWUOd97TkReVdUjyZXMueWjAFu2bHHOuN+BxDzRouwrWl3ZQrV/Kmvv21SsqtjAS/2v29aeU7ErypyqfnCB8o+lKBtlgSyoi2FlAnctcJuIvBsIATUi8oTFZPTXANeJyH1AFRAQkVFVfUBVfwr8FIzRBvM/5ncBn0wuUNVT5s+jIvI8hj3mCC5ZMS3RgvbXEKjmgqpqTowfZNzGGVmtr4Fdg5nvnC41VKWk9hallVRVH1TVdlXtxPjCP2dRsaCqH1bVDrPuZ4DHVfUBABFpMX/WY4xwzttzRGQDUI8xbEuU1YtI0DxvwlB6pZUPw2FMFSgsQdDj58qGVYR9vZycOJizbWUuAU8LkXh5hlhIxjDoei0dTiBrNSginxKRLqAd2C0i3zDLtyTO0/B1EdmLser0kKoeTLp3F/BdVU2e1lwEbBORXcBvzDqucsmBiOY/ZeuKcAPtlTFOTuwhajFMZSY0Bdp4bSizKHWli9jm/l8IMlrXUtXnMZeeVfVh4OEUz2wD7klR/hiGy3HiOuWcz7z3uRRlvwcuzkRel8WZzLNyqfFVUOkbZSiav7AOQh2Q3R6kUsMw6DrPq3ohXPf/JYsyHovktYfVVUHORrKLx2KFpTVqMXBDLrg4nmDISyyPmQkvqGrlbCS/tvawp5GlMmqBGQ/dUsFVLkuUiiof+Qxh3RgMMJrnkCqj0fI34s7FKcG3reAqlyVKOI/KxYPQM5l/n5OJ2NJSLqowHXeVi4vDCVbk70O6trptJkl8HhmL5tdm5DSMaZGrXFwcTj6VS40/wFAB/PMqfEEjssgSwil5oK1QOmrQxVb84fz966VAznktoaX1bkwsRVsMuVB0XOWyRPHlMfPG0HRv/hpP4uT4IS6vX1WQvpyB2LZxsRA4QwqXghPP07RlVUUzQ9G0QcpsQQROT+5hS0Mb1b5wQfosNqWUiN5VLkuUobP5mbq0hgv/JX994jAtoUk2VC8veN+FxFgt8lo6nICrXJYo507mZyF6aCqz3cmqgA3D+NHYCP3TB7m0riPntpxKhmEui87Ssoi5nGdiLMYyXxWDUfs8XDsqmhiMHl/wvo8QdZ7VTE1XMjIFfRMRzoyPMhmLUhcI0RAMUR3w4xFBFRTF5xFqg4LfN8aAHiG2yPKQCJyd3MfGmnXsHT5l2+/lJJwy5bGCq1yWMA2eGgZtdJ9vDYU5OSeErZ8KariQ7lEfuwf6mI6Pksplf3BqksGpxUdTreEL2Ng6yLCeWfghUQLe8oyj625cdCkZKqYrbGtrVUUzJ8f3g4BHfdR7L2RgrJLtvb1Mx+0x8J6bGMXTXceypsXzGp2b7CLkqWMyXn5OME5ZCbKCq1yWMDrgh7rc2/EgVPknCEXbiUy2sau3n5Hp1COUXDkzPsomXycDseMLPhMnzpqq5rKbGqkKUVe5uJQCfceisxO3ZMnaqg6Odfs4ONQP5D/cpEfTj7gqfaXzJcwEd1rkUhKcPDBK1WYfU1k6vTQGaqiIt/Lc0R4okKGxwudnRE+kfa5/6hQe8RDPY1iJQlNqNpfyVO8ulojFoN3XknE9v/i4qGId+88EePF0L4VSLADXLKtnSsfSPjcaG2ZjTfn5vbhL0S4lQ+VIDQRPW35+VUUbJ/t8/Opc4XJCVfoCrKisorMOenW7ZVXm95TXqpEbLMqlpDjyu0k8N3mIp8l350FYV3EhvznRQ0xzD3XgFaEhWEHQ6zUPDwGvF79HqPALQd806hlhUvsYiw8iAn2QUeaAUxMnaAoupzeSvxi+hcb1c3EpGfrORtjsXcXe2MJZD2t8Ffim23j2eHajlbpAiJVV1YR8HsI+IRwYZUiPM838kUUcY41pNHFBZgolGRFoD9WVjXJRhWgJBYuyLKmIeEVkh4g8ZV7fLyKHRUTNPEKL1a0xU0Y+klR2p4jsFpE9IvLFpPKPiUiPiOw0j3uS7n1URA6Zx0cz+1VdFmJop3/Be+3hZgaG6tndM5Bxu+tqG3jHqkbWL3udQPUrxMPbGPO/TK/uS6lY8oHfU9jEb/mmXG0unwb2ATXm9QvAU5ipRtLweWBr4kJEGoEvA5tVtUdEviMiN6nqr81Hvqeq9yc3ICINwN8BWzAM59tF5Ceqmvmn3mUWh3cPs2FzKyemzs0qX1/Vye9OjBKJWQ+Gu7G+ifa6CJPazZjuos9uYTNkcLp88oWXms3F0shFRNqBW0jKiqiqO1T1uIW6m4FW4JdJxWuAQ6qa+M8/C7w3TVPvBH6lqv2mQvkVcLMV+V3SIYRONiRdCesr1vHro4NEYtaTSV/d2kq4eid98b2MaWFiuqRjODrAmsrMV8SciqpYOpyA1WnR14DPQhqr3xxExAN8BSOVazKHgfUi0ikiPuAOYGXS/feaU6YfiEiifAWQHPW5yyyb2+e9IrJNRLb19JTPWyvfvLp1iEZ/DWFvgFbPBfz6eGa+K1e1thINbgfR9A8XmKZgoNgi2IZd8VxE5Fsi0i0iryWVfS/JHHFcRHYm3btERF40zRivikjacGNplYuI3Ap0q+r2tBLP5z7gaVWdlbnKHHl8Avge8FvgODOJ6H8KdKrqJRijk+9k0qGqPqqqW1R1S3NzcxYiL01i00rj8RU0sIptZzObzFzZ0kos+IojFQvASKwwwavyjaqtNpfHmDPyV9U7VfUyVb0M+CHwIwBzAPAE8F9UdRNwA6SPZWrF5nItcJuIvBsIATUi8oTFZPTXANeJyH1AFRAQkVFVfUBVf4qhSBCRezGVi6omf7K/AXzJPD9l/lIJ2rFm73GxyK7nB2n7k7qM6lzZ0ko89AqIcz1hR6YHgXIYvQgxm1aLVHWriHSm7EVEgA8AN5pF7wB2q+ous66lt09aSVX1QVVtV9VOjATxz1lULKjqh1W1w6z7GeBxVX3A/AVazJ/1GCOcRCL7ZUlN3IZhRAZ4BniHiNSbdd5hlrnYSF1/0PKzlzY2o2FnKxYAn5SDYjHIwObSlDAPmMe9GXRzHXBOVRP5YdYBKiLPiMgrIvJZK41k7eciIp/CsMO0AbtF5GlVvUdEtmAMn+Ylo5/D10XkUvP8v6nqQfP8UyJyGxAF+oGPAahqv4h8Hng5qU55jHcdxMDxceOjlIbaQIiq6iNMlsDenWpfDVD6vi4Z7i3qVdUtWXb1QeDJpGsf8GbgSmAc+LWIbE9a3U1JRspFVZ/HnIqo6sPAwyme2QbMUyyq+hjGPC9x/cEF+ngQeHCBe98CvpWJzC6ZcfbEMLWbQgxNLx646eoVPvriQwWSKjeCnnrKQbmgZljQPGLaV94DbE4q7gK2qhpLgCLyNHAFsKhyKR13P5eCIAidwYZFn7mmrZW++L5Fn3EKfgmybzj/YSAKRQGi/78N2D9nEeYZ4GIRqTCVz/XA3nQNucrFZR5VEwvbKNrCVWhoTwGlyY1l4TWMxcoj7auaBl0rRzpE5EngRQyXkC4Rudu8dRezp0SJ1d1/wjBJ7AReUdWfpevD3VvkMo/4SBwWiMd0cVuE/nhp7Db24OXYaGlM3axi17RoEbPExxYofwJjOdoyrnJxANV1Plb+SZQYcSZ/X82JA+njleST6HgspXK5YUUb/fGX599wKCsr1vFS3+vpHywhnOJ9awVXuRSZ5avDVN4wwrEpw5u46uphrtq0iqkhYddvBtB44T9M0xPzXf47q+sY8+4ouCzZ4pcg+4eKvbPJXlRLS7m4Npcis2xDkK6pmW0Ko7EJXg3v50DbPjZ8FMKVhc+eF26cbXOp9gfpbOwmLqWzw3hZaC3DUesbLkuFUtoV7SqXIuH1wgUXVzPRNrjgM8enzrLpvdad2uxAUfqbZ2wqfo+Hq9vjjOi5RWo5Cw9e9g2XjryZoGrtcALutKjAbL6ljunmUbpi5zgdP8MiCQQB2BM7woar1rP/pcL4aWy4tpXfj508f31jRw298VcL0rddLA93sn2i/JSLIsRLKFiUq1wKyKU31rG3bp+FLV+zCW2cgJfyI1My/pCXQ/V9YK7cXt3aSq9uy3/HNjMZWzj4VanjkEGJJUpHDZY8ytCq7Jy5DkyfpKYh/1+YC25soidirFRV+4P4Qgfy3qfdhD2VHBheJN1rKaPlGc/FJUc2vrGOc1PZB83ruMi+1KupaFhWwbbYTIbCa5ZXMclIXvvMB03BTqJqPcBVyaEWDwfgKpcCEdiQm+NZuDm/b6Pqq8NEzORoYa+PIfbntb98UOWtYfdgeaVwnYs7cnGZRevKEAenT6Z/cDGqMjTUZMCqNzTwytjMl3JDfQNRFt+46DR84ieuTVlnjywFFIjHxdLhBFzlkneUZTfF0RzHqhF/nvbHiDK4drYiaap0fhiFZEQ91PjWcGysu9ii5BcFVKwdDsBVLnnmipvrOTCdPrdxOtIlLcuWDde3cXRsdlicuKd0wuSoQmtoA/uGy3s6lKCU/Fxc5ZJHvH6hu82eD30+lEu4ys/eyvlv+2iBcgrZwcqKTewazHHKWUq4Bl0XgEtvrKVv2h7nt3wol44bGhiYmq9IoiWy63lVeCPb+3MfFZYO1oy5rkF3CTC13L6l3LjNr6OWjipemkq9Y3hKna1cVGFleBMv9S+hEUuCEhq5uB66eaKiysfxafvsAJMaYcEgK5kiCps9REfnj4Y8IsSIOjbdeUCC1AfXsG1JjVhMlKLsks8Wd+SSJy7cUkXMxuDVg9FR7HolXfSOZewbTb2yElelwltnSz92IuphZfhCxqL17B4srxgtmSEWj+LjjlzyRGCFvf4W0xqjpi7A8GBu/i4r1tXyB118OlFBCxMM5tRPpqhCvb+BCl8NPvEj4gX1oAgTsRhHR3vY1l+mbv2Z4JApjxUsKxcR8QLbgFOqequI3A/8P8AFQHMiMvgCdWswAvr+eyLBvIjcCfwt4AWeUtW/Nsv/EiN7QBToAT6uqifMezEgsUX3pKrelsHvWlAigcm0O54zpa4ld+VStT5EdHLxEdVEpBZs3sqkCk3BViq8NeZ1HK8EmI4LQ9OTnJ4YpHtyCnBGjmnHUo7KBfg0RoKyGvP6BeAprGU9/DywNXEhIo3Al4HNqtojIt8RkZvMPCg7gC2qOi4in8DIuHinWXXCTDXpeIYZtb3NqsbcB5qT3vQjqt29g6xt89iW7KzW10BM69k7dA4obgjPkibhRFciWLK5iEg7cAtmVkQAVd2hqsct1N0MtAK/TCpeAxxS1UQItmeB95rt/kZVEyHE/oCRtrVkuKK5nmuaK+ieGrS97VBN7h+sYCy9ghqamqQyeoUtzliNgVbOTHg5Mlp+8VWKQTk60X0NI7tiRq8yEfEAX8FI5ZrMYYyUBp1mHpQ7gJUpmrgb+HnSdchMTfkHEbljgT7vTaSw7OnpSfVI3ri0tYEjX36avV/+NcvyYBT1VeXehsei283W0+eoiW0hJLVZ9xXwhOiL+BmJOntpu6SIi7XDAaRVLiJyK9CtqtuzaP8+4Ok5CZYSeVA+AXwP+C1wHDMRfVK/HwG2YEyfEqwyU1R+CPiaiFwwt0NVfVRVt6jqlubm5ixEtsaWuJct0Zk/3xtaGzj5lV+ct9VXxPKQnziQeyiBsXPW9yg9f+ocvz9ew+Tw5TRwGeEMFU1r8ALOTQ5mKKHLYohaO5yAlUn8tcBtIvJuIATUiMgTFpPRXwNcJyL3AVVAQERGVfUBVf0p8FMwRhskKRcReRuGsfd6VT3/bVDVU+bPoyLyPHA5cMSCHLbS3ljD4a88A8Dmu67BE/By6MtPQ9z4r6pAt3dkjrq0g9zfSGePj+Dr8BC1uEyuwJ6BXvYMgFDDxvo1tNdN0Rvbt6hNJuAJsWeofDIdOgIHOchZIe3IRVUfVNV2Ve3EyMb2nEXFgqp+WFU7zLqfAR5X1QcARKTF/FmPMcL5hnl9OfD/Arep6nlnDBGpF5Gged6EofTSppTMB8uSbKJHvvsihx7/3XnFArD8xpUMx/IQed6GyfT0ZIxLKpZl1z2Gonnm2DBdPetp8KxZ8Nm2YCcTZZLp0DlY3BHtEKNv1k50IvIpEenCMLjuFpGEctiSOE/D10VkL8aq00OqetAs/zLGKOd/i8hOEfmJWX4RsE1EdgG/MesURbnI2OJfmrp3ZfflTYtNH5qJVyL4PbmlLDk3McqLrwthqUt5f2CqfOOqFJVydf9X1ecxl55V9WHg4RTPbMPwU5lb/hjwWNL1Qukk37ZA+e+BizORN294FtfJUxflyTfRpg9N98lRrt64kt9xPKd2RqNTVNIxz+Guylvjrg7lixIKteO6/2eDd/ERxGBFflZH4uP2/bsOPHuOzoqGnNuZis43XNcHWnMOjuWSAhuDRYnIt0SkW0ReSyr7njlb2Ckix0Vk55w6HSIyKiJzV39T4iqXLIinmRaNaH5CREaG7PvCxqNK7f5AziZiv3/+zm+PuLtK8oWNq0WPATcnF6jqnap6memo+kPgR3Pq/BOzXUMWxVUuWTC4c+EdueITRmL5GbkM99i7/NR1YJBrQquyrt8SqqQvdnBeuar7scobNtlcVHUrkDLkoIgI8AHgyaSyO4BjwB6rorqfggy5uK2B3t0L78qt6sze6SwdvaftHxEd+1UvbaHqrOpe2hpe4DW59Iy5tzYVPqd3GpoSzqTmcW8Gda8DzqnqIQARqQL+Gvj7TARwlUuGRLfOf1MnU7U6uy9qOjoDyxgbtv9LOzUZY9W5uozrXbuslT7dkfLeWHQgR6lKi1ub/NzT9KuC9JXBtKg34UxqHo9m0M0HSRq1AJ8DvqqqGW2YcyfHGbCxrYHTj7246DOh9krIQ1qOyt46yFMYhBO7+uAt1p+/tLGZSf8ryAIGm76pHoKeOiLx/KVDcQpvrPXxV22/RAoxFVTy7tpvbsd5D7A5qfhq4H0i8iWgDoiLyKSqPrJYW65yyQDPH4+mfSawLIzdyqXaG2bPc/nLfujxWv9ivKGhiVDVXqKLrYmKsrKikcOj5e2hGxD4+46dSHwYFvD3sZ38L8K9DdifvGVHVa9LnIvI54DRdIoF3GmRZTa01tP1m31pn/M02p/TuXNsFRNj+UtRGghYsxdsqm8iXPWqpYRptf5grmI5nn9YGyUYL+zuE7tWi0TkSeBFjA3EXSJyt3nrLmZPibLGHblYYENrA8Pf+Z2lZyVgr76u9lWw51f5jYHiC6aXOeDx0lR3ilGLGQ1FbI6U5TDeWOtnc+Dpwnds08hlESfWj6Wp9zmrfbgjlzRc6Qty9os/Y/zskLUKNv9FV5xdlRdDbjIjA+m3A7x5eROjcesZDQemzuKV8v14PbjyMEIRbEol5P5fvv99m5g6PZhZBRvtbasDy9jxTP5XXqJTca70LR6TS/1di96fy2hshE21JRXnyzJvrPVRqzsL3q/VKZFTQi64yiUNgXVtGT0fP2PfdMB3pJZCRXKP9y1soF1ZWcNQLHPjbExLJy1sJvynpiJO+copWNRS53h8OqNR5uhOe75QVd4we16wOBWzgVN7B/EusLa8tj684LLzYvROnWV99fIcJXMe7QF7smhmgztyKSN6R8apaLLuGNfzgj3Lr7XeSmIWF4guuXQFnmy+/UmMD0+zKlyf8p7Xn3240Apf+cV0GYjZlJwuG1ybS/lwRWMdE73WfUwi/ZM0+XL30g1hLUzmpW9YwQuDp7mgoynnPlMNT5pCFfTHss9ueGriBK2huhyEch6DUfvdDSzh2lzKhze0NnDkn36Rcb2Gqcqc+/bH03+AVy2v54+jRqKwcGXuMXuHUgTSXl9fk9WUKIEILAvVpH+whGj152fXuyXckUvpc0FLHeceeXZW+EqrVPTnvokt4lncaBgO+hmojTJthr5UG16m0/H58zCfJ/dPqs2uP0Wn3md/TiqrSNza4QTK7N9uD9UVQab+vz8wnSZuy0Lo0dztDMenzlJTv7DG6LioiVPjMx/yiA2fqI5gKptL7isPDnmR2oYz1mKcj6tcUrB+NMrIqez9S878zyMEPbkNJRRl3ZtTT68uvmg52wZmG46HorkrtNrJ+S77I1N2vAbL6+sYL+bv406LSpeKoJ/DT7yQUxtD+wfY8Lvc7QyH6w6zvDM8q2x5cw07IvM9Zbsnc882cG7HyDxP3Vf7egmQ2+pI1CkpAG1CixVd3zXoljar6qqysrPMZd/fbWctrTm1EYlP47+hn9aVMwpGW31MpFijHp6aJBzMbbQ0cHacLYHZXrXT8Tg1sjandvsj5ZVxUd2RiyUsKxcR8YrIDhF5yry+X0QOi4iaeYQWq1tj7rx8JKnsThHZLSJ7ROSLSeVBM1DwYRH5o4h0Jt170Cw/ICLvzOg3tUDA74U0waCsIoA/mrtht3t6EM+N51i9sYqNF7ZxcGSB6ZoIjXW5r1Kd/HUfF1bO/neeHcl+f6tfgpyeKC9PXVe5WCOTkcungeSYAy9gxH6w4gTxeWBr4kJEGjHyE92kqpuANhG5ybx9NzCgqmuBrwJfNOtsxNgOvgkjsPC/iIitsQUvicCZFw/b0pYKdIfsicEyGB3j7OWHCF03hN+38L+suiqUc1+T41Emn4vMygzwan8vIbLz3VkW6mRa8xcuohjEizQtEspwtUhE2oFbMLMiAqjqDlU9bqHuZqAV+GVS8RrgkKomXD+fBd5rnt8OfMc8/wFwkxkw+Hbgu6oaUdVjGMnsr7Ii/0LUVYZob6xhS2MdF3eNcPhxa2EVrLD6w+voi9ob4Glf5Cibb1Aqw6lHEv6wPbp2fHgafhujOWiMhOKqVDIvLbclRqYd8hotB0rM5mJ1vPs14LOQ2etLRDzAV4CPYIxyEhzGCFLTCXQBd8B5l9QVwOsAqhoVkSGg0Sz/Q1IbXWbZ3D7vBe4F6OjoWFA2z8gk+s+/YdQUxm6Cf9IMnLK93aOTp1h/bQvHXwrTPzx7y7/67HujjvRHWNfXTE+VEUvm1LCQqS9clbeagyNnbJPJKdR7B4o39XCI4rBC2pGLiNwKdKvq9izavw94OjlkHoCqDgCfAL4H/BY4jk1p21X10URQ4ubm5gWfE83fzNlX7edwXW+eWoeuyW6WbxmmtnL2u2HC5qj7J3cNnN/MuGeglwrJLIlaY6CdeCl9GyxwQdhLlVrOrmE/ZWZzuRa4TUSOA98FbhSRJyy2fw1wv1n3H4E/FZGHAFT1p6p6tapeAxwAEpbUU8BKOB8suBboSy43aScfQwMbWPOJTYzH87thr3tqgMuvnu3yPzhtb5+T41Haw3XnryvILD7L0HR52VoA7mufROx5D2ZFKU2L0ioXVX1QVdtVtRPDoPqcqn7ESuOq+mFV7TDrfgZ4XFUfABCRFvNnPcYIJ2HP+QnwUfP8fWZ/apbfZa4mrQYuBF6y9msWluhbC7Nrdu/UYTatnZmpnpsYzWkfUCq8SeO7eNy6TUcVTo732StMkWn0e7giaJ9dLivKbOSSEhH5lIh0YYwgdovIN8zyLYnzNHxdRPZirDo9pKqJkcs3gUYROQz8JfAAgKruAb4P7AV+AXxS1XnLEJWrqjnoL1zUe/+qPhKfpvFYlJVtqcMmZEtylH/xWF+G8Hv8TMTKK9zC33RGEC1eLBe0tFaLMnJgUNXngefN84eBh1M8sw24J0X5Yxj5aRPXCwUIngTev8C9LwBfyETmQrPi/Wvo18IFeTod6eWyizawc5/xoa9rrODkmey3LiSjKMNJ2woyiRkbd57ez4kWv4crgr8t/qig2P1ngOuhazO+Dbk7smVKXdvMFznis++11dpRw+DUjHdtVKzvBo5pHH8ZJaT/8DIQzV/uKKuUlc3FJTMiRYjqOOCZ8YAdtGEDY4KG9bNtR+Nq3YYiAhtqltkmS7HZEC5emIVZLAWbi0tq+sL5zTGUijORPprrjR3N5ybt63+waiYoUrU/yJRm1rbfUz42lxafPVPNnLCqWFzlUn6IT+iOFsfgt3a1sblxZHqKqnDu2Q5DFT4OjM3Ezl1Wkfl07/TEcWr9hZ8m5oOihlkwEdxp0ZKlsr0aLdJrI1g7Y2xtrM99KXzlJfVEdcZ+Ux/KfMe1Spy1VTbE9nUA0xQpbu4cXOWyRKlYWVW0vqPembCYVTZsYJxum20Yrgpk94mNxMvD1+XVsYW9vQuKOy1amlSuLV4g6glmVnV8wdw2MNY0htg1PmdPkM96KtdkeqbOsrKi9Ecv3z7tQZ2QWt0m5SIi3xKRbhF5LanseyKy0zyOi8hOs/ztIrJdRF41f95oRVRXudiI3mWvA1smDEVnjK1Rb26vruVX1c6aErWEKhmIvZ51e21ZTKmcxumpOINcVlwhLE6JLE6LHsMIXTLTvOqdqnqZql4G/BD4kXmrF/hPqnoxhvf8/7TSgatcbEC8wkWfvYoDnuLtAB6Ojp2P9TKq2SdI93jhgHf2pssNDdU5bSs4MX6I9nBj9g04hOdHFt5lXzBsGrmo6lYgZRQvM8TJB4AnzWd3qOpp8/YeICwiaVcNXOWSI8uuWUvbZ95N7Ma6YotCRdD4d/bmEFZy7VXN9EZmLzmHgoO5iIUItIVzz6tUbL5zKo6Suz0rFwrk/n8dcE5VD6W4917gFVVN62fgKpccWHXr5Ry8qIV95/qZDhXXp6PSG2JozBixdE+MEvRnZx8YbJv9e1T4/PTHj+Ys36mJo1T7wukfdDCDMaWbK4oqQwbToiYR2ZZ03JtBNx/EHLXM6ltkE0ZkyP9spRFXuWRJoCrE66vriZnBvIczcI3PB43+WjB9MeJA+7K6jNtoW1PDvtHZhts3NDSgNoQYiBNjXU1Lzu0Um2cGiuh1nJkTXW8irpF5PGqlCzPMyXswYi0ll7cDPwb+VFWPWGnLVS5Zoqr0jxjTD/EoPdODRZWnUmcvg1fVZj58r940v059hX2pS6diDvByzZEnzkSZlpXpH8wX+V+KfhuwPznAm4jUAT8DHlBVy3l3XOWSJRqLE/AZS74tK8LFD0Idmb0iM+rJPCrdOc/s0VdLqJLBlNPu7OiOnKHSV1ybRa5MKfyfoSuL0redHroi8iTwIka42S4Rudu8dRfzp0T3A2uB/5q0VJ12GOqAhfvSZPU9N/DyqPFlrF8WoIhRPgAY6Jl9fXw8s7APvoCH1ycGZ5VdvsxLr50R9URpDdZyNFrERO428ORZ5b01ghTBW01syKkFi4Y8+ViKsv8O/PdM+3BHLlmw7pNvO69YAEJVxf0z+sXLgWOzwwEMTk3S1mg9nnrrqppZvi2XNjbTE7M/Vmy1P/d9T8WmbzrOlKwufMfuxsXyRYF1n34nL43NXqr1FnkRZGWwlcjU/E9UU7N15VK9fOZL7/d4qK8+ZXvITICAp/gbAO1gWIuzHcDdW1SGKLDuL27mpaH5EyBvqLj/zVAk9bYDDVr7Inu80FM/k2v6uuXNjOg5W2SbT/YOfk5iJFak3d7uyKW8UODCv3oXLw8sYMcIFDdoaf8C2356Y9ac6da+q5WDZniF1nAVo97ddok2D8UhAV5zZCxenC0N7silzFj/ybexrW9wwftxX/FWinwp7C0JusbSm5nXXt3Mi5GZjLyXtUKMqUVq5IaH0re5AFR4ijQCc0cu5cPaD79pno1lLnFP8ZTLQvYWgMl4jNaGhcNANC6vZE/DzLCnJVxJT3zfgs/bwZRNqx3FptJbhBUvLa3o/5aVi4h4RWSHiDxlXt8vIodFREVk0T31IlJjrqU/klT2QXML924R+UWijUW2fXeKyETSvX/N6jfOgI53XszOUHq7RTG/LuEF7C0J6usXsA2IEr8KRpNi7q6ry22DohVGbIzxW0wqZDz9QzZTapHoMvFz+TSwD0h8ml8AnsJMNZKGzwNbExemi/HXgY2q2isiX8Jw1Pmcqt6Z9NxXgGRDxxFzO3jeabmikyOrG4hOWpgiFHEBZK5/y1y8vtTvj/XXtvL7sZOzykL+ONlvebRGT6T4EfRzpTXgoVr3F6dzdYjmsIClkYu5r+AWZrIiJrZhH7dQdzPQCvwyudg8Ks3t3TXA6Tn1Zm37LiS1a1oYuG4tY1YUCxTtH+4TL/uPLvJlVeXs2fl2F48XjjcMzi/Psx0h5AkzPF34N77d3NceQyiOI2ApjVysTou+BnwWMjP1i4gH+ApGKtfzqOo0RiL6VzGUykaMTIvJpNr2vdqcmv2HiFy3QJ/3JnaC9vSkea2noPEN7YzfejE9QxlEui/SyGUxewvA+tom+lL8Huuua+X0xHylMx7Jr7G11p9ZIntnolxTsatYXZeXQVdEbgW6VXV7Fu3fBzydvAnKbNOPoVwuB5YDu4EH59Sdu+37DNChqpdjpHn9XyIyz+Cgqo8mdoI2N2fm6BRqrGL87RfRM5zZ27VY/8tke0tbuIpr6pfzpoplvDHYxlX+VvoPDM6r4/UJh6tTx7XdPzCc10FY0Fv6mQDe0xIkoCfSP5gnSsmga8Xmci1wm4i8GwgBNSLyhMVk9NcA14nIfUAVEBCRUYwQeiS2bovI9zFzQpvXiW3fmxNlZnCaiHm+XUSOAOuAbRbkSI9HaLjnevaeSxmcy5Ek7C2rq+oY2D/Ea7H09ox117fwu8nUX47eyXEu8bYzFO9KeT9ntPS3sv1py9GijgycojiskHbkoqoPqmq7qnZi7Jh8zqJiQVU/rKodZt3PAI+r6gPAKWCjiCSGFm/HMBYnSLXtu1lEvOb5GuBCIPcoRiYXfuodWSuWYqQT8YmXA0eN/U3LvZXEYuk/df6gh33hxaeKnlirLfKlIq6l7fr/3hY/dVkN4G1CMex7Vg4HkLWfi4h8SkS6gHZgt4h8wyzfkjhfCDMe598DW0VkN3AZ8A9Jj6Ta9v0Ws5+dwA+A/6Kqtgwz1nzgal4eLPa+5sxY51/N5JSpUCx+Z9de30xfZPEp3+vD+fPZKaGXbkr+rKVIK0RJlJJBN6Nxqqo+j7n0rKoPAw+neGYbcE+K8scwIo4nrv8VSOmrssC27x9iTqfsQE3tvub9V7G3LgBTmcc/Od9Wgceqdf4qXt0+I6+Vz1KowservnNpt/YcGOzj2tpqJrF/ybiUPTYvCHup0tfSP5hvHKI4rFDK/++ciNWEiX7iel6p9DKZg2IBGC/gsmSdv5LI/jb6hjJz0e98SxND09bkrPS0ZSNaWjxOeaVmwftaij/uKmcnurJCRBidsGcPzWAs//FzPQirAm1EjjRy6HQf1f4gFT4/YZ+XqZHFhyPhqgC75PSizySj8fys6kgpWSPn0BpwgGexqm3BogrBklUudhEMCWOxzEcuG72rGdsXoP/0FD1nDL9Yn8+Lzy94fYLf78Frnnt9wsjANHsHo0Afxm6hCONEGAf6WDzqXOuaKrqi1m1KeYuwpqU7UK7yOiRUROnoFle55EpDW4jBDJ73i48L+9ax/ef9cH46ZVhkp6fiTOdvQ7Jlpj3dpW99tZkKjwNGLjhnymMFV7nkSHWjz7JyaQ3Uo79vZPuBAQrp1jvSEzE2YFjgDQ1NDMd35EWOeB5DOeSbsDgg7q8CJTQtKt1xqkOoqLeW9L3OV8XQUzWcOJDBtgKb6D83hk/S/6tDXh8ttdklnLdCJFa6+4qCku8tnRYpJ/d/l8XxLxwu5TwePFS/uoKBnuK8uTUOraH08XSvXxlmKH4qb3KIBQXnRMIeqLTPXzMnSmm1qDT/2w5CKtI7nW0cW8/BV4rrpNfmWVwL3riylV7dm1cZAp7SzFn0n9s9iDpj1CVxtXQ4AVe55EjUv/hoZINvFS//+0CBpFmY8OjCMV8vb2phSPLv1q5aeiEur6j2cXvNM8UWw6DcdkW7LM6EZ2FD36pAK/t/EKOo0aRMRrtSy9lRVUuwam9BxtL9Uw6xW2TAh9omnTNqAUTV0uEEXOWSI8Oa2kC7PNDIqR8HmBgrcppXk1OHhwh6Zi8OVvkCrGnuYVoL8KVXoWs8dagHJ7M2eKbYIswmbvFwAK5yyQHxKIPT85VLk7+GwZ9XMzKY27YCO4lHlTUVM8GaBHjTSi8j8XzlJ5pNjb+u+Pm0M8QL1HKw2GLMwh25LBHqmkLE57wmKr0hYs830XfWGU5XydRFZ1JD3tTRTF+8cF+cKt/igcSdSHvIg2j+t3ZYxrW5LB3qmuYbSdtPr+b0cWfaFjyThu3n+hVt9PNKQfv2SZFz3mbBick4McnPJs7ssLZSZGW1SES+JSLdIvJaUlnKzBvmvQfNbB8HROSdVqR1lUsOyJw8HBf5Otn5bPFXhhZi7MQ471gdZtT3ct5TiMxlMlZ8o3Y2nI1fWGwRZmNfsKjHgJtnN613quplZoaNHwI/AhCRjRgxljaZdf4lEbhtMVzlkgPx+MyUqMZXwZGfKk5YGVqIyPBEQadCCXzi5+DI2YL3awfbRhdNyVVY1L4Yuqq6FUgZbC1F5o3bge+qakRVjwGHgavS9eEqlxyYmpj5L7Ye62Co39l7Z4bzGGVuMdpCq4jEHbKrOEP+7ZQSl8ZiizGD9ZFLUyILhnncm0EvczNvrABeT7rfZZYtirtxMQdOH5/g8us78U8EeWnr4mEPnMDkeJx6Xx0D0cGC9islnB96NKb8bvxa3hL+SbFFMbBurO1V1S1Z9jI380ZWuMolR3Z853xSgpKgNt7AQEZBInJnxAlxJHLgSyc8vPmiRjxafD8diefXiSVV5g2MgPork67bzbJFcadFSwwZSr+B0U5U4dSEc43cVhiNKcN0FFsMM+SCxSN75mXeAH4C3CUiQRFZjZF546V0DbnKZYnRf6KwBufW0HJGow6IhZIj43kK/ZkJgjUHOitOdCLyJPAisF5EukTkbvPWvMwbqroH+D6wF/gF8EnV9B6RlpWLiHjNVKpPmdf3m+veKiKLmtRFpMb8BR5JKvugiLwqIrtF5BeJNkTkcyJyKmm9/d1JdTJea3eZzZE9k0iBVrRUYTJW/C+lHQzHHOKnY9NStKp+UFWXqarfzEv2TbP8Y2ZmjrnPf0FVL1DV9ar6cyuiZjJy+TSzE5e9gDGEspLb8vPA1sSFOa/7OvBWVb0EI53r/UnPfzWx3q6qT5t1slprd5nN6EiMZn9hllfbw6s5NOKwvTlZMhhziFG63JKiiUg7cAtwPtmZqu5Q1eMW6m7GCLL4y+Ri86g019RrMBLSL0ZWa+0u86mOFGBpVYWeiEN20NnASNQB77HC2Fxsw+rI5WvAZ8lQbDFCj30FI5XreVR1GiMR/asYSmUj8M2kR+43p0vfEpF6s8zSWruI3JtY2+/pWTx16VIl0pP/oE2rKtbzegnugl6IjmDhw5OmQuJxS4cTSKtcRORWoFs1qyS59wFPz7E8IyJ+DOVyObAcY1r0oHn7fwAXYKR4PYOhnCyjqo+q6hZV3dLc3Jy+whLk9KH8OtM1+JvZNViY3daF4I21Ptb5/1BsMQCLUyKHTIus+LlcC9xmGlZDQI2IPGExGf01wHUich9QBQREZBQzLauqHgEQke8DD5hl5z+VIvJvwFPmZVZr7S7zOXZwgnVvCRCJ2+9/4hU/w9NhInFb0ngXlRvq/fzVioNU625n7DRWHKM4rJB25KKqD5rW5E4Mg+pzFhULqvphVe0w634GeFxVH8BQChtFJDG0eDumsVhEliU18SdAYtdmVmvtLvPRuNDsaclL2y2BCzk1UfqK5Z4VPv5u+b8bisVJlKHNZR4i8ikR6cIYQewWkW+Y5VsS5wuhqqeBvwe2ishujCnQP5i3v5RYogbeCvyFWSertXaX1HjVfufsVRUb2Dl40vZ2C83bG/18uO5nCM4J9pWglIJFZfQJU9XngefN84eBh1M8sw24J0X5YxjbvBPX/wqkWk//vxbp/wvAFzKR2SU1vokqCNjXXkd4PS/1daV/0OFcVOnlwWW/QdShjn8OURxWcPcWLVEi/X6wKQ7SyvBatvdbT3TvVBr9Hr6+eocj9hClRBViDpnzWMB1/1+i9L6e+4dUFToqLmLHQDdxR1g8sycg8K31xwnosWKLsjgltFrkKpclyolDk3hy+PfX+uqp81/Iy32vE9PSeZumRnl0wxC1uqPYgqTHVS4uTmdiPE6bL/N5UdhTycrwJk6MwcEyce3/3Bro9DxfbDHSoxiJ6K0cDsBVLkuY0Kj1bQBBT4iO8CbOTgTZ1n+iZCPLzWVF0Mv1Fb8uthgWUdC4tcMBuAbdJUz/UZ+x8SINjYFW+iN+Xu63ske1tPi71cPIAontHIfiGnRdSoPXD6ePoNcRXseRkSnOTg7mX6ACs7HSx4Xe/yi2GJlRQjYXd+SyhBkeirJYXLqO8EZe7i99p7iF+JtV3QglNr1ziOKwgjtyWcJMR5Rl/tRG3ZXhC8tasQjKCs/OYouRIeW3cdGljKkYaYbQ7JxCLYHl7Boo73AVb6wNIDpSbDEyQwGHhFOwgjtyWeL0HJodBKnKW82piTjT6rx9NXZyfX2J/n4lNHJxlcsSZ9/OcQJi5Lz24SOuzfRPOSj5ep6o9paicjHd/60cDmDJTou8HqGuyiFBl4vMat8FnNYuWgJr2TN8hlp/eQTVXozBGHA+yKENeOrsa2shFNQhPixWWLLKpb2ljl89/Ilii+FSVD5XbAEyxyHet1ZYssrFxaUkcYg9xQqucnFxKRVUS2q1yFUuLi6lhDtycXFxsR9FY6UT2dVVLi4upUIi5EKJ4Pq5uLiUEjaFXDATDnaLyGtzyv9cRPaLyB4R+ZJZ5heR75iB8/eJyIOpW52NO3JxcSkRFFD7Ri6PAY8AjycKROStGGmTL1XViIgk8s+8Hwiq6sUiUgHsFZEn06VzdpWLi0upoGpbIChV3SoinXOKPwE8pKoR85nuxOMYed19QBiYAobT9eFOi1xcSgiNxSwdQFMiZ7p53Guh+XUYGVL/KCL/ISJXmuU/AMYw0iufBP5RVdNmvivrkcv27dt7RWSh8GlNQG8h5bEBV+bCkA+ZV+XawAgDzzyrP2iy+Hivqt6cYRc+oAF4I3Al8H0RWQNcBcQw8rrXA78VkWdV9Wi6xsoWVV0wE72IbFPVLYWUJ1dcmQuDU2XOQllkShfwI1VV4CURiWMo2g8Bv1DVaaBbRF4AtgCLKhd3WuTi4pLg3zFSKCMi6zBycvZiTIVuNMsrMUY2+9M15ioXF5cliIg8CbwIrBeRLhG5G/gWsMZcnv4u8FFzFPPPQJWI7AFeBr6tqrvT9VHW06I0PFpsAbLAlbkwlKLMGaGqH1zg1kdSPDuKsRydEaIltFfBxcWldHCnRS4uLnnBVS4uLi55oSyUi4hcKiIvmnsffioiNUn3HhSRwyJyQETeuUB9EZEviMhBc+/Ep5LKHzbr7xaRK5LqfFREDpnHRwss72MickxEdprHZWZ5vYj82JT1JRF5Q1Kd42Z/O0VkWybyFlHmm802D4vIAw6SudZsb5cYe3D+LKlOLOn5n2Qqc1mhqiV/YFiwrzfPPw583jzfCOwCgsBq4AjgTVH/zzD2WHjM6xbz57uBnwOCsfz2R7O8AWONvwHDqegoUF9AeR8D3pei/MvA35nnG4BfJ907DjQV8W+ckcyA12xrDcaS6C5go0Nk/hvgi+Z5M9APBMzr0WJ/H5xylMXIBcNteat5/ivgveb57cB3VTWiqseAwxjehnP5BPDf1Ix+rDN7Km4HHleDPwB1IrIMeCfwK1XtV9UBs89MHJxylXchNgLPmb/DfqBTRFozqL8YhZb5KuCwqh5V1SmMpdHbHSKzAtUiIkAVhnIpxXQCeaVclMseZj547wdWmucrgNeTnusyy+ZyAXCnuQfj5yJyYZr6VtvNl7wAXzCnEl8VkaBZtgt4D4CIXIXhct5u3lPglyKyXaztMym2zLn+jfMp8yPARcBp4FXg0zoTlj9kfo7+ICJ3ZChvWVEyykVEnhWR11Ict2MMee8Tke1ANcauzUwIApNquHz/G4YzkZPlfRBjCnElxtTsr83yhzBGVzuBPwd2YOwJAXizql4BvAv4pIi8pQRkTkuRZH4nsBNjr81lwCNJ9pxV5ufoQ8DXROSCDPssG0rGiU5V35bmkXfAebflW8yyU8y8rcB4I55KUbcL+JF5/mPg22nqnwJumFP+fKHkVdUz5mlERL4NfMYsH8awH2EO2Y9h7v9Q1VPmz24R+THGNGDrnHadJHPYYrsFl9mU9yE1jCyHReQYhhJ6KenvfFREngcux7DpLD2KbfSx42DGAOvBMMx+3LzexGzD3VFSG+4eSqpzA/CyeX4Lsw26L5nlDRhfgnrzOAY0FFDeZeZPAb6G8UEHqGPGsPh/Y9iLACqB6qTz3wM3F/hvnKnMPrOt1cwYdDc5ROb/AXzOPG/FUExN5mchaJY3AYfI0AhdTkfRBbDll4BPAwfN4yFMz2Pz3t9ivDkOAO9KKn8aWG6e1wE/w5g/v4gRiSvxofpns/6rwJak+h/HMAQeBv6swPI+Z8rzGvAEUGWWX2O2eQBjJFZvlq8xv0y7MOwQf1uEv3FGMpv33m3eO+IwmZcDv0y69xGz/E1m2S7z593F/m4U83Dd/11cXPJCyRh0XVxcSgtXubi4uOQFV7m4uLjkBVe5uLi45AVXubi4uOQFV7m4uLjkBVe5uLi45IX/Hw5mlbg7pnffAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ssurgo_data.plot(column=\"elevation_mean\", legend=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ssurgo_data.plot(column=\"elevation_max\", legend=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_categorical_13_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_categorical_13_1.png new file mode 100644 index 0000000..0fe4614 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_categorical_13_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_categorical_16_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_categorical_16_1.png new file mode 100644 index 0000000..5bf8a14 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_categorical_16_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_categorical_4_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_categorical_4_1.png new file mode 100644 index 0000000..6e364f2 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_categorical_4_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_function_3_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_function_3_1.png new file mode 100644 index 0000000..6d7145f Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_function_3_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_function_4_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_function_4_1.png new file mode 100644 index 0000000..d7148c9 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_function_4_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_12_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_12_1.png new file mode 100644 index 0000000..a329d31 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_12_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_15_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_15_1.png new file mode 100644 index 0000000..6207c20 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_15_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_18_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_18_1.png new file mode 100644 index 0000000..a4805b7 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_18_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_9_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_9_1.png new file mode 100644 index 0000000..0789008 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_rasterize_point_data_9_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_timestamp_missing_data_10_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_timestamp_missing_data_10_1.png new file mode 100644 index 0000000..8892f97 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_timestamp_missing_data_10_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_timestamp_missing_data_14_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_timestamp_missing_data_14_1.png new file mode 100644 index 0000000..bf2366d Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_timestamp_missing_data_14_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_timestamp_missing_data_5_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_timestamp_missing_data_5_1.png new file mode 100644 index 0000000..22b05c9 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_timestamp_missing_data_5_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_vectorize_3_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_vectorize_3_1.png new file mode 100644 index 0000000..315dbed Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_vectorize_3_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_vectorize_5_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_vectorize_5_1.png new file mode 100644 index 0000000..ad218d2 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_vectorize_5_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_13_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_13_1.png new file mode 100644 index 0000000..5e86fd3 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_13_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_14_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_14_1.png new file mode 100644 index 0000000..aeae5f5 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_14_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_7_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_7_1.png new file mode 100644 index 0000000..698b866 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_7_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_8_1.png b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_8_1.png new file mode 100644 index 0000000..0af5b39 Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/nbsphinx/examples_zonal_statistics_8_1.png differ diff --git a/refs/tags/0.7.0/.doctrees/readme.doctree b/refs/tags/0.7.0/.doctrees/readme.doctree new file mode 100644 index 0000000..4acd12f Binary files /dev/null and b/refs/tags/0.7.0/.doctrees/readme.doctree differ diff --git a/refs/tags/0.7.0/_images/examples_categorical_13_1.png b/refs/tags/0.7.0/_images/examples_categorical_13_1.png new file mode 100644 index 0000000..0fe4614 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_categorical_13_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_categorical_16_1.png b/refs/tags/0.7.0/_images/examples_categorical_16_1.png new file mode 100644 index 0000000..5bf8a14 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_categorical_16_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_categorical_4_1.png b/refs/tags/0.7.0/_images/examples_categorical_4_1.png new file mode 100644 index 0000000..6e364f2 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_categorical_4_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_rasterize_function_3_1.png b/refs/tags/0.7.0/_images/examples_rasterize_function_3_1.png new file mode 100644 index 0000000..6d7145f Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_rasterize_function_3_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_rasterize_function_4_1.png b/refs/tags/0.7.0/_images/examples_rasterize_function_4_1.png new file mode 100644 index 0000000..d7148c9 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_rasterize_function_4_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_rasterize_point_data_12_1.png b/refs/tags/0.7.0/_images/examples_rasterize_point_data_12_1.png new file mode 100644 index 0000000..a329d31 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_rasterize_point_data_12_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_rasterize_point_data_15_1.png b/refs/tags/0.7.0/_images/examples_rasterize_point_data_15_1.png new file mode 100644 index 0000000..6207c20 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_rasterize_point_data_15_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_rasterize_point_data_18_1.png b/refs/tags/0.7.0/_images/examples_rasterize_point_data_18_1.png new file mode 100644 index 0000000..a4805b7 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_rasterize_point_data_18_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_rasterize_point_data_9_1.png b/refs/tags/0.7.0/_images/examples_rasterize_point_data_9_1.png new file mode 100644 index 0000000..0789008 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_rasterize_point_data_9_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_timestamp_missing_data_10_1.png b/refs/tags/0.7.0/_images/examples_timestamp_missing_data_10_1.png new file mode 100644 index 0000000..8892f97 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_timestamp_missing_data_10_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_timestamp_missing_data_14_1.png b/refs/tags/0.7.0/_images/examples_timestamp_missing_data_14_1.png new file mode 100644 index 0000000..bf2366d Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_timestamp_missing_data_14_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_timestamp_missing_data_5_1.png b/refs/tags/0.7.0/_images/examples_timestamp_missing_data_5_1.png new file mode 100644 index 0000000..22b05c9 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_timestamp_missing_data_5_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_vectorize_3_1.png b/refs/tags/0.7.0/_images/examples_vectorize_3_1.png new file mode 100644 index 0000000..315dbed Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_vectorize_3_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_vectorize_5_1.png b/refs/tags/0.7.0/_images/examples_vectorize_5_1.png new file mode 100644 index 0000000..ad218d2 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_vectorize_5_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_zonal_statistics_13_1.png b/refs/tags/0.7.0/_images/examples_zonal_statistics_13_1.png new file mode 100644 index 0000000..5e86fd3 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_zonal_statistics_13_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_zonal_statistics_14_1.png b/refs/tags/0.7.0/_images/examples_zonal_statistics_14_1.png new file mode 100644 index 0000000..aeae5f5 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_zonal_statistics_14_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_zonal_statistics_7_1.png b/refs/tags/0.7.0/_images/examples_zonal_statistics_7_1.png new file mode 100644 index 0000000..698b866 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_zonal_statistics_7_1.png differ diff --git a/refs/tags/0.7.0/_images/examples_zonal_statistics_8_1.png b/refs/tags/0.7.0/_images/examples_zonal_statistics_8_1.png new file mode 100644 index 0000000..0af5b39 Binary files /dev/null and b/refs/tags/0.7.0/_images/examples_zonal_statistics_8_1.png differ diff --git a/refs/tags/0.7.0/_modules/geocube/_show_versions.html b/refs/tags/0.7.0/_modules/geocube/_show_versions.html new file mode 100644 index 0000000..7e78070 --- /dev/null +++ b/refs/tags/0.7.0/_modules/geocube/_show_versions.html @@ -0,0 +1,211 @@ + + + + + + + + geocube._show_versions — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +

Source code for geocube._show_versions

+"""
+Utility methods to print system info for debugging
+
+adapted from :func:`sklearn.utils._show_versions`
+which was adapted from :func:`pandas.show_versions`
+"""
+# pylint: disable=import-outside-toplevel
+import importlib.metadata
+import platform
+import sys
+
+
+def _get_sys_info():
+    """System information
+    Return
+    ------
+    sys_info : dict
+        system and Python version information
+    """
+    blob = [
+        ("python", sys.version.replace("\n", " ")),
+        ("executable", sys.executable),
+        ("machine", platform.platform()),
+    ]
+
+    return dict(blob)
+
+
+def _get_gdal_info():
+    """Get the GDAL dependency information.
+
+    Returns
+    -------
+    proj_info: dict
+        system GDAL information
+    """
+    import pyogrio
+    import rasterio
+
+    blob = [
+        ("pyogrio", importlib.metadata.version("pyogrio")),
+        ("GDAL[pyogrio]", pyogrio.__gdal_version__),
+        ("rasterio", importlib.metadata.version("rasterio")),
+        ("GDAL[rasterio]", rasterio.__gdal_version__),
+    ]
+
+    return dict(blob)
+
+
+def _get_deps_info():
+    """Overview of the installed version of dependencies
+    Returns
+    -------
+    deps_info: dict
+        version information on relevant Python libraries
+    """
+    deps = [
+        "appdirs",
+        "click",
+        "geopandas",
+        "odc_geo",
+        "rioxarray",
+        "pyproj",
+        "xarray",
+    ]
+
+    def get_version(module):
+        try:
+            return importlib.metadata.version(module)
+        except importlib.metadata.PackageNotFoundError:
+            return None
+
+    return {dep: get_version(dep) for dep in deps}
+
+
+def _print_info_dict(info_dict):
+    """Print the information dictionary"""
+    for key, stat in info_dict.items():
+        print(f"{key:>14}: {stat}")
+
+
+
+[docs] +def show_versions(): + """ + .. versionadded:: 0.0.12 + + Print useful debugging information + + Example + ------- + > python -c "import geocube; geocube.show_versions()" + + """ + print(f"geocube v{importlib.metadata.version('geocube')}\n") + print("GDAL deps:") + _print_info_dict(_get_gdal_info()) + print("\nPython deps:") + _print_info_dict(_get_deps_info()) + print("\nSystem:") + _print_info_dict(_get_sys_info())
+ +
+ +
+
+
+ +
+ +
+

© Copyright 2019-2023, Corteva Agriscience™.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/_modules/geocube/api/core.html b/refs/tags/0.7.0/_modules/geocube/api/core.html new file mode 100644 index 0000000..2b392cf --- /dev/null +++ b/refs/tags/0.7.0/_modules/geocube/api/core.html @@ -0,0 +1,225 @@ + + + + + + + + geocube.api.core — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +

Source code for geocube.api.core

+"""
+GeoCube client core functionality
+"""
+import os
+from collections.abc import Iterable
+from typing import Any, Callable, Literal, Optional, Union
+
+import geopandas
+import numpy
+import shapely
+import xarray
+from odc.geo.geom import Geometry
+
+from geocube.geo_utils.geobox import GeoBoxMaker
+from geocube.vector_to_cube import VectorToCube
+
+
+
+[docs] +def make_geocube( + vector_data: Union[str, os.PathLike, geopandas.GeoDataFrame], + *, + measurements: Optional[list[str]] = None, + datetime_measurements: Optional[list[str]] = None, + output_crs: Any = None, + resolution: Optional[Union[float, Iterable[float]]] = None, + align: Optional[tuple[float, float]] = None, + geom: Optional[ + Union[str, dict, shapely.geometry.base.BaseGeometry, Geometry] + ] = None, + like: Optional[Union[xarray.Dataset, xarray.DataArray]] = None, + fill: float = numpy.nan, + group_by: Optional[str] = None, + interpolate_na_method: Optional[Literal["linear", "nearest", "cubic"]] = None, + categorical_enums: Optional[dict[str, list]] = None, + rasterize_function: Optional[Callable[..., Optional[numpy.typing.NDArray]]] = None, +) -> xarray.Dataset: + """ + Rasterize vector data into an ``xarray`` object. Each attribute will be a data + variable in the :class:`xarray.Dataset`. + + Parameters + ---------- + vector_data: str, path-like object or :obj:`geopandas.GeoDataFrame` + A file path to an OGR supported source or GeoDataFrame containing + the vector data. + measurements: list(str), optional + Attributes name or list of names to be included. If a list is specified, + the attributes will be returned in the order requested. + By default all available attributes are included. + datetime_measurements: list(str), optional + Attributes that are temporal in nature and should be converted to the datetime + format. These are only included if listed in 'measurements'. + output_crs: Any, optional + The CRS of the returned data. Can be anything accepted by :obj:`pyproj.CRS`. + If no CRS is supplied, the CRS of the stored data is used. + resolution: Union[float, Iterable[float]], optional + A tuple of the spatial resolution of the returned data (Y, X). + This includes the direction (as indicated by a positive or negative number). + Typically when using most CRSs, the first number would be negative. + align: tuple[float, float], optional + Load data such that point 'align' lies on the pixel boundary. + Units are in the co-ordinate space of the output CRS. + Default is (0,0) + geom: Union[str, dict, shapely.geometry.base.BaseGeometry, odc.geo.geom.Geometry], optional + A GeoJSON string for the bounding box of the data used to construct the + grid. It defaults to EPSG:4326 if a CRS is not provided. + Example of adding CRS:: + + {"type": "Polygon", "crs": {"properties": {"name": "EPSG:3857"}}} + + like: :obj:`xarray.Dataset`, optional + Uses the output of a previous ``load()`` to form the basis of a request + for another product. + E.g.:: + + gcds = make_geocube(vector_data='my_vector.geopackage', like=other_gcds) + + fill: float, optional + The value to fill in the grid with for nodata. Default is NaN. + group_by: str, optional + When specified, perform basic combining/reducing of the data on this column. + interpolate_na_method: {'linear', 'nearest', 'cubic'}, optional + This is the method for interpolation to use to fill in the nodata with + :meth:`scipy.interpolate.griddata`. + categorical_enums: dict, optional + A dictionary of all categories for the table columns containing categorical + data. The categories will be made unique and sorted if they are not already. + E.g. {'column_name': ['a', 'b'], 'other_column': ['c', 'd']} + rasterize_function: function, optional + Function to rasterize geometries. Other options are available in + `geocube.rasterize`. Default is :func:`geocube.rasterize.rasterize_image`. + + Returns + -------- + :obj:`xarray.Dataset`: + Requested data in a :obj:`xarray.Dataset`. + + """ + geobox_maker = GeoBoxMaker( + output_crs=output_crs, resolution=resolution, align=align, geom=geom, like=like + ) + + return VectorToCube( + vector_data=vector_data, + geobox_maker=geobox_maker, + fill=fill, + categorical_enums=categorical_enums, + measurements=measurements, + group_by=group_by, + datetime_measurements=datetime_measurements, + ).make_geocube( + interpolate_na_method=interpolate_na_method, + rasterize_function=rasterize_function, + )
+ +
+ +
+
+
+ +
+ +
+

© Copyright 2019-2023, Corteva Agriscience™.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/_modules/geocube/exceptions.html b/refs/tags/0.7.0/_modules/geocube/exceptions.html new file mode 100644 index 0000000..0856706 --- /dev/null +++ b/refs/tags/0.7.0/_modules/geocube/exceptions.html @@ -0,0 +1,126 @@ + + + + + + + + geocube.exceptions — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +

Source code for geocube.exceptions

+"""
+This contains exceptions for GeoCube.
+"""
+
+
+
+[docs] +class GeoCubeError(RuntimeError): + """Base GeoCube exception class."""
+ + + +
+[docs] +class VectorDataError(GeoCubeError): + """This is for errors in the vector data passed into GeoCube."""
+ +
+ +
+
+
+ +
+ +
+

© Copyright 2019-2023, Corteva Agriscience™.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/_modules/geocube/rasterize.html b/refs/tags/0.7.0/_modules/geocube/rasterize.html new file mode 100644 index 0000000..737bee3 --- /dev/null +++ b/refs/tags/0.7.0/_modules/geocube/rasterize.html @@ -0,0 +1,356 @@ + + + + + + + + geocube.rasterize — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +

Source code for geocube.rasterize

+"""
+This module contains tools for rasterizing vector data.
+"""
+from typing import Optional, Union
+
+import geopandas
+import numpy
+import odc.geo.geobox
+import pandas
+import rasterio
+import rasterio.features
+from numpy.typing import NDArray
+from packaging import version
+from rasterio.enums import MergeAlg
+from scipy.interpolate import Rbf, griddata
+
+_INT8_SUPPORTED = version.parse(rasterio.__gdal_version__) >= version.parse(
+    "3.7.0"
+) and version.parse(rasterio.__version__) >= version.parse("1.3.7")
+
+
+def _is_numeric(data_values: NDArray) -> bool:
+    """
+    Check if array data type is numeric.
+    """
+    return numpy.issubdtype(data_values.dtype.type, numpy.number)
+
+
+def _remove_missing_data(
+    data_values: NDArray,
+    geometry_array: geopandas.GeoSeries,
+) -> tuple[NDArray, geopandas.GeoSeries]:
+    """
+    Missing data causes issues with interpolation of point data
+    https://github.com/corteva/geocube/issues/9
+
+    This filters the data so those issues don't cause problems.
+    """
+    not_missing_data = ~pandas.isnull(data_values)
+    geometry_array = geometry_array[not_missing_data]
+    data_values = data_values[not_missing_data]
+    return data_values, geometry_array
+
+
+def _minimize_dtype(*, dtype: numpy.dtype, fill: float) -> numpy.dtype:
+    """
+    If int64, convert to float64:
+    https://github.com/OSGeo/gdal/issues/3325
+
+    Attempt to convert to float32 if fill is NaN and dtype is integer.
+    """
+    if numpy.issubdtype(dtype, numpy.integer):
+        if not _INT8_SUPPORTED and dtype.name == "int8":
+            # GDAL<3.7/rasterio<1.3.7 doesn't support int8
+            dtype = numpy.dtype("int16")
+        if numpy.isnan(fill):
+            dtype = (
+                numpy.dtype("float64") if dtype.itemsize > 2 else numpy.dtype("float32")  # type: ignore
+            )
+    elif not numpy.issubdtype(dtype, numpy.floating):
+        # default to float64 for non-integer/float types
+        dtype = numpy.dtype("float64")
+    return dtype
+
+
+
+[docs] +def rasterize_image( + *, + geometry_array: geopandas.GeoSeries, + data_values: Union[NDArray, pandas.arrays.IntegerArray], + geobox: odc.geo.geobox.GeoBox, + fill: float, + merge_alg: MergeAlg = MergeAlg.replace, + filter_nan: bool = False, + all_touched: bool = False, + **ignored_kwargs, +) -> Optional[NDArray]: + """ + Rasterize a list of shapes+values for a given GeoBox. + + Parameters + ----------- + geometry_array: geopandas.GeoSeries + A geometry array of points. + data_values: Union[NDArray, pandas.arrays.IntegerArray] + Data values associated with the list of geojson shapes + geobox: :obj:`odc.geo.geobox.GeoBox` + Transform of the resulting image. + fill: float + The value to fill in the grid with for nodata. + merge_alg: `rasterio.enums.MergeAlg`, optional + The algorithm for merging values into one cell. Default is `MergeAlg.replace`. + filter_nan: bool, optional + If True, will remove nodata values from the data before rasterization. + Default is False. + all_touched: bool, optional + Passed to rasterio.features.rasterize. If True, all pixels touched by + geometries will be burned in. If false, only pixels whose center is + within the polygon or that are selected by Bresenham’s line algorithm + will be burned in. + **ignored_kwargs: + These are there to be flexible with additional rasterization methods and + will be ignored. + + Returns + ------- + :obj:`numpy.ndarray` or None + The vector data in the rasterized format. + + """ + if not _is_numeric(data_values): + # only numbers can be rasterized + return None + + if isinstance(data_values, pandas.arrays.IntegerArray): + data_values = data_values.to_numpy( + dtype=_minimize_dtype(dtype=data_values.dtype.numpy_dtype, fill=fill), + na_value=fill, + ) + + if filter_nan: + data_values, geometry_array = _remove_missing_data(data_values, geometry_array) + + image = rasterio.features.rasterize( + zip(geometry_array.values, data_values), + out_shape=(geobox.height, geobox.width), + transform=geobox.affine, + fill=fill, + all_touched=all_touched, + merge_alg=merge_alg, + dtype=_minimize_dtype(dtype=data_values.dtype, fill=fill), + ) + return image
+ + + +
+[docs] +def rasterize_points_griddata( + *, + geometry_array: geopandas.GeoSeries, + data_values: NDArray, + grid_coords: dict[str, NDArray], + fill: float, + method: str = "nearest", + rescale: bool = False, + filter_nan: bool = False, + **ignored_kwargs, +) -> Optional[NDArray]: + """ + This method uses scipy.interpolate.griddata to interpolate point data + to a grid. + + Parameters + ---------- + geometry_array: geopandas.GeoSeries + A geometry array of points. + data_values: list + Data values associated with the list of geojson shapes + grid_coords: dict + Output from `rioxarray.rioxarray.affine_to_coords` + fill: float + The value to fill in the grid with for nodata. + method: {'linear', 'nearest', 'cubic'}, optional + The method to use for interpolation in `scipy.interpolate.griddata`. + rescale: bool, optional + Rescale points to unit cube before performing interpolation. Default is false. + filter_nan: bool, optional + If True, will remove nodata values from the data before rasterization. + Default is False. + **ignored_kwargs: + These are there to be flexible with additional rasterization methods and + will be ignored. + + Returns + ------- + :class:`numpy.ndarray`: An interpolated :class:`numpy.ndarray`. + + """ + if not _is_numeric(data_values): + # only numbers can be rasterized + return None + + if filter_nan: + data_values, geometry_array = _remove_missing_data(data_values, geometry_array) + + return griddata( + points=(geometry_array.x, geometry_array.y), + values=data_values, + xi=tuple(numpy.meshgrid(grid_coords["x"], grid_coords["y"])), + method=method, + fill_value=fill, + rescale=rescale, + )
+ + + +
+[docs] +def rasterize_points_radial( + *, + geometry_array: geopandas.GeoSeries, + data_values: NDArray, + grid_coords: dict[str, NDArray], + method: str = "linear", + filter_nan=False, + **ignored_kwargs, +) -> Optional[NDArray]: + """ + This method uses scipy.interpolate.Rbf to interpolate point data + to a grid. + + Parameters + ---------- + geometry_array: geopandas.GeoSeries + A geometry array of points. + data_values: list + Data values associated with the list of geojson shapes + grid_coords: dict + Output from `rioxarray.rioxarray.affine_to_coords` + method: str, optional + The function to use for interpolation in `scipy.interpolate.Rbf`. + {'multiquadric', 'inverse', 'gaussian', 'linear', + 'cubic', 'quintic', 'thin_plate'} + filter_nan: bool, optional + If True, will remove nodata values from the data before rasterization. + Default is False. + **ignored_kwargs: + These are there to be flexible with additional rasterization methods and + will be ignored. + + Returns + ------- + :class:`numpy.ndarray`: An interpolated :class:`numpy.ndarray`. + + """ + if not _is_numeric(data_values): + # only numbers can be rasterized + return None + + if filter_nan: + data_values, geometry_array = _remove_missing_data(data_values, geometry_array) + + interp = Rbf(geometry_array.x, geometry_array.y, data_values, function=method) + return interp(*numpy.meshgrid(grid_coords["x"], grid_coords["y"]))
+ +
+ +
+
+
+ +
+ +
+

© Copyright 2019-2023, Corteva Agriscience™.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/_modules/geocube/vector.html b/refs/tags/0.7.0/_modules/geocube/vector.html new file mode 100644 index 0000000..916737b --- /dev/null +++ b/refs/tags/0.7.0/_modules/geocube/vector.html @@ -0,0 +1,181 @@ + + + + + + + + geocube.vector — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +

Source code for geocube.vector

+"""
+Module for vector methods
+"""
+import warnings
+
+import geopandas
+import numpy
+import rasterio.features
+import rioxarray  # noqa: F401 pylint: disable=unused-import
+import shapely.geometry
+import xarray
+
+
+
+[docs] +def vectorize(data_array: xarray.DataArray) -> geopandas.GeoDataFrame: + """ + .. versionadded:: 0.4.0 + + Powered by: :func:`rasterio.features.shapes` + + Convert 2D :class:`xarray.DataArray` into + a :class:`geopandas.GeoDataFrame`. + + The ``nodata``, ``CRS``, and ``transform`` of the :class:`xarray.DataArray` + are determined using ``rioxarray``. + + Helpful references: + + - https://corteva.github.io/rioxarray/stable/getting_started/crs_management.html + - https://corteva.github.io/rioxarray/stable/getting_started/nodata_management.html + + + Parameters + ---------- + data_array: xarray.DataArray + Input 2D DataArray raster. + + Returns + ------- + geopandas.GeoDataFrame + """ + # nodata mask + mask = None + if data_array.rio.nodata is not None: + if numpy.isnan(data_array.rio.nodata): + mask = ~data_array.isnull() + else: + mask = data_array != data_array.rio.nodata + + # vectorize generator + vectorized_data = ( + (value, shapely.geometry.shape(polygon)) + for polygon, value in rasterio.features.shapes( + data_array, + transform=data_array.rio.transform(recalc=True), + mask=mask, + ) + ) + + if data_array.name: + name = data_array.name + else: + warnings.warn("The array has no name. Column name defaults to _data") + name = "_data" + + return geopandas.GeoDataFrame( + vectorized_data, + columns=[name, "geometry"], + crs=data_array.rio.crs, + )
+ +
+ +
+
+
+ +
+ +
+

© Copyright 2019-2023, Corteva Agriscience™.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/_modules/index.html b/refs/tags/0.7.0/_modules/index.html new file mode 100644 index 0000000..dcce2c7 --- /dev/null +++ b/refs/tags/0.7.0/_modules/index.html @@ -0,0 +1,113 @@ + + + + + + + + Overview: module code — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +

All modules for which code is available

+ + +
+
+
+ +
+ +
+

© Copyright 2019-2023, Corteva Agriscience™.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/_sources/authors.rst.txt b/refs/tags/0.7.0/_sources/authors.rst.txt new file mode 100644 index 0000000..e122f91 --- /dev/null +++ b/refs/tags/0.7.0/_sources/authors.rst.txt @@ -0,0 +1 @@ +.. include:: ../AUTHORS.rst diff --git a/refs/tags/0.7.0/_sources/cli.rst.txt b/refs/tags/0.7.0/_sources/cli.rst.txt new file mode 100644 index 0000000..03c71df --- /dev/null +++ b/refs/tags/0.7.0/_sources/cli.rst.txt @@ -0,0 +1,10 @@ +geocube\.cli package +======================= + +.. click:: geocube.cli.geocube:geocube + :prog: geocube + + +.. click:: geocube.cli.commands.make_geocube:make_geocube + :prog: geocube make_geocube + :show-nested: diff --git a/refs/tags/0.7.0/_sources/contributing.rst.txt b/refs/tags/0.7.0/_sources/contributing.rst.txt new file mode 100644 index 0000000..e582053 --- /dev/null +++ b/refs/tags/0.7.0/_sources/contributing.rst.txt @@ -0,0 +1 @@ +.. include:: ../CONTRIBUTING.rst diff --git a/refs/tags/0.7.0/_sources/examples/categorical.ipynb.txt b/refs/tags/0.7.0/_sources/examples/categorical.ipynb.txt new file mode 100644 index 0000000..580303f --- /dev/null +++ b/refs/tags/0.7.0/_sources/examples/categorical.ipynb.txt @@ -0,0 +1,783 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Categorical Data" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "import pandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load in soil data" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "ssurgo_data = geopandas.read_file(\"../../test/test_data/input/soil_data_group.geojson\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# original data\n", + "ssurgo_data[ssurgo_data.hzdept_r==15].plot(column='sandtotal_r')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Generate categories for categorical data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If your data is only a subset of all of the data, the list of categories you get will likely not be complete.\n", + "\n", + "NOTE: The categories will be made unique and sorted internally if they are not already." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Somewhat poorly drained',\n", + " 'Poorly drained',\n", + " 'Well drained',\n", + " 'Excessively drained']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# this is only a subset of all of the classes\n", + "ssurgo_data.drclassdcd.drop_duplicates().values.tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# complete list of categories\n", + "drclasses_complete = [\n", + " 'Poorly drained',\n", + " 'Somewhat poorly drained',\n", + " 'Excessively drained',\n", + " 'Subaqueous',\n", + " 'Well drained',\n", + " 'Somewhat excessively drained',\n", + " 'Very poorly drained',\n", + " 'Moderately well drained'\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "categorical_enums = {'drclassdcd': drclasses_complete}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert data to grid\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "out_grid = make_geocube(\n", + " vector_data=ssurgo_data,\n", + " output_crs=\"epsg:32615\",\n", + " group_by='hzdept_r',\n", + " resolution=(-100, 100),\n", + " categorical_enums=categorical_enums\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<xarray.Dataset>\n",
+       "Dimensions:                (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n",
+       "Coordinates:\n",
+       "  * y                      (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n",
+       "  * x                      (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n",
+       "  * hzdept_r               (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n",
+       "  * drclassdcd_categories  (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n",
+       "    spatial_ref            int64 0\n",
+       "Data variables:\n",
+       "    drclassdcd             (hzdept_r, y, x) float64 -1.0 -1.0 -1.0 ... 7.0 7.0\n",
+       "    hzdepb_r               (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n",
+       "    claytotal_r            (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n",
+       "    sandtotal_r            (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n",
+       "    silttotal_r            (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n",
+       "Attributes:\n",
+       "    grid_mapping:  spatial_ref
" + ], + "text/plain": [ + "\n", + "Dimensions: (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n", + "Coordinates:\n", + " * y (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n", + " * x (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n", + " * hzdept_r (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n", + " * drclassdcd_categories (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " drclassdcd (hzdept_r, y, x) float64 -1.0 -1.0 -1.0 ... 7.0 7.0\n", + " hzdepb_r (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n", + " claytotal_r (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n", + " sandtotal_r (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n", + " silttotal_r (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaAAAAEWCAYAAAAgpUMxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8GearUAAAgAElEQVR4nO3debxcRZ3//9ebgCCbLAkYCBhlWAadECFsggJhQBYNIiowbEH5IowMy7iRWUDRfH+gI6KiYEQWFQEBwYAsyReI7A4JSwhEFhFlT0iAsAiS3Pfvj6o2J53uvqfvPX3vTe7n+XicR7rr1KmuPn3T1adO1adkmxBCCKGvrdDfFQghhDA4RQMUQgihX0QDFEIIoV9EAxRCCKFfRAMUQgihX0QDFEIIoV9EA7SMkfSkpH+uoJxpko6qok6h70k6V9J/l8zbkc9a0rGSXpD0mqR1qy4/LP+iAQq9Imm8pNsHQD2OkzRd0luSLqzbN1KS8xdlbWv65Z3z3yLpDUl/qKLB741G59j2Mba/0Y91Wgk4E9jT9uq251VY9u75vL+RP4f3VFV2GFiiAQr9RtKQCot7FvgmcH6LPGvlL8vVu/nyvgS4D1gX+E/gCknDqqvqwCdpxW6yrA+sAjxU8esOBX4N/DewDjAduKzK1wgDRzRAy6bRkmZKekXSZZJWAZB0Td2v/C5J4/O+PfKvylcknQ2oWKCkz0qaLeklSTcWf3Xmq4fjJT0h6UVJ35a0gqR/BM4Fdsyv93KrSku6UNI5kq6T9DqwW1UnxPavbV8N9OqXuKTNgK2BU23/1faVwIPAASWP/6qkZyS9KukRSbvn9K9JuiJ/Xq9KulfSVoXjTpb0x7zvYUn75/SG5zify2/mx2tLulbS3Pz5XStpRJvve7ykOyR9V9I84GuSVpb0P5L+krvazpX0znyOHsmHvizp5nZeqxufBB6yfbntN4GvAVtJ2qLC1wgDRDRAy6bPAHsB7wVGAeMBbH+89gsf+DTwPHBT4VflfwFDgT8CO9UKk7Qf8B+k//zDgNtIVwFF+wNjSF/O+wGftT0bOAa4K7/uWiXq/i/ARGANYKmuO0k/kvRyk21mifJb+bOkpyVdkM9JI+8HnrD9aiHtgZzekqTNgeOAbW2vAXwUeLKQZT/gctIv+18CV+euLEifyYeBdwFfB34haXjJc7wCcAHwHmBj4K/A2d3Vt4HtgSdIVzcTgdOBzYDRwD8AGwKn2H6UxedjLdtjGxXW4nN8WdLJTerwftL5BsD266Rz0+35D8ueaIBakHS+pDmSZpXM/5n86/UhSb/sYNW+b/tZ2/OBa0hfEMV6bAZcBHzG9lPAPqRflVfYfhs4i9Q41RwD/H+2Z9teCPxf0lVWse/9DNvzbf8lH39wD+v+G9t32O7Kv3CXYPtfba/VZBvVw9d8EdiW9AW9Danxu7hJ3tWBV+rSXsnHdGcRsDKwpaSVbD9p+4+F/TMKn8GZpC6sHQDyL/5n83m5DHgM2K7Mm7M9z/aVtt/IDedEYJcyx9Z51vYP8t/Am8DRwEn5c3+V9HdxUNnCWnyOa9k+vclhvTn/YRkTDVBrF5KuNLolaVNgArCT7fcDJ3awXsXG4w3Sf9paPd4F/Ab4L9u1K4wNgKdqeZwi0D5VKOM9wPdqv06B+aQuug0LeYr5/5zL7Imnus9SLduv2Z5ue6HtF0hXKXtKavSl9hqwZl3amsCrDfLWv87jpM/9a8AcSZdKKp6n4mfQBTxNPo+SDpd0f+Ez+ADparVbklaV9GNJf5a0ALgVWKsH99iKn80wYFVgRqFON+T0Turx+Q/LnmiAWrB9K+nL+O8kbSLpBkkzJN1W6Jv+P8APbb+Uj53Tx9VF0gqkrp1bbE8q7HoO2KiQT8XnpC+ez9f9Qn2n7TsLeYr5Nybd9AdoN5x6y/z5PsNrTbaqbnjX6tDo7/8h4H11jdNWlLzZbvuXtncmNeoGzijsLn4GKwAjgGfzleZPSA3jurmbbRaL79N1d46/CGwObG97TeAjtZcpU+di9QuPXyR15b2/8Dfxrty9W0qLz/E1Sf/R5LCHSOe7VsZqwCZUPNghDAzRALVvEvBvtrcBvgT8KKdvBmyWb+TeLanUlVPFJgKrASfUpf8WeL+kTyqNbjoeeHdh/7nABEnvh3QVJenTdWV8Od/s3iiXXxuZ9AIwQtI7qngDeXjx6k22pvcBJK2oNBhjCDBE0ir5vSJpe0mbKw2cWBf4PjDNdn1XD/n+xv3AqbmM/Un32a7MZe0qqWGDkF9jrKSVSV1YfwW6Clm2KXwGJwJvAXeTPjMDc3M5R5KugGq6O8dr5Nd6WdI6wKnNzlNZ+QrtJ8B3Ja2X67WhpI+2UUazz3F12/+3yWFXAR+QdED+PE8BZtr+Q2/fUxh4ogFqg6TVgQ8Bl0u6H/gxMDzvXhHYFNiVdH/kJ5LK3JSv0sGkewovFX5pHmL7RdKghNNJo8Q2Be6oHWT7KtIv9UtzF84sYO+6sn8DzCB9Of8W+GlOv5n06/R5SS927J11779IX8InA4fmx/+V972P1H30Kum9vUXhHla+6jq3UNZBpAEXL5HO2adsz837NgKKV4ZFK+f8L5K6SdcjdcvW/AY4MJd7GPBJ22/bfhj4DnAXqbH5JwqfD92f47OAd+bXvTu/1yp8FXgcuDv/Xfw/0pVWx+TzfADpx9RLpIERpe87hWWLYkG61iSNBK61/QFJawKP2B7eIN+5wO9tX5Cf3wScbPuevqxvJ+Rf/JvmexyDmqTzgMtt39jmcV8D/sH2oR2pWAjLoLgCaoPtBcCfat1TSmr91VeTrn5qk+k2Iw1pDcsR20e12/iEEBqLBqgFSZeQukU2V5o/8jngEOBzkh4gdYvsl7PfCMyT9DBwC/BlVxieZFmRh6A3uul8SH/XbbBrMcDj3O6PDqF60QUXQgihX8QVUAghhH7RXcDBQWvo0KEeOXJkf1cjdGPeWwNrdO4LL6zd31UIbdhy4/V7XcaMGTNetN2rCbof3W01z5u/qNzrzXzrRtv9Mc2jctEANTFy5EimT5/e39UI3bjosQ/1dxWW8L0z66dPhYFs+jkn9boMSX/ubRnz5i/if2/cuFTeIcMfKxUhY1kQDVAIIfQzA11LzFkeHKIBCiGEfmbM2y7XBbc8iQYohBAGgLgCCiGE0OeMWTQIp8REAxRCCANAV9uB5Zd90QCFEEI/M7BoEDZAMRE1hBAGgC5cauuOpI0k3aLFqzOfkNO/JumZvPDh/ZL2aXL8XpIekfS4mi+dXomON0CShki6T9K1DfaNlzS3cEKOKuw7Q9KsvB1YSL+tkP9ZSVfndEn6fj5pMyVtXTjmCEmP5e2ITr/nEEJoh4G37VJbCQuBL9rekrQ8yxckbZn3fdf26LxdV3+g0iq6PyQtx7IlcHDh2Mr1RRfcCcBsll5mt+Yy28cVEyTtC2wNjCatsTJN0vW2F9j+cCHflaQ1ViCdsE3ztj1wDrB9YYGuMaTPeYakybWVS0MIob8ZV9YFZ/s50irI2H5V0mxgw5KHbwc8bvsJAEmXkgIuP1xJ5ep0tAGSNALYl7S41L+3ceiWwK22FwILJc0E9gJ+VSh7TWAscGRO2g/4mVN01bslrSVpOGmJhKm25+fjpuayLmlZg7dn0fX8Zm1UOfSH7515bH9XYUB7o/eRZgBY9YVqyglNGBaVb3+GSiqGaZlke1KjjHk9sw8Cvwd2Ao6TdDgwnXSVVP9DfEPgqcLzp0k/6Dui011wZwFfgZYD3A/IXWZXKC33DPAAsJekVfPaOruRVqIs+gRwU16jBxqfuA1bpC9F0tGSpkuaPnfe4JsUFkIj0fh0XoqEUG4DXrQ9prA1a3xWJy0lf2L+njwH2ITUs/QcaRXeftWxBkjSx4A5tme0yHYNMNL2KGAqcBGA7SnAdaSlj2tr8tS3CAfT3VVMm2xPqn2ow9YdUmXRIYTQglhUcitVmrQSqfG52PavAWy/YHuR7S7gJ6TutnrPsOSP/RE5rSM6eQW0EzBO0pPApcBYSb8oZrA9z/Zb+el5wDaFfRPzjbI9AAGP1vblq6LtgN8Wimt24vr0hIYQQrvSIASV2rojScBPgdm2zyykDy9k2x+Y1eDwe4BNJb1X0juAg4DJvXlvrXSsAbI9wfYI2yNJb+Jm24cW89SdkHGkwQq1kXPr5sejgFHAlELeTwHX2n6zkDYZODyPhtsBeCXfjLsR2FPS2pLWBvbMaSGEMCCkeUCVXQHtBBxG+tFfHHL9LUkP5nvquwEnAUjaQNJ1APm++3Gk78jZwK9sP1T9O076fCKqpNOA6bYnA8dLGkcaNjgfGJ+zrQTclhpyFgCH5hNTcxBwel3R1wH7AI8Db5AHJ9ieL+kbpJYd4LTagIQQQhgoukpc3ZRh+3Zo2FItNew653+W9N1Ze35ds7xV65MGyPY0YFp+fEohfQIwoUH+N0kj4ZqVt2uDNANfaJL/fOD89modQgh9o3YFNNhEKJ4QQuhnRiwahIFpogEKIYQBoKouuGVJNEAhhNDPjPibB9/Uj2iAQgihn6WJqNEFF0IIoR/EIIQQQgh9zhaLHFdAIYQQ+kFXXAGFEELoa2kQwuD7Oh587ziEEAaYGIQQQgih3yyKeUAhhBD6WkRCCCGE0G+6YhRcCCGEvpaCkUYDFEIIoY8Z8XaE4gkhhNDXbGIiagghhP6gyiaiStoI+BmwPql3b5Lt70n6NvBx4G/AH4Ejbb/c4PgngVeBRcBC22MqqVgD0QCFMAC9sX5/12CxN9aHVV/o71os30ylV0ALgS/avlfSGsAMSVOBqcAE2wslnUFaDPSrTcrYzfaLVVWomWiAQggtRePTN6oahGD7OeC5/PhVSbOBDW1PKWS7G/hUJS/YC4Ov0zGEEAYYI7pcbmuHpJHAB4Hf1+36LHB90+rAFEkzJB3d5ltpS8cbIElDJN0n6doG+8ZLmivp/rwdVdh3hqRZeTuwkC5JEyU9Kmm2pONz+pcL5cyStEjSOnnfk5IezPumd/o9hxBCOwy87RVLbcBQSdMLW8NGQtLqwJXAibYXFNL/k9RNd3GT6uxse2tgb+ALkj5S5Xst6osuuBOA2cCaTfZfZvu4YoKkfYGtgdHAysA0Sdfnkzge2AjYwnaXpPUAbH8b+HY+/uPASbbnF4rtkz7NEEJon9pZD+jF7gYGSFqJ1PhcbPvXhfTxwMeA3W270bG2n8n/zpF0FbAdcGvZyrWjo1dAkkYA+wLntXnolsCtthfafh2YCeyV9x0LnGa7C9JJanD8wcAlPat1CCH0LZMiIZTZuiNJwE+B2bbPLKTvBXwFGGf7jSbHrpYHLiBpNWBPYFbv32Fjne6CO4v0hrta5DlA0kxJV+ThgwAPAHtJWlXSUGA30lUPwCbAgfnS83pJmxYLk7QqqbG6spBcqk9T0tG1y9q58xa19UZDCKE3FuWroO62EnYCDgPGFm5L7AOcDawBTM1p5wJI2kDSdfnY9YHbJT0A/C/wW9s3VP5ms451wUn6GDDH9gxJuzbJdg1wie23JH0euAgYa3uKpG2BO4G5wF2kMemQuuTetD1G0ieB84EPF8r8OHBHXffbzrafyd11UyX9wfZSl5S2JwGTAMZstUrDy9MQQqiarcpiwdm+HRq2VNc1SMP2s8A++fETwFaVVKSETl4B7QSMy5OaLiW1xr8oZrA9z/Zb+el5wDaFfRNtj7a9B+lkPpp3PQ3U+jSvAkbVve5B1HW/Ffs08zHb9e6thRBCddIghCGltuVJxxog2xNsj7A9ktQo3Gz70GIeScMLT8eRBivURs6tmx+PIjUytTHsV5O65AB2YXHDhKR35bTfFNL6tE8zhBDaJxZ5hVLb8qTPJ6JKOg2YbnsycLykcaQhgfNJI9wAVgJuS/fSWAAcanth3nc6cLGkk4DXgKMKxe8PTMkDF2rWB67KZa0I/LKTfZohhNCuNAghFqTrCNvTgGn58SmF9AmkcBD1+d8kjYRrVNbLpJF1jfZdCFxYl9anfZohhNATsRxDCKFXBlIMt7DsqEVCGGyiAQohhAGgK66AlpaHOp8BrEcajSbAtptFNgghhNAGG97uigaokW8BH7c9u9OVCSGEwSh1wUUD1MgL0fiEEEJntRELbrlRpgGaLuky0vyb2qRRigHuQggh9FwMw25uTeAN0gTOGrM4GkEIIYReiS64hmwf2RcVCSGEwaxrEHbBddvkShoh6SpJc/J2ZV5mIYQQQgXSKLghpbblSZlrvguAycAGebsmp4UQQqhAp5bkHujKNEDDbF+QF4dbmMPdDOtwvUIIYVDpQqW25UmZQQjzJB3K4iUODgbmda5KIZQ3/dRzKinnoxtUEy5w3UpKgadO+VBFJfVeVeGFVn2hmnKWR4N1FFyZK6DPAp8BngeeAz4FxMCEEEKoUFVLci9Lun03tv9se5ztYbbXs/0J23/pi8qFEMJgYIuFXqHU1h1JG0m6RdLDkh6SdEJOX0fSVEmP5X/XbnL8ETnPY5KOqPitLqFpF5ykr9j+lqQfkK4Ql2D7+E5WLIQQBpMKu+AWAl+0fW9ejHOGpKmk9dZusn26pJOBk4GvFg+UtA5wKjCG9L0/Q9Jk2y9VVbmiVveAauF3pnfihUMIISRV3gOy/Rzpdgm2X5U0G9gQ2A/YNWe7iLRG21frDv8oMNX2fIDccO3F4jEAlWraANm+Jj98w/blxX2SPt2JyoQQwmDVRgM0VFLxwmCS7UmNMkoaCXwQ+D2wfm6cIN3TbzS8ZEPgqcLzp3NaR5QZBTcBuLxEWgghhB5oc0G6F22P6S6TpNWBK4ETbS+QFpdv25KWurXS11rdA9ob2AfYUNL3C7vWJPUxhhBCqEiVc3wkrURqfC4uBI5+QdJw289JGg7MaXDoMyzupgMYQeqq64hWQyqeJd3/eROYUdgmk/oJQwghVMCGhV0rlNq6o3Sp81Ngtu0zC7smA7VRbUcAv2lw+I3AnpLWzqPk9sxpHdH03dh+wPZFwD8Bv7B9UX7+GwrLMnRH0hBJ90m6tsG+8ZLmSro/b0cV9p0haVbeDiykS9JESY9Kmi3p+Jy+q6RXCmWdUjhmL0mPSHo8j/4IIYQBpcJQPDsBhwFjC9+H+wCnA3tIegz45/wcSWMknQeQBx98A7gnb6fVBiR0Qpl7QFNIlX0tP39nTis7VfsE0oi6Zkt4X2b7uGKCpH2BrYHRwMrANEnX215AGkq4EbCF7S5J6xUOvc32x+rKGgL8ENiDdEPtnjys8OGS9Q8hhI5q8x5Q67Ls26Fpf97uDfJPB44qPD8fOL+SynSjzLTaVWzXGh/y41XLFJ6jZu8LnNdmvbYEbs2x514HZpKGAgIcS2qVu3J9GvVjFm0HPG77Cdt/Ay4lDUcMIYQBw1apbXlS5grodUlb274XQNI2wF9Lln8W8BVgjRZ5DpD0EeBR4CTbTwEPAKdK+g6psdsNqF2xbAIcKGl/YC5wvO3H8r4dJT1Aun/1JdsP0XhY4faNKiLpaOBogI03LHNqQljSQIrhFpYty1ug0TLKfMueCFwu6VnSZd27gQNbHwKSPgbMsT1D0q5Nsl0DXGL7LUmfJ02OGmt7iqRtgTtJjcxdwKJ8zMrAm7bHSPok6VLxw8C9wHtsv5b7O68GNi3x/v4uj6WfBDBmq1X6fYhiCGFwsCMYaUO27wG2IHV9HQP8o+0ZJcreCRgn6UlSt9dYSb+oK3ue7dqAhvOAbQr7JtoebXsPUsP3aN71NIuXA78KGJXzL6h1Fdq+DlhJ0lDSsMKNCi87IqeFEMIAIRZ1rVBqW56UWRF1VVK4hhNszwJG5qublmxPsD3C9kjgIOBm24fWlT288HQcOfxPHjm3bn48itTITMn5riZ1yQHsQm6YJL07Dz9E0nb5vc0jjeTYVNJ7Jb0j12Vyd/UPIYS+FPeAGruANP9nx/z8GVIUhKWGVZch6TRguu3JwPGSxpEmts4njXADWAm4LbcnC4BDbdcmv54OXCzpJNLIvNrojU8Bx0paSLpHdZBtAwslHUcayz4EOD/fGwohhAFhsK4HVKYB2sT2gZIOBrD9Ru1Koyzb08izaW2fUkifQArrU5//TdJIuEZlvUwaWVeffjZwdpNjrgOua6fOIYTQZ5zuAw02ZRqgv0l6J3lJBkmb0MZE1BBCCN2LUXCNnQrcAGwk6WLS4ILxnaxUCCEMJs6DEAabbhsg21Ml3QvsQBqNdoLtFztesxBCGESiC65A0ha2/yBp65xUW0diY0kbAfNt/7njNQwhhEFgeRvhVkarK6B/J0UF+E6T/etKesD2YdVXK4QQBg87GqAl2D46/7tbszySpjTbFwaeMV8/tpJypp96TiXlDCQRQqe5VV/o7xoMDjEMu4G8sNGxwEdy0jTgx7bftr1nB+sWQgiDRtwDauwc0sTQH+Xnh+W0o5oeEUIIoTQjumIUXEPb2t6q8PzmHHE6hBBCRQbhBVCp9YAW5cmnAEh6H4sjU4cQQugtRyy4Zr4E3CLpCdI8oPcAR3a0ViGEMNhUdAkk6XygthzOB3LaZcDmOctawMu2Rzc49kngVdJFxkLbY7p5rRWAHWzf2ZO6tmyA8nLWW5HW1alV/pHCEgohhBAqUOHVzYWkuJg/W1y2/76GW17o85UWx+9WNtiA7S5JPwQ+2JOKtuyCs70IONj2W7Zn5i0anxBCqJCBri6V2roty76VtLrAUnIg6c8Al1RY/ZskHdBukGoo1wV3h6SzgcuA12uJtSW6Qwgh9JKB8ldAQyVNLzyflFdzLuPDwAu2H2tRkymSTJpuU6bcz5MCFyyU9CbpVo1tr9ndgWUaoFo/4Wl1lRxb4tgQQggltDEP6MXu7s20cDCtr352tv2MpPWAqZL+kK+omrK9Rqv9kt7fbA22MsFIm0ZCCCGEUJEOj8OWtCLwSWCbplWwn8n/zpF0FbAd0LIBKuHnwNaNdpSJhLAuaUmGnUmn6HbgNNvzelmpsIyqIqRPVeF8PrrBVt1nKuOU7rP0pQh/M9j0yRDrfwb+YPvphjWQVgNWsP1qfrwnS/Z89VTTN1ZmHtClwFzgANKy13NJ94NCCCFUxSW3bki6BLgL2FzS05I+l3cdRF33m6QNJNVWi14fuD0HGvhf4Le2b+jlu6JVrcvcAxpu+xuF59+UdGDT3CGEENpjcIkRbqWKsg9ukj6+QdqzwD758ROkaTd9pswV0BRJB0laIW+fAW4s+wKShki6T9K1DfaNlzRX0v15O6qw7wxJs/JWHMMuSRMlPSpptqTjc/ohkmZKelDSnZK2KhzzZE6/v270SAghDBAquS1z/tZsR5kroP8DnEi6kQQwBHhd0ucpN9TuBGA20CzfZbaPKyZI2pd002o0sDIwTdL1theQlgPfCNgiT4JaLx/2J2AX2y9J2huYBGxfKLb05KoQQuhzy1gwuMJipQ3VpurY3qFZnjKj4FoOsWtF0ghgX2AiaZx4WVsCt9peSBpbPhPYC/gVaWmIf7Hdles3J/9bDAVxNzCip/UOIYQ+t4w1QDRfrBRKTtUpcwXUG2cBXwFaNWIHSPoI8Chwku2ngAeAU3PIiFWB3YCHc/5NgAMl7U8aEHF8g0lVnwOuLzzvyeSqEELoG+1NRB0Qqpii07EGSFItGN4MSbs2yXYNcIntt3KX3kXAWNtTJG0L3ElqZO5icQTulYE3bY+R9EngfNLs3trr7kZqgHYuvE6pyVWSjiYtQ87GG3a6bQ4hhMWW5QXpJH2A1HO1Si3N9s+aH5E0HYQg6b29rNNOwLgcXfVSYKykXxQz2J5XiC13HoUJUrYn2h5tew/SnbdH866ngV/nx1cBowp1HpXL2a84T6k4uSofs12jCtueZHuM7THD1h3Ss3cdQgg90aVy2wAj6VTgB3nbDfgWMK7Msa1GwV2RC7+pJ5WyPcH2CNsjSePPb7Z9aDGPpOGFp+NIgxVqI+fWzY9HkRqZKTnf1aQ3CbALuWGStDGpYTrMdq2xQtJqktaoPSZNrprVk/cUQgidIpfbBqBPAbsDz9s+kjSU+11lDmzVz7SCpP8ANpO01AAC22f2pKaSTgOm254MHC9pHLCQFL11fM62EnBbDq66ADg0D0gAOB24WNJJwGssXhr8FGBd4Ef5uNpaFusDV+W0FYFfVjS5KoQQqlFykukA9dc8InmhpDWBOaSRyt1q1QAdBHwi5+nxSDgA29OAafnxKYX0CcCEBvnfJPUnNirrZdLIuvr0o1jcGBXT+3xyVQghtEfL3CCEgumS1gJ+AswgXRjcVebApg2Q7UeAMyTNtH19s3yh8y5+dZ3+rsKAdeOzD1RSzkc3qKQYnjrlQ9UUFAafZfQKyPa/5ofnSroBWNP2zDLHlhnqdaekM4GP5Oe/IwUjbbWi3rJvpQ+wwrt7FzSh6/nNKqpMCGG519XfFegZSTfZ3h3A9pP1aa2UCcVzPmmN8M/kbQFwQY9rG0IIYUm1eUBltgFC0iqS1iEtkLe2pHXyNhLYsEwZZa6ANrF9QOH51yXd3351QwghNDNAR7i18nlSmLYNgOIK2QuAs8sUUKYB+quknW3fDiBpJ+CvbVY0hBBCK8tYA2T7e8D3JP2b7R/0pIwyDdAxwM8k1cZ1vwQc0ZMXCyGEsNz5cV6VoDZOYBop5Nnb3R1YJhjpA8BWeXw3OSJ1CCGECi2DXXA1PyLN3fxRfn4YcA4NpsXUKx3wLBqeEELoEDMgw+yUtK3t4lzLm/Oqqt0qMwouhBBCp1W3JPf5kuZImlVI+5qkZwqLf+7T5Ni9JD0i6XFJJ5es+SJJmxTKeB+Lg0e3FCGfQwhhAKiwC+5C0ii0+mjU37X9P01fXxoC/BDYgxT0+R5Jk20/3OyY7MvALZKeIAWOfg/w2TIV7bYBkrQq8EVgY9v/R9KmwOa2l1piO4QQQg9V1ADZvjXPxWnXdsDjOXwZki4F9mPxWmzN3A5sCmyenz9S9gXLXAFdQIrvs2N+/gxwORANUDeW1xA60089p7+rULkIoRP6XfkGaKikYpiWSSUX2TxO0uHAdOCLtl+q278h8FTh+dPA9iXKvcv21sDfw+9IuhdouWQ3lJ+IeqCkgwFsv6EcWjqEEELvtbnUwvAaVqcAAB7YSURBVIs50n87zgG+QWrmvkFaTrtUN1kzkt5NarTeKemDpO43gDVJK1l3q0wD9DdJ7yS3z/lm01utDwkhhNCWDo6Cs/1C7bGkn9C4B+sZllxGYUROa+ajpCV0RgDF5XkWAP9Rpl5lGqCvATcAG0m6mLTS6ZFlCg8hhFBOJ+cBSRpu+7n8dH8aL8p5D7BpXg37GdKSPP/SrEzbFwEXSTrA9pU9qVeZiahTJM0AdiBdYp1g+8WevFgIIYQmKmqAJF0C7Eq6V/Q0cCqwq6TR+VWeJMVxQ9IGwHm297G9UNJxwI3AEOB82w+VeMlvS9oh55/dTl3LjIKrhdX+bYO0EEIIvVXhctu2D26Q/NMmeZ8F9ik8vw64rs2X3Ip0tfRTSSuQVlC4tEzwgqYTUasItR1CCKGkiiai9jXbr9r+ie0PAV8lXXE9J+kiSf/Q6thWV0DFUNszWDzCoXSo7RBCCOVo2V2QbgiwL2lswEjSCLuLgQ+TrqaarszZaknuXofaDiGEsNx7DLgF+LbtOwvpV0j6SJNjgBKx4Gz/QNIHJH1G0uG1rWzNJA2RdJ+kpYb9SRovaW4hPtFRhX1nSJqVtwML6ZI0UdKjkmbnMOC19O/nGEYzJW1dOOYISY/lLZaSCCEMPMtoFxwwyvbn6hofAGwf3+rAMoMQTiWNqNiSdDm1Nyn0Qn2coWZOAGaTJic1cpnt4+pec1/SLNrRwMrANEnX55ta40lj1bew3SVpvXzY3qRwEJuSZu+eA2yf72OdCowhfXwzcnyj+lnAIYTQPyochNAPFkr6AvB+YJVaou1uJ7qWiYb9KWB34HnbR5JGPLyr9SGJpBGkvsHzyuQv2BK41fZC26+TQjzslfcdC5xmuwvA9pycvh/wMyd3A2tJGk6aLDXV9vzc6EwtlBVCCAPDsnsF9HPg3aTv2t+RJqa+WubAUkty5yuNhXlRujksOVu2lbOArwBrtMhzQO4nfBQ4yfZTwAPAqZK+QwrpsBuLA+JtAhwoaX9gLnC87cdoHMdowxbpS5F0NHA0wMYbb1zyLQ4+Y75+bK/LGGjx5DY6banegx6JmHKhxwZm41LGP9j+tKT9bF8k6ZfAbWUOLHMFNF3SWsBPSKPh7gXu6u4gSR8D5tie0SLbNcBI26NIVyYXQZr8SuruuxO4JL9ebX2JlYE3cyykn5DGnFfC9iTbY2yPGTZsWFXFhhBCSyKNgiuzDUC1pbdflvQBUg/Zei3y/12ZQQj/avtl2+eS1ok4InfFdWcnYJykJ4FLgbGSflFX9jzbtbhy5wHbFPZNtD3a9h6kz+fRvOtp4Nf58VXAqPy4WRyjduMbhRBC3/LigKTdbQPQJElrA/8NTCb1Vn2rzIGlVkSVtKGkDwEbk+6ttBxaB2B7gu0RtkeSZsnebPvQunKHF56OIw1WqI2cWzc/HkVqZKbkfFeTuuQAdmFxwzQZODyPhtsBeCXHProR2DNPpl0b2DOnhRDCwLGM3gOyfZ7tl2z/zvb7bK+XL1i6VWYU3BnAgaRWrdYNZuDWnlRW0mnAdNuTgeMljQMWAvNJI9wAVgJuy6s+LAAOtb0w7zsduFjSScBrQG3o9nWkkBKPA2+QA6bani/pG6RAe5AGMMzvSd1DCKFjBmDj0oqkf2+13/aZrfZDuUEInyCtgNrjJRhsTwOm5cenFNInABMa5H+TNBKuUVkvk0bW1acb+EKTY86nwntFIYRQtQHavdZKbXCZWRwph0Jat8o0QE+QrkhiDaAQQuiUZawBsv11AEkXkVZJeDk/X5sUjqdbZRqgN4D7Jd1EoRHqboZrCCGEkjxgR7iVMarW+ADYfimvkNqtMg3Q5LyFEELolGXsCqhgBUlr16LL5OgzZdqWUgvSXdTLyoUQQujGMngPqOY7wF2SLs/PPw1MLHNg0wZI0q9sf0bSgzRom/Pk0RBCCFVYRhsg2z+TNB0Ym5M+afvhVsfUtLoCOiH/+7HeVC6ERn7+6tBKyjlsjVgdPiwHKpzjI+l80vf2HNsfyGnfBj4O/A34I3Bk8b5N4dgnSXHcFgELc8SZbuUGp1SjU9R0ImqexIntPzfa2n2hEEIIjYlKIyFcyNIBl6cCH8g9V4/SYPpLwW45Ck2pxqc3WnXBvUqLNtl2s+UVQgghtKmqe0C2b5U0si5tSuHp3aRVDvpdqxVR1wDIUQSeI4XcFnAIMLzZcSGEEHqgfAM0NN9zqZlke1Ibr/RZ4LIWtZgiycCP2yy3bWWGyo2zvVXh+TmSHgBOaXZACCGENpVvgF7safeYpP8khT67uEmWnW0/kxf6nCrpD7Z7FHatjDLBSF+XdEgOELqCpEOA1ztVoRBCGHT6IBq2pPGkwQmH5NBlS1fDfib/O4e02sB2PX/F7pVpgP4F+AzwQt4+ndNCCCFUpYPRsCXtRVocdJztN5rkWU1S7dbLaqSVA2b17BXLadkFJ2kIcJzt/TpZiRBCGOyqCsUj6RJgV9K9oqeBU0mj3lYmdasB3G37GEkbAOfZ3gdYH7gq718R+KXtG6qpVWMtGyDbiyTt3MkKhBBCqHQU3MENkn/aJO+zpGVssP0EsFWjfJ1SZhDCfZImA5dTuPdj+9fNDwkhhFDaAF1srtPKNECrAPNYHGYB0qmKBiiEEKoSDdDSbB/ZFxUJIYTBqhYJYbApsyT3COAHwE456TbS4kNPd7JiYbHvnnlgf1dhuffUKR/q7yqEQU5dg68FKjMM+wLSekAb5O2anBZCCKEKZYdgL2dtVJkGaJjtC2wvzNuFwLAO1yuEEAaVTk9EHYjKNEDzJB2aIyEMkXQoaVBCKfmY+yRd22DfeElzJd2ft6MK+86QNCtvBxbSL5T0p8Ixo3P6lwtpsyQtyivzIelJSQ/mfdPr6xFCCP1uEF4BlRkF91nSPaDv5ud3AO0MTDgBmA00i559me3jigmS9gW2BkaTJk9Nk3S97QU5y5dtX1E8xva3gW/n4z8OnGR7fiHLbrZj8ZgQwoC0vF3dlNHtFVBe/2ec7WF5+4Ttv5QpPA9g2Bc4r816bQncmrv8XgdmsvT6Fq0cDFzS5muGEEL/GYRXQN02QJJGSLpK0py8XZkbljLOIsUfahVk4gBJMyVdIWmjnPYAsJekVSUNBXYDNiocMzEf811JK9fVd1VSY3VlIbkWYnyGpKNbvNejJU2XNH3u3Lkl32IIIfSSUyieMtvypGOj4CTVloSd0SLbNcDIvErfVOAi+PviSdcBd5KuZO4iLRELKabRFsC2wDrAV+vK/DhwR1332862twb2Br4g6SONKmN7ku0xtscMGxbjLEIIfaPiFVGXGZ0cBbcTMC6vMX4pMFbSL4oZbM+z/VZ+eh6wTWHfxLws7B6kz+fRnP6ck7dIDWF9uPCDqOt+6+sQ4yGE0Da73LYc6dgoONsTbI+wPZLUKNxs+9BiHknFlVXHkQYr1EbOrZsfjwJGAVOKxyiFbP0EhXDhkt4F7AL8ppDW5yHGQwihXYPxCqjdUXAmdYv1ODyPpNOA6bYnA8dLGkdaoW8+MD5nWwm4LYcFXwAcanth3nexpGGkq6L7gWMKxe8PTMkDF2r6PMR4CCG0ZTkcYFBGmVhwfyZdnfSY7WnAtPz4lEL6BNI9nfr8b5JGwjUqa2yj9LzvQuDCurQ+DzFec8ga87vPVMJ3u8+yzDlsjWpGxH90g4o+2lhgPvSz5W2AQRllRsFdJGmtwvO1JZ3f2WqFEMLgMhhHwZXpghtl++XaE9svSfpgB+sUQgiDi1nuBhiUUWYQwgqS1q49yeFtyjRcIYQQSqpqEIKk8/OczeIArXUkTZX0WP537SbHHpHzPCbpiOreXWNlGqDvAHdJ+oakb5AGIXyrs9UKIYRBprpICBeydOSYk4GbbG8K3JSfLyFfXJwKbE+aqnJqs4aqKmVC8fwM+CTwQt4+afvnnaxUCCEMJlVORLV9K2lUcdF+5In++d9PNDj0o8BU2/Ntv0QKDtBOCLS2lepKs/0w8HAnKxJCCIOW3c6CdEProvpPsj2pm2PWt/1cfvw8aXpKvQ2BpwrPn85pHRP3ckIIYSAoPwbhRdtjevwytqWBMaW1zD2gEEIIHdbhSAgvFKLIDAfmNMjzDEsGfR6R0zqmzDygf+v0jagQQhjUDHS53NYzk4HaqLYjKIQrK7gR2DPP9VybFLbsxp6+YBllroDWB+6R9CtJe+UYbCGEEKpU0Sg4SbUVBDaX9LSkzwGnA3tIegz45/wcSWMknQeQVxD4BnBP3k6rW1WgcmVC8fyXpP8mtYZHAmdL+hXwU9t/7GTlQghhsKjqroztg5vs2r1B3unAUYXn5wN9Fumm7Cg4S3qeNHpiIbA2cIWkqba/0skKhupMP/Wc/q5CCL025nP393cVOqKNUXDLjW4bIEknAIcDL5LW7Pmy7bclrQA8RlrxNIQQQk9FNOym1iFNPv1zMdF2V171NIQQQi+kiaiDrwUqcw/o1Bb7ZldbnRBCGKSWs0jXZcRE1BBCGADiCiiEEELfi3tAIYQQ+kdbseCWG9EAhRDCQDAIu+A6HgtO0hBJ90m6tsG+8ZLmSro/b0cV9p0haVbeDiykXyjpT4VjRuf0XSW9Ukg/pXDMXpIekfS4pKXWwQghhH7lWJK7U04AZgNrNtl/me3jigmS9gW2BkYDKwPTJF1ve0HO8mXbVzQo6zbbSwwNlzQE+CGwBym8+D2SJuclJkIIYWCIK6BqSRoB7EuawNqOLYFbbS+0/Towk54vjLQd8LjtJ2z/DbiUtDhTCCEMHNWtiLrM6PQV0FmkSAlrtMhzgKSPAI8CJ9l+CniAtBzsd4BVgd1YckG8ibmL7SbgZNtv5fQdJT0APAt8yfZDNF5kaftGFZF0NHA0wMYbb9zWG+2kCKHT3FOnfKi/qxD62PSfjq6usB6vqlM9dS1n/WsldOwKKEdJmGN7Rots1wAjbY8iLf96EYDtKcB1wJ1ALbLronzMBGALYFtSlIav5vR7gffY3gr4AXB1u3W2Pcn2GNtjhg0b1u7hIYTQMyZNRC2zLUc62QW3EzBO0pOkbq+xkn5RzGB7XuHq5Txgm8K+ibZH296DFKni0Zz+nJO3gAtIXWzYXmD7tfz4OmAlSUPph0WWQgihHcLI5bblSccaINsTbI+wPRI4CLjZ9qHFPLUV+rJxpMEKtZFz6+bHo4BRwJTiMXldok8As/Lzd9fWKpK0XX5v80jrWmwq6b2S3pHrMrkjbzqEEHrKLrctR/p8HpCk04DpticDx0saR1riYT4wPmdbCbgttycLgENtL8z7LpY0jHRVdD9wTE7/FHCspIXAX4GDbBtYKOk40sp+Q4Dz872hEEIYOJazxqWMPmmAbE8DpuXHpxTSJ5Du6dTnf5M0Eq5RWWObpJ8NnN1k33Wke0ohhDDw1O4BDTIdn4gaQgihe+rqKrV1W460eWFC/v2SFkg6sS5P04n7fSlC8YQQQr+r7v6O7UdIk/hrE/GfAa5qkHWpift9LRqgEELob6ZT94B2B/5Yv6DoQBFdcCGEMBCUnwc0VNL0wnZ0i1IPIs2lbGRHSQ9Iul7S+yt6F22JK6AQQhgA2pjj86LtbmM45Gkn42gw0IvFE/dfk7QPaeL+pmUrUJVogMIy7eFjqglTtOW5x1ZSTui8MZ+7v7+r0BnVd8HtDdxr+4WlX+rvgZ2xfZ2kH0kaavvFqivRSjRAIYTQ32xYVPk47INp0v0m6d3AC7ZdN3G/T0UDFEIIA0GFV0CSViMtQfP5Qtox6WV8Ls0n7vepaIBCCGEgqPD7Py9js25d2rmFx00n7velaIBCCKG/GeiKUDwhhBD6nMGDLxZPNEAhhNDfTCcGIQx40QCFEMJAENGwQwgh9ItogEIIIfS95W+xuTKiAQohhP5moMRSC8ubaIBCCGEgiCugEAanVZeKlhUGg6OnH9HfVcg6EopnwIsGKIQQ+pvBMQ8ohBBCvxiEkRA6viCdpCGS7pN0bYN94yXNLaxLflRh3xmSZuXtwEL6hZL+VDimtvTsIZJmSnpQ0p2Stioc82ROv1/S9E6/5xBCaJtdbluO9MUV0AnAbGDNJvsvs31cMUHSvsDWpHXNVwamSbq+sIbFl21fUVfOn4BdbL8kaW9gErB9Yf9ufb3WRQghlGIPylFwHb0CkjQC2Bc4r81DtwRutb0wR3WdCezV6gDbd9p+KT+9GxjRbn1DCKHfDMIroE53wZ0FfIXaSuaNHZC7zq6QtFFOewDYS9KqkoYCuwEbFY6ZmI/5rqSVG5T5OeD6wnMDUyTNaLV+uqSja+usz507t8z7CyGEChgvWlRqW550rAGS9DFgju0ZLbJdA4y0PQqYClwEYHsKcB1wJ2lFv7uA2pmfAGwBbAusA3y17nV3IzVAxfSdbW9NWqL2C5I+0qgytifZHmN7zLBhw9p5uyGE0HO15RjKbMuRTl4B7QSMk/QkcCkwVtIvihlsz7P9Vn56HrBNYd9E26Nt7wEIeDSnP+fkLeACYLvaMZJG5XL2sz2vUNYz+d85wFXFY0IIYUBwV7ltOdKxBsj2BNsjbI8EDgJutn1oMY+k4YWn40iDFWoj59bNj0cBo4ApxWMkCfgEMCs/3xj4NXCY7UcLr7GapDVqj4E9a8eEEMJAYMBdLrWV0d3IXyXfl/R4vp2xddXvqYw+nwck6TRguu3JwPGSxgELgfnA+JxtJeC21MawADjU9sK872JJw0hXRfcDx+T0U0hL0P4oH7fQ9hhgfeCqnLYi8EvbN3T0TYYQQjvckQXpWo383RvYNG/bA+ew5KjhPtEnDZDtacC0/PiUQvoE0j2d+vxvkkbCNSprbJP0o4CjGqQ/AWy19BEhhDBw9PEAg/2An9k2cLektSQNt/1cX1ZCXs6G9VVF0lzgz70sZigwkOYeRX1aG0j1GUh1gahPK5vbXqM3BUi6gfSeylgFeLPwfJLtSXXl/Ql4idS79+MG+68FTrd9e35+E/BV2306UT9C8TRhu9fD4CRNz92AA0LUp7WBVJ+BVBeI+rRSRXQV2y3nOfbAzrafkbQeMFXSH2zfWvFr9FrHQ/GEEELoWyVG/j7DknMrR+S0PhUNUAghLEdKjvydDByeR8PtALzS1/d/ILrgOm1S91n6VNSntYFUn4FUF4j6tDKQ6gJNRv5KOgbA9rmkif77AI8DbwBH9kdFYxBCCCGEfhFdcCGEEPpFNEAhhBD6h+3Y6jZgc1KUhdq2ADiRFPx0KvBY/nftnF/A90n9qTOBrevKWxN4Gji7kLYN8GA+5vss7g5d6jWqrA+wMSms0WzgYVIwWID3Ar/Px1wGvCOnr5yfP573j6y4Pt8CHsr1KZ6HTp6fLUgBbt8CvlT3We0FPJJf9+RCetnzM7aKupBGKN2SP6OHgBMK+0qf5yrPTd4/BLgPuLYH52ZkxZ/VWsAVwB9Ifz87tnl+9q+wLiflz2kWKYDyKu2em/7+3uuX79r+rsBA3/J/uOeB95C+LE/O6ScDZ+TH+5CWfxCwA/D7ujK+B/ySJRug/815lY/dO6c3fI2q6kOKSLFHfrw6sGp+/CvgoPz4XODY/PhfgXPz44NICwhWUh/gQ8AduYwh+T/3rn1wftYjRVOfyJJf+kOAPwLvA95BWhZky56en17WZTi5oQbWIAXj3bLVOWj1ufe2PoUy/p30t1xsgDr5t9O0PqTo+Uflx+8A1urp+enlZ7UhaUHMdxbOx/jenJvBsvV7BQb6RhrCeEd+/AgwPD8eDjySH/8YOLhwTDHfNqRo4OPJDVA+9g+F/AeTZis3fY0q6kMKb3R7g/co0qzyFfPzHYEb8+MbWfzLcsWcTxXVZ0dgBvBOYFVgOvCPnT4/hbxfq/si+fv7zs9roaJ6dH56U5cGn9FvWPzDoe2/wyrqQ5orchPpKu/avvjbafFZvYv0pa8G56on/097U5cNgadIV04rAtfm8np8bgbLFveAuncQ6ZIaYH0vHiv/PGm4Iyz+A6x5GthQ0grAd4Av1ZW5Yc6zRP5uXqPX9QE2A16W9GtJ90n6tqQhpCCuL3txwNdiff5eVt7/Ss7f6/rYvovUzfRc3m60PbsPzk8zzc5bT89Pb+ryd5JGAh8kddW0KqtZ/Wt6W59GC0x2+m+nmfcCc4EL8t/yeXnOS6uyWp2fHtfFadLn/wB/If0dv+K0pllvzs2gEA1QC5LeQVom4vL6fU4/XdxNEf8KXGf76W7yNVT/GhXUZ0Xgw6QGcVtSV9P4ntStivpI+gfSFc8I0n/IsZI+XPb1O3B+KlNVXSStDlwJnGh7QU/LquCzKrPAZGkV/S1vDZxj+4PA66TusrbLquDcrE0K7vleYANgNUmHtjomJNEAtbY3cK/tF/LzFwrrEQ0H5uT0ZmEtdgSOy4vy/Q9p5vHped+IBvlbvUYV9XkauN/2E/lX19Wk/8TzgLUkrViXf4my8v535fxV1Gd/4G7br9l+jdQ/v2MfnJ9mmtWzJ+ent3VB0kqkxudi278u7Gr3PFNBfZotMNnpv51mngaetl27KryC9Lfcqqxm56e3dfln4E+259p+m7Qu2Yfo+bkZNKIBau1gFl+WQwpfcUR+fASpX76WvlRYC9uH2N7YaVG+L5HCn5+cL+8XSNohL6x3eF1ZjV6j1/UB7iH9h6gFWh0LPJx/5d0CfKpJWbXX+BRpYcHaL8Le1ucvwC6SVsxftrsAs/vg/DRzD7CppPfmX8UHAZN7eH56VZf8vn9KOh9n1u1u9zzT2/q4yQKTffC306w+zwNPSdo8J+1OGjHYqqxm56e3fzd/AXaQtGr+3HYnfW49PTeDR1/dbFrWNmA10i+SdxXS1iXdhH0M+H/AOjldwA9JI6geBMY0KG88S46CG0MasvlH4GwW37hu9hqV1AfYgzQE9UHgQhYPC30faeTZ46SuiJVz+ir5+eN5//uqqg9p5NGPWTwk/Mw+Oj/vJv2CXgC8nB+vmfftQxpx9kfgPwtllT4/VdQF2JnU9TOTxcOE9+nhea7k3BSO3ZUlR8F18m+n1Wc1mjRwZSbpan7tds9PhXX5Omk4+Czg54Vz0Na5GWxbhOIJIYTQL6ILLoQQQr+IBiiEEEK/iAYohBBCv4gGKIQQQr+IBiiEEEK/iAYoLLMkvZb/3UDSFb0o50RJq1ZUpy0k3Z/Dw2xSRZmFss+TtGUPjhstaZ/C83GSlooaEEJfi2HYYZkgaUUvjqlVS3vN9uoVlP0kac7MixWUdTIp+OQ3e3j8Uu+zgjqNJ72/46osN4Teiiug0BZJ20qaKWkVSatJekjSBxrkOzzne0DSz3PaSEk35/SbJG3cTfqFks6V9HvgWzlCwV2SHpT0zcJrjZQ0Kz8erxRs9QZJj0n6ViHfOZKm5zp/PacdT4rfdYukW3Lanvl17pV0uVI8tvr3N1rS3bnOV0laO19lnAgcWyur7pjXJH03v/5NtYgUkqZJOkvSdOAESbvnK6gHJZ0vaeVCvjGt6pg/nzvzef9fSe8CTgMOzFdmB+ZzdHaJc//9XNYTkj5V/35C6LX+ngkb27K3Ad8kxbb7ITChwf73k6IJDM3PazPJrwGOyI8/C1zdTfqFpND2Q/LzycDh+fEXgNfy45HArPx4PPAEKbbWKsCfgY3q6jGEtC7SqPz8yUJdhwK3Aqvl518FTmnwHmcCu+THpwFn5cdfo8myCqTIBofkx6eweHmOacCP8uNVSFGSN8vPf0YKRFrLN6ZZHUlr4jwBbJvT1yQF7RzPklE4/v68m3N/OelH6pbA4/39dxfb8rfFFVDoidNIIX3GkBbvqjcWuNy5S8v2/Jy+I2kxM0jhSnbuJp1czqL8eCcWx+z6eYv63WT7FdtvkkL8vCenf0bSvaQVPd9P+mKtt0NOv0PS/aR4Xe8pZshXFWvZ/l1Ougj4SIv61HSRVsEE+AVLvs9a+uakwJaPtii7WR03B56zfQ+A7QXuvjuv1bm/2naX7YdpY/mIEMpasfssISxlXdJqqiuRfrG/3sHXqi+7zE3LtwqPFwErSnoveRkK2y9JupBU93oCpto+uCeVbVPxvbRzDhvWUdI/VVKrxYrnURWXHUJcAYUe+THw38DFwBkN9t8MfFrSugCS1snpd5IiKQMcAtzWTXq9O+rytWNN0pf8K5LWJ4Xgr3mVtOw1wN3ATkprFZHvc21WLMj2K8BLWrx20WHA7+jeCiyOjPwvwO0N8jwCjKy9fpOym9XxEWC4pG1z+hpKof6L769e2XMfQuWiAQptkXQ48LbtXwKnA9tKGlvMY/shYCLwO0kPALXlBP4NOFLSTNIX6wndpNc7AfiCpAdZcqXPbtl+gNT19gdSl9Mdhd2TgBsk3WJ7LukeySW5PncBWzQo8gjg2znPaFK3ZHdeB7bLAybGNjomdxseCVye32cXcO6SWRrX0fbfgAOBH+TzPpV0lXcLsGVtEELdS5Y99yFULoZhh9BH1Mth47lBGmf7TxVWK4R+E1dAISwDJE0FHozGJyxP4goohBBCv4groBBCCP0iGqAQQgj9IhqgEEII/SIaoBBCCP0iGqAQQgj94v8Hg/woA5MLBMQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "clay_slice = out_grid.claytotal_r.sel(hzdept_r=15)\n", + "clay_slice.where(clay_slice!=out_grid.claytotal_r.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Dealing with categorical data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because the data needs to be numerical for conversion from vector to raster, the code displays the categories as numbers. To convert back to strings, you will need to use the categories provided to convert back." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "drclassdcd_slice = out_grid.drclassdcd.sel(hzdept_r=15)\n", + "drclassdcd_slice.where(drclassdcd_slice!=out_grid.drclassdcd.rio.nodata).plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "drclassdcd_string = out_grid['drclassdcd_categories'][out_grid['drclassdcd'].astype(int)]\\\n", + " .drop('drclassdcd_categories')" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<xarray.Dataset>\n",
+       "Dimensions:                (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n",
+       "Coordinates:\n",
+       "  * y                      (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n",
+       "  * x                      (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n",
+       "  * hzdept_r               (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n",
+       "  * drclassdcd_categories  (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n",
+       "    spatial_ref            int64 0\n",
+       "Data variables:\n",
+       "    drclassdcd             (hzdept_r, y, x) object 'nodata' ... 'Well drained'\n",
+       "    hzdepb_r               (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n",
+       "    claytotal_r            (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n",
+       "    sandtotal_r            (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n",
+       "    silttotal_r            (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n",
+       "Attributes:\n",
+       "    grid_mapping:  spatial_ref
" + ], + "text/plain": [ + "\n", + "Dimensions: (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n", + "Coordinates:\n", + " * y (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n", + " * x (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n", + " * hzdept_r (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n", + " * drclassdcd_categories (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " drclassdcd (hzdept_r, y, x) object 'nodata' ... 'Well drained'\n", + " hzdepb_r (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n", + " claytotal_r (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n", + " sandtotal_r (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n", + " silttotal_r (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out_grid['drclassdcd'] = drclassdcd_string\n", + "out_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "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", + "
drclassdcdhzdepb_rclaytotal_rsandtotal_rsilttotal_r
hzdept_rxy
0.0700350.04597050.0nodataNaNNaNNaNNaN
4596950.0Well drained5.026.038.036.0
4596850.0Well drained5.026.038.036.0
4596750.0Well drained5.026.038.036.0
4596650.0Well drained5.026.038.036.0
\n", + "
" + ], + "text/plain": [ + " drclassdcd hzdepb_r claytotal_r sandtotal_r \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 nodata NaN NaN NaN \n", + " 4596950.0 Well drained 5.0 26.0 38.0 \n", + " 4596850.0 Well drained 5.0 26.0 38.0 \n", + " 4596750.0 Well drained 5.0 26.0 38.0 \n", + " 4596650.0 Well drained 5.0 26.0 38.0 \n", + "\n", + " silttotal_r \n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 NaN \n", + " 4596950.0 36.0 \n", + " 4596850.0 36.0 \n", + " 4596750.0 36.0 \n", + " 4596650.0 36.0 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pdf = out_grid.drop(['spatial_ref', 'drclassdcd_categories']).to_dataframe()\n", + "pdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Make sure all categories are represented\n", + "\n", + "To do this, convert the column type to categorical beforehand and make sure that\n", + "you include all of the possible categories." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "cat_dtype = pandas.api.types.CategoricalDtype(out_grid.drclassdcd_categories.values)\n", + "pdf['drclassdcd'] = pdf['drclassdcd'].astype(cat_dtype)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "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", + " \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", + "
hzdepb_rclaytotal_rsandtotal_rsilttotal_rdrclassdcd_Excessively draineddrclassdcd_Moderately well draineddrclassdcd_Poorly draineddrclassdcd_Somewhat excessively draineddrclassdcd_Somewhat poorly draineddrclassdcd_Subaqueousdrclassdcd_Very poorly draineddrclassdcd_Well draineddrclassdcd_nodata
hzdept_rxy
0.0700350.04597050.0NaNNaNNaNNaN000000001
4596950.05.026.038.036.0000000010
4596850.05.026.038.036.0000000010
4596750.05.026.038.036.0000000010
4596650.05.026.038.036.0000000010
\n", + "
" + ], + "text/plain": [ + " hzdepb_r claytotal_r sandtotal_r silttotal_r \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 NaN NaN NaN NaN \n", + " 4596950.0 5.0 26.0 38.0 36.0 \n", + " 4596850.0 5.0 26.0 38.0 36.0 \n", + " 4596750.0 5.0 26.0 38.0 36.0 \n", + " 4596650.0 5.0 26.0 38.0 36.0 \n", + "\n", + " drclassdcd_Excessively drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Moderately well drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Poorly drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Somewhat excessively drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Somewhat poorly drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Subaqueous \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Very poorly drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Well drained drclassdcd_nodata \n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 1 \n", + " 4596950.0 1 0 \n", + " 4596850.0 1 0 \n", + " 4596750.0 1 0 \n", + " 4596650.0 1 0 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "training_df = pandas.get_dummies(pdf, columns=['drclassdcd'])\n", + "training_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['hzdepb_r', 'claytotal_r', 'sandtotal_r', 'silttotal_r',\n", + " 'drclassdcd_Excessively drained', 'drclassdcd_Moderately well drained',\n", + " 'drclassdcd_Poorly drained', 'drclassdcd_Somewhat excessively drained',\n", + " 'drclassdcd_Somewhat poorly drained', 'drclassdcd_Subaqueous',\n", + " 'drclassdcd_Very poorly drained', 'drclassdcd_Well drained',\n", + " 'drclassdcd_nodata'],\n", + " dtype='object')" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "training_df.columns" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/_sources/examples/examples.rst.txt b/refs/tags/0.7.0/_sources/examples/examples.rst.txt new file mode 100644 index 0000000..c9ebc33 --- /dev/null +++ b/refs/tags/0.7.0/_sources/examples/examples.rst.txt @@ -0,0 +1,28 @@ +.. _usage_examples: + +Usage Examples +============== + +This page contains links to a collection of examples of how to use GeoCube. + +.. toctree:: + :maxdepth: 1 + :caption: notebooks: + + timestamp_missing_data.ipynb + categorical.ipynb + rasterize_point_data.ipynb + grid_to_vector_map.ipynb + zonal_statistics.ipynb + rasterize_function.ipynb + vectorize.ipynb + + +.. toctree:: + :maxdepth: 1 + :caption: stackexchange: + + How to convert vector format (geopackage, shapefile) to raster format (geotiff) using rasterio without template raster + Rasterizing polygon grid in Python (geopandas & rasterio) + Rasterising multiple shapefiles into a single raster + Extract population count from GeoTIFF based on mask layer diff --git a/refs/tags/0.7.0/_sources/examples/grid_to_vector_map.ipynb.txt b/refs/tags/0.7.0/_sources/examples/grid_to_vector_map.ipynb.txt new file mode 100644 index 0000000..1ccc2c5 --- /dev/null +++ b/refs/tags/0.7.0/_sources/examples/grid_to_vector_map.ipynb.txt @@ -0,0 +1,559 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Mapping Grid Data to Vector Data\n", + "\n", + "This is useful in the case where you want to get statistics for a specific raster\n", + "over a certain region. In this example, the vector data is a random region with\n", + "soil information using SSURGO data." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "\n", + "import geopandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "ssurgo_data = geopandas.read_file(\"../../test/test_data/input/soil_data_group.geojson\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
cokeymukeydrclassdcdhzdept_rchkeyhzdepb_rclaytotal_rsandtotal_rsilttotal_rgeometry
012577452271425Somewhat poorly drained0.01000340905.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
112577452271425Somewhat poorly drained5.010003409015.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
212577452271425Somewhat poorly drained15.010003409130.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
312577452271425Somewhat poorly drained30.010003409245.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
412577452271425Somewhat poorly drained45.010003409360.023.2316439.96194166.806416MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
\n", + "
" + ], + "text/plain": [ + " cokey mukey drclassdcd hzdept_r chkey hzdepb_r \\\n", + "0 12577452 271425 Somewhat poorly drained 0.0 100034090 5.0 \n", + "1 12577452 271425 Somewhat poorly drained 5.0 100034090 15.0 \n", + "2 12577452 271425 Somewhat poorly drained 15.0 100034091 30.0 \n", + "3 12577452 271425 Somewhat poorly drained 30.0 100034092 45.0 \n", + "4 12577452 271425 Somewhat poorly drained 45.0 100034093 60.0 \n", + "\n", + " claytotal_r sandtotal_r silttotal_r \\\n", + "0 23.067675 9.978338 66.953987 \n", + "1 23.067675 9.978338 66.953987 \n", + "2 23.067675 9.978338 66.953987 \n", + "3 23.067675 9.978338 66.953987 \n", + "4 23.231643 9.961941 66.806416 \n", + "\n", + " geometry \n", + "0 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "1 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "2 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "3 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "4 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ssurgo_data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# convert the key to group to the vector data to an integer as that is one of the\n", + "# best data types for this type of mapping. If your data is not integer,\n", + "# then consider using a mapping of your data to an integer with something\n", + "# like a categorical dtype.\n", + "ssurgo_data[\"mukey\"] = ssurgo_data.mukey.astype(int)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert data to grid\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Dimensions: (hzdept_r: 11, x: 165, y: 165)\n", + "Coordinates:\n", + " * y (y) float64 41.5 41.5 41.5 41.5 ... 41.48 41.48 41.48 41.48\n", + " * x (x) float64 -90.6 -90.6 -90.6 -90.6 ... -90.58 -90.58 -90.58\n", + " * hzdept_r (hzdept_r) float64 0.0 5.0 15.0 30.0 ... 90.0 105.0 120.0 150.0\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " mukey (hzdept_r, y, x) float64 1.988e+05 1.988e+05 ... 1.987e+05\n", + " hzdepb_r (hzdept_r, y, x) float64 5.0 5.0 5.0 5.0 ... 180.0 180.0 180.0\n", + " claytotal_r (hzdept_r, y, x) float64 26.0 26.0 26.0 26.0 ... 21.0 21.0 21.0\n", + " sandtotal_r (hzdept_r, y, x) float64 38.0 38.0 38.0 38.0 ... 10.0 10.0 10.0\n", + " silttotal_r (hzdept_r, y, x) float64 36.0 36.0 36.0 36.0 ... 69.0 69.0 69.0\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out_grid = make_geocube(\n", + " vector_data=ssurgo_data,\n", + " group_by='hzdept_r',\n", + " resolution=(-0.0001, 0.0001)\n", + ")\n", + "out_grid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get the mean/median of each region using the unique ID" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + "
hzdept_rspatial_refhzdepb_rclaytotal_rsandtotal_rsilttotal_r
mukey
198692.015.0030.023.0000007.00000070.000000
198714.015.0030.05.00000087.0000008.000000
198724.015.0030.021.00000010.00000069.000000
198750.015.0030.012.00000063.00000025.000000
198754.015.0030.026.00000038.00000036.000000
271425.015.0030.023.0676759.97833866.953987
271431.015.0030.014.00000055.00000031.000000
\n", + "
" + ], + "text/plain": [ + " hzdept_r spatial_ref hzdepb_r claytotal_r sandtotal_r \\\n", + "mukey \n", + "198692.0 15.0 0 30.0 23.000000 7.000000 \n", + "198714.0 15.0 0 30.0 5.000000 87.000000 \n", + "198724.0 15.0 0 30.0 21.000000 10.000000 \n", + "198750.0 15.0 0 30.0 12.000000 63.000000 \n", + "198754.0 15.0 0 30.0 26.000000 38.000000 \n", + "271425.0 15.0 0 30.0 23.067675 9.978338 \n", + "271431.0 15.0 0 30.0 14.000000 55.000000 \n", + "\n", + " silttotal_r \n", + "mukey \n", + "198692.0 70.000000 \n", + "198714.0 8.000000 \n", + "198724.0 69.000000 \n", + "198750.0 25.000000 \n", + "198754.0 36.000000 \n", + "271425.0 66.953987 \n", + "271431.0 31.000000 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid_mean = out_grid.sel(hzdept_r=15).groupby(out_grid.mukey.sel(hzdept_r=15)).mean()\n", + "grid_mean.to_dataframe()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "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", + "
hzdept_rspatial_refhzdepb_rclaytotal_rsandtotal_rsilttotal_r
mukey
198692.075.0090.023.0000007.00000070.000000
198714.075.0090.07.80000086.4666675.733333
198724.075.0090.021.00000010.00000069.000000
198750.075.0090.012.00000063.00000025.000000
198754.075.0090.026.00000038.00000036.000000
271425.075.0090.024.56496610.12049765.314537
271431.075.0090.08.33333374.66666717.000000
\n", + "
" + ], + "text/plain": [ + " hzdept_r spatial_ref hzdepb_r claytotal_r sandtotal_r \\\n", + "mukey \n", + "198692.0 75.0 0 90.0 23.000000 7.000000 \n", + "198714.0 75.0 0 90.0 7.800000 86.466667 \n", + "198724.0 75.0 0 90.0 21.000000 10.000000 \n", + "198750.0 75.0 0 90.0 12.000000 63.000000 \n", + "198754.0 75.0 0 90.0 26.000000 38.000000 \n", + "271425.0 75.0 0 90.0 24.564966 10.120497 \n", + "271431.0 75.0 0 90.0 8.333333 74.666667 \n", + "\n", + " silttotal_r \n", + "mukey \n", + "198692.0 70.000000 \n", + "198714.0 5.733333 \n", + "198724.0 69.000000 \n", + "198750.0 25.000000 \n", + "198754.0 36.000000 \n", + "271425.0 65.314537 \n", + "271431.0 17.000000 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid_median = out_grid.sel(hzdept_r=75).groupby(out_grid.mukey.sel(hzdept_r=75)).median()\n", + "grid_median.to_dataframe()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.10.6 64-bit", + "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.10.6" + }, + "vscode": { + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/_sources/examples/rasterize_function.ipynb.txt b/refs/tags/0.7.0/_sources/examples/rasterize_function.ipynb.txt new file mode 100644 index 0000000..fe3bfbd --- /dev/null +++ b/refs/tags/0.7.0/_sources/examples/rasterize_function.ipynb.txt @@ -0,0 +1,145 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Use a rasterize function when creating a raster" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "\n", + "from functools import partial\n", + "from geocube.rasterize import rasterize_image\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "gdf = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['pop_est'],\n", + " resolution=(-3.0, 3.0),\n", + ")\n", + "geo_grid[\"pop_est\"].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['pop_est'],\n", + " resolution=(-3.0, 3.0),\n", + " rasterize_function=partial(rasterize_image, all_touched=True),\n", + ")\n", + "geo_grid[\"pop_est\"].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.9.13 ('main')", + "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.9.13" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "f7286e25aede83087e9621ce0e75f07eda2aa917ee0205c1a0b96e7ba4f20042" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/refs/tags/0.7.0/_sources/examples/rasterize_point_data.ipynb.txt b/refs/tags/0.7.0/_sources/examples/rasterize_point_data.ipynb.txt new file mode 100644 index 0000000..50ba524 --- /dev/null +++ b/refs/tags/0.7.0/_sources/examples/rasterize_point_data.ipynb.txt @@ -0,0 +1,450 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Rasterizing Point Data" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "from functools import partial\n", + "\n", + "import geopandas\n", + "from shapely.geometry import box, mapping\n", + "\n", + "from geocube.api.core import make_geocube\n", + "from geocube.rasterize import rasterize_points_griddata, rasterize_points_radial\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load in geopackage data and add CRS" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "gdf = geopandas.read_file(\n", + " \"../../test/test_data/input/time_vector_data.geojson\",\n", + " crs=\"epsg:4326\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
test_attrtest_str_attrtest_time_attrgeometry
01.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
11.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
21.9dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
31.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
41.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26679 44.21932)
\n", + "
" + ], + "text/plain": [ + " test_attr test_str_attr test_time_attr \\\n", + "0 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "1 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "2 1.9 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "3 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "4 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "\n", + " geometry \n", + "0 POINT (-47.26681 44.21932) \n", + "1 POINT (-47.26680 44.21932) \n", + "2 POINT (-47.26681 44.21932) \n", + "3 POINT (-47.26680 44.21932) \n", + "4 POINT (-47.26679 44.21932) " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert to raster with GeoCube\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into grid with griddata nearest resampling" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " resolution=(-0.1, 0.00001),\n", + " rasterize_function=rasterize_points_griddata,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<xarray.Dataset>\n",
+       "Dimensions:      (x: 12, y: 11)\n",
+       "Coordinates:\n",
+       "  * y            (y) float64 45.25 45.15 45.05 44.95 ... 44.55 44.45 44.35 44.25\n",
+       "  * x            (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n",
+       "    spatial_ref  int64 0\n",
+       "Data variables:\n",
+       "    test_attr    (y, x) float64 1.3 1.3 1.3 1.2 1.3 1.3 ... 2.3 1.3 1.9 1.3 1.3\n",
+       "Attributes:\n",
+       "    grid_mapping:  spatial_ref
" + ], + "text/plain": [ + "\n", + "Dimensions: (x: 12, y: 11)\n", + "Coordinates:\n", + " * y (y) float64 45.25 45.15 45.05 44.95 ... 44.55 44.45 44.35 44.25\n", + " * x (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " test_attr (y, x) float64 1.3 1.3 1.3 1.2 1.3 1.3 ... 2.3 1.3 1.9 1.3 1.3\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "geo_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEWCAYAAABi5jCmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8GearUAAAgAElEQVR4nO3deZxcVZ338c83YQlLwq4CQeOg4ogKjhHxwQVxREUm+CgIKmJwmKijI84MCjgjIuqMyyiiPCMiCiKiCIoTUUEEGRVBTYAEEJGwKKsQ9gACSb7PH/cUVJfV3berqzpV3d/363Vffe+pe8/9VadTp+5ZZZuIiIiGaWs6gIiI6C8pGCIiYogUDBERMUQKhoiIGCIFQ0REDJGCISIihkjBEH1L0nGSPlTz3AskHdSDGN4l6U+SVkjarNv5R/SjFAzRFyTNl/SL5jTb77T90TUY09rAZ4HdbW9o+84u5v0KSb+T9KCkn0p6SrfyjhivFAwxZUlaa5RTngjMAK7s8n03B74LfAjYFFgEnNbNe0SMRwqGGDNJh0q6WdL9kq6W9IqSfqSkMySdVl67RNIOTdcdJuna8tpvJf3fkv7XwHHAi0qVzT0l/SRJHyv7m0g6S9Idku4u+7PHGPd8SRdKOlrSncCRktaV9F+S/liqjI6TtJ6kZwBXl0vvkXT+uH9xj3s9cKXt023/GTgS2EHSM7t4j4iOpWCIMZG0HfAe4AW2ZwKvAm5oOmUv4HSqb8KnAt8rVTIA1wIvATYCPgKcImlL21cB7wQuKlU2G7e59TTgROApwJOBh4BjO3gLLwSuo3oa+DjwCeAZwI7A04CtgSNs/x7Yvlyzse3d2mUm6Z4RtsOGiWF7YEnjwPYDVL+b7Yc5P2JCpWCIsVoFrAs8S9Latm+wfW3T64ttn2H7Uar6+RnAzgDlG/IttlfbPg24Btipzk1t32n7O7YftH0/1Yf6yzqI/xbbX7C9EvgzsAD4Z9t3lXz/A9ivbma2Nx5h+8Qwl20I3NuSdi8ws4P3E9F1KRhiTGwvA95HVf1xu6RvSdqq6ZQbm85dDdwEbAUg6QBJlzW+UQPPBjavc19J60v6kqQ/SLoP+BmwsaTpY3wLNzbtbwGsDyxuiunskt5LK4BZLWmzgPt7fN+IWlIwxJjZPtX2i6mqdQx8sunlbRo7kqYBs4FbSq+bL1NVQ21WqouuANTIdpTb/iuwHfBC27OAlzZuM9bwm/aXU1VJbd/0LX8j2xvWzay0iQy3fXCYy64EmtteNgC2pcuN3BGdSsEQYyJpO0m7SVqXqirmIWB10ynPl/T60uPnfcDDwMXABlQfyneUfA6kemJo+BMwW9I6w9x6ZrnXPZI2BT483vdSnmi+DBwt6Qklrq0lvWoMeWw4wvYfw1x2JvBsSW+QNAM4Alhq+3fjfU8R3ZCCIcZqXaoG2+XAbcATgMObXv8fYF/gbuCtwOttP2r7t8BngIuoCoHnABc2XXc+1Tfm2yQtb3PfzwHrlfteTFXl0w2HAsuAi0sV1U+onkx6xvYdwBuo2knupmoQr92uEdFrykI90S2SjgSeZnv/NR1LRHQuTwwRETFECoaYVMoAtXYNwcet6dgiBkWqkiIiYog8MURExBCjTSI2MNbRDK83bYM1HUZf8OrePAVq2liHDEQnnv7sB9Z0CGNyzRWD9//uvtV3Lbc9roGMr3r5Br7zrlW1zl289OFzbL96PPebSJOmYFhv2gbsPOO1azqMvrD6oYd6ku+0Gev1JN8Y6kfnXLymQxiT12y785oOYcx+/ODX/zDePO68axW/PufJtc6dvuU1tUb494tJUzBEREwkA6uHjO2cPFIwRER0wJhHXa8qadCkYIiI6FCeGCIi4jHGrJqk3f1TMEREdGj1qJMCD6YUDBERHTCwKgVDREQ0yxNDREQ8xsCjaWOIiIgG41QlRUREE8OqyVkupGCIiOhENfJ5ckrBEBHREbGK7k0sKekG4H5gFbDS9tyW1wUcA+wBPAjMt31J1wJokoIhIqIDVeNz12ccfrntdmueA7wGeHrZXgh8sfzsuhQMEREdqMYxTOhU9HsBJ7taXe1iSRtL2tL2rd2+URbqiYjo0Gqr1gZsLmlR07agTXYGfixp8TCvbw3c2HR8U0nrup4/MUiaDiwCbra9p6STgJcB95ZT5tu+rOWaHakek2ZR1bd93PZpvY41IqKuMT4xLG9tM2jjxbZvlvQE4FxJv7P9s3EF2aGJqEo6GLiK6kO+4f22zxjhmgeBA2xfI2krYLGkc2zf08tAIyLqMmJVFytdbN9cft4u6UxgJ6C5YLgZ2KbpeHZJ67qeViVJmg28FjhhLNfZ/r3ta8r+LcDtwLiW4YuI6LYxVCWNSNIGkmY29oHdgStaTlsIHKDKzsC9vWhfgN4/MXwO+AAwsyX945KOAM4DDrP98HAZSNoJWAe4ts1rC4AFADM0eOvORsTgMuIRT+9Wdk8Ezqx6pLIWcKrtsyW9E8D2ccAPqbqqLqOqVTmwWzdv1bOCQdKewO22F0vatemlw4HbqD7sjwcOBY4aJo8tga8Db7P9F2NJbB9f8mCj6ZtN0jGIEdGPqgFu3al0sX0dsEOb9OOa9g28uys3HEUvnxh2AeZJ2gOYAcySdIrt/cvrD0s6ETik3cWSZgE/AP7N9mCtjh4RU8IEd1edMD1rY7B9uO3ZtucA+wHn296/PAU0RvG9jr+sR0PSOsCZVH12R2qkjohYI2yxytNqbYNmTUT8DUmXA5cDmwMfA5A0V1KjkfqNwEuB+ZIuK9uOayDWiIhhrUa1tkEzISOfbV8AXFD2dxvmnEXAQWX/FOCUiYgtIqITVePz5Jw8YnK+q4iIHutm43O/ScEQEdGhVd2fRK8vpGCIiOhAt0c+95MUDBERHVo9gD2O6kjBEBHRgWoSvRQMERFRGPFo96bE6CspGCIiOmAzkIPX6kjBEBHRkcEcvFZHCoaIiA6YPDFERESLND5HRMRjTL1FeAZRCoaIiA4YeDRzJUVExOM0addjSMEQEdEBM3lHPk/OdxURMQFWlaeG0bY6JE2XdKmks9q8Nl/SHU3r0xzU9TfTJE8MEREdsNXtJ4aDgauAWcO8fprt93TzhsPJE0NERAeqxufptbbRSJoNvBY4YbRzJ0IKhoiIjoxpzefNJS1q2ha0ZPY54APA6hFu+AZJSyWdIWmbXr0rSFVSRERHqsbn2r2Sltue2+4FSXsCt9teLGnXYa7/PvBN2w9LegfwNaDtMsndkCeGiIgOrWJarW0UuwDzJN0AfAvYTdKQNe9t32n74XJ4AvD8br+XZikYIiI60Bj5XGcbMR/7cNuzbc8B9gPOt71/8zmStmw6nEfVSN0zqUqKiOjQ6h5+t5Z0FLDI9kLgvZLmASuBu4D5PbsxNQoGSa8HPgk8AVDZbHu4LlUREZOeDY+u7m7BYPsC4IKyf0RT+uHA4V292QjqPDF8Cvg72z19dImIGCRVVdLkrI2vUzD8KYVCRMRfmspzJS2SdBrwPaDRKo7t7/YsqoiIPjfG7qoDpU7BMAt4ENi9Kc1ACoaImMKmcFWS7QMnIpCIiEEzWdd8HrW4kzRb0pmSbi/bd8q8HhERU1bVK2l6rW3Q1HkOOhFYCGxVtu+XtIiIKatbA9z6UZ2CYQvbJ9peWbaTgC16HFdERN9bjWptg6ZOwXCnpP3LIhLTJe0P3Fn3Bq2LT0g6SdL1TQtO7DjMdW+TdE3Z3lb3fhERE6HRK2kyPjHU6ZX0duALwNFUv4tfAmNpkG63+MT7bZ8x3AWSNgU+DMwt91wsaaHtu8dw34iInprKvZL+QDVp05g1LT7xceBfxnDpq4Bzbd9V8jkXeDXwzU7iiIjoNlusnGoFg6QP2P6UpC9QfWsfwvZ7a+TfWHxiZkv6xyUdAZwHHNY0nWzD1sCNTcc3lbTWGBcACwBmaIMa4UREdM8gVhPVMdITQ2MajEWdZDzC4hOHA7cB6wDHA4cCR3VyD9vHlzzYaPpmf1F4RUT0ypQc+Wz7+2X3QdunN78maZ8aeTcWn9gDmAHMknRK0zzjD0s6ETikzbU3A7s2Hc+mzDgYEdEvJmvBUKeCrN1Ur6NO/zrc4hONBSckCXgdcEWby88Bdpe0iaRNqKbjOKdGrBERE2Iyj2MYqY3hNcAewNaSPt/00iyqxSI69Q1JW1Ct63AZ8M5yv7nAO20fZPsuSR8FflOuOarREB0R0S8GcYxCHSO1MdxC1b4wD1jclH4/8M9juUnL4hNtF7C2vQg4qOn4q8BXx3KfiIiJYsPKLi/U0y9GamNYAiyRdCbwgO1VUA1YA9adoPgiIvpWN6uJymfrIuBm23u2vLYucDLwfKoBxvvavqFrN29Rp7j7MbBe0/F6wE96E05ExGDoQRtDYzBwO38P3G37aVSDjT/ZhbcwrDoFwwzbKxoHZX/93oUUETEYbNXaRtM0GPiEYU7ZC/ha2T8DeEXpwNMTdQqGByT9TeNA0vOBh3oVUETEoBjDJHqbS1rUtC1oyaoxGHj1MLd6bNCv7ZXAvcBmPXpbteZKeh9wuqRbqHoSPQnYt1cBRUQMAntMbQzLbc9t98IIg4HXmDpzJf1G0jOB7UrS1bYf7W1YERH9TqzqTq+k0QYDQzXodxvgJklrARsxhlmux6rOCm7rU01bcbDtK4A5pYSLiJjSutHGMNxg4JbTFgKN5Qf2Luf0bBqguiu4PQK8qBzfDHysVwFFRAyCXq/HIOkoSY2Zrb8CbCZpGdVM1Yd15120V6eNYVvb+0p6E4DtB3vZGh4RMRBctTN0Ncuhg4GPaEr/M1BnjrquqFMwPCJpPcrU25K2BVqnyY6ImHKm4pQYDR8Gzga2kfQNqoaS+b0MKiKi37l7jc99p06vpHMlXQLsTNVd9WDby3seWUREn+td8++aNdLsqs+0/bumwW23lp9PlrQNcFdZ9jMiYkqqM6p5EI30xPAvVMtmfmaY1zeTtMT2W7sfVkREf7OnYMFge0H5+fLhzpH0414EFRExCAZxEZ46Rm1jkLQ28C7gpSXpAuBLth+1vXsPY4uI6GtTro2hyReBtYH/LsdvLWkHDXtFRMQkZ8TqqdorCXiB7R2ajs+XtKRXAUVEDIpJ+sBQa0qMVWVQGwCS/gpY1buQIiIGgLu3HkO/qfPEcAjwU0nXUY1jeApwYE+jiogYBJP0kWHEgqGsQboD8HSGTrudKTEiYsobxKeBOkasSrK9CniT7YdtLy1bCoWImPIMrF6tWtugqVOVdKGkY4HTgAcaibYv6VlUERH9zsAkfWKoUzDsWH4e1ZRmYLfuhxMRMTim7DiGkUY+R0RMaX1YMJT1cmbbvrHTPOos7bmZpM9LukTSYknHSNqs0xtGREwO9bqqTnQDdVny84fjyaPOOIZvAXcAb6Baa/QOqvaGiIipzTW3iXeJpBd0enGdgmFL2x+1fX3ZPgY8sdMbRkRMCgavVq1tNJJmSPq1pCWSrpT0kTbnzJd0h6TLyjbStEQvBC6SdK2kpZIul7S07lur0/j8Y0n7Ad8ux3sD59S9QUTE5NW1aqKHgd1srygTl/5C0o9sX9xy3mm231Mjv1eNJ5g6Twz/AJxKFfjDVFVL75B0v6T7xnPziIiB1qWqJFdWlMO1yzaeSqiP2f5D8wZ8rO7FoxYMtmfanmZ77bJNK2kzbc8a7XpJ0yVdKumslvTPS1oxzDVrS/paefy5StLhdd9QRMSEqV8wbC5pUdO2oDWr8ll5GXA7cK7tX7W54xtK1dAZZSXN4Wzfmjfw/LpvayLmjD0YuKo5QdJcYJMRrtkHWNf2c6jezDskzelVgBERY9YY4FZng+W25zZtx/9FdvYq2zsCs4GdJD275ZTvA3NsPxc4F/haax6SDpd0P/BcSfeV7X6qwmZh3bfW04JB0mzgtcAJTWnTgU8DHxjhUgMbSFoLWA94BEi1VUT0lWp5z9G3seXpe4CfAq9uSb+zaUqiE2jzBGD7P23PBD5te1bZZtrezPZhdWMYtmCQ9NS6mYzgc1QFwOqmtPcAC23fOsJ1Z1BNv3Er8Efgv2zf1SbGBY1Hs0cyhVNETLTVqreNQtIWkjYu++sBrwR+13LOlk2H82ipiWmxU5t7nFfnLcHIvZLOAJ4v6Tzbr6ibYVMQewK3214sadeSthVVNdGuo1y+E9WaD1tRVTn9XNJPbF/XfFJ5HDseYKPpm/XhGMSImMzUvU+dLYGvlRqVacC3bZ8l6Shgke2FwHslzQNWAncB8/8iHmkGsAFVm8YmPN5tahawdd1gRioYpkn6IPAMSf/S+qLtz46S9y7APEl7ADNKYFdS9WxaVo3aZn1Jy2w/reXaNwNn234UuF3ShcBc4DoiIvpBFwev2V4KPK9N+hFN+4cDo3XEeQfwPqov1Yt5vGC4Dzi2bjwjtTHsR/WtfS1gZpttRLYPtz3b9pyS1/m2N7H9JNtzSvqDbQoFqKqPdgOQtAGwMy2PVRERa1bNhucJnBLD9jG2nwocYvuvbD+1bDvYrl0wDPvEYPtq4JOSltr+UTeCHkl5RJpbSsj/B5wo6UqqEu/EUqJGRPSPPq3Atv2F0qvpWVQ1No30k+tcX2fk8y8lfRZ4aTn+X+Ao2/eOIcgLgAvapG/YtL+Q0p2qDPTYp27+ERFrxOrRT1kTJH2Yqi33WVQT6r0G+AVQq2Co0131q8D9wBvLdh9wYgexRkRMHmMbxzDR9gZeAdxm+0CqJZo3qntxnSeGbW2/oen4I2V0XkTElNbFXknd9pDt1ZJWSppFNcBtpJHSQ9R5YnhI0osbB5J2AR4ae5wREZNM/067vaiMi/gyVe+kS4CL6l5c54nhncDJkhqPIXcDbxtrlBERMTFs/2PZPU7S2cCs5g48kra3feVw19dZ2nMJsEN5HMF2pqaIiKCvq5IeY/uGNslfB/5muGvqPDE0Mk+BEBHRYGpNd9GnRgy8dsEQEREtBuCJYRgjRp6CISKiQ4NQldSJUXslSVpf0ockfbkcP71MkBcRMbX1b6+k0Twy0ot1uqueSDXx3YvK8c2MYYm4iIhJq08LhnZTbDen2d55pOvrDnDbV9KbSoYPqkyNGhExVcn9V5VUpt1enx5Ou93wSFk4wuXG21I9QURETG391yupK9Nu1ykYjgTOBraR9A2qdRYOHEukERGTUb89Mdg+BjhG0j/Z/kKn+dQZ4PZjSYup1kQQcLDt5Z3eMHpv2nrrrekQJr3799yhZ3m/Ztve5Lt6x2f0JN9p/L4n+Q6EPisYmtwmaabt+yX9O9Vgto/ZvqTOxXV6JZ1XFqH+ge2zbC8fy9qhERGTkh9vZxhtG42kGZJ+LWmJpCslfaTNOetKOk3SMkm/kjRnhCw/VAqFFwN/C3wF+GLdtzZswVAC3ZTSiCFp07LNYQyNGBERk1b3eiU9DOxmewdgR+DVklp7Dv09cHdZ9fJo4JMj5Leq/HwtcLztHwDr1IqEkauSutKIERExWalLC/XYNrCiHK5dttYiZS+qNl+AM4BjJalc2+pmSV8CXkm1Eue61BueACOd2K21QyMigs0lLWraFrSeIGl6WevmduBc279qOWVr4EYA2yuBe4HNhrnfG4FzgFfZvgfYFHh/3WDrND6Pa+3QiIhJq37j83Lbc0fMyl4F7FjWUThT0rNtX9FRWNV4s9uBFwPXACvLz1pGLRjGu3ZoRMSk1KMBbrbvkfRT4NVAc8FwM9UqbDdJWotqqc472+VRPrfnAttRzV6xNnAK1XCDUdWpcxrX2qEREZNWlxqfJW1RnhQoA4pfCfyu5bSFPL5I2t7A+cO0LwD8X2Ae8ACA7VuAmTXfVa0BbuNaOzQiYtLq3hPDlsDXJE2n+sL+bdtnSToKWGR7IVWX069LWgbcBew3Qn6P2LakxowVG4wlmDoFQ+vaoSsYw9qhERGTkehqr6SlwPPapB/RtP9nYJ+aWX679EraWNI/AG+n+gyvpU7j84hrh0ZETEl9OIleky2ourTeR9XOcATVQLdaai3UI2lr4CmN8yW91PbPxhxqRMRk0r8FwyttHwqc20iQ9Bng0DoX1+mV9ElgX+C3PD6azkAKhoiY2vqsYJD0LuAfgb+S1FyzMxO4sG4+dZ4YXgdsZztTbUdENOnDqqRTgR8B/wkc1pR+v+276mZSp2C4jqoPbAqGiIhmfVYw2L6XakT0m8aTT52C4UHgsjKj6mOFg+33jufGEREDzd3rldRv6hQMC8sWERHN+uyJoVvqdFf92kQEEhExaPqwjaErRlqP4dvl5+WSlrZudW9QZgy8VNJZLemfl7RihOueK+mismjF5WWR64iI/tG99Rj6ykhPDAeXn3uO8x4HA1cBsxoJkuYCmwx3QZkg6hTgrbaXSNoMeHSccUREdM+AfujXMWzBYPvW8vMPnWYuaTbVCkIfB/6lpE0HPg28mWqip3Z2B5baXlJiaDuDYETEmiImb1XSsAWDpPsZoTy0PWu415p8DvgAQ2f1ew+w0PatktpfBc8ALOkcqqHd37L9qTYxLgAWAMwY2xxRERHjNuUKBtszASR9FLgV+DpVIfkWqpkARyRpT+B224sl7VrStqKaBGrXGnG9GHgBVXfZ8yQttn1eS4zHA8cDbDR9s0n6TxQRfWuSfurU6a46ryxQ3fBFSUuoJmUayS7APEl7UK38Ngu4kmosxLLytLC+pGVlcetmNwE/s70cQNIPgb8BziMiol9M0oKhzkI9D0h6S+ldNE3SWyiLP4zE9uG2Z9ueQzVv+Pm2N7H9JNtzSvqDbQoFqNYqfY6k9UtD9Muo5mqKiOgPZXbVOtugqVMwvJlqYek/lW2fktZVkuaVRSmwfTfwWeA3wGXAJbZ/0O17RkSMyxTsrtroQfQe23uN5ya2LwAuaJO+YdP+kBHWtk+h6rIaEdGXpuSUGLZXSXrxRAUTETFIBrGaqI46jc+XSloInE5T24Lt7/YsqoiIftfFaiJJ2wAnA08suR5v+5iWc3YF/ge4viR91/ZR3YlgqDoFwwzgTmC3pjQDKRgiYmrr3hPDSuBfbV8iaSawWNK5tls73fzc9nhnoxhVnUn0Dux1EBERg6abI5/LTBON2Sbul3QVsDVrqDfmqL2SJM2WdKak28v2nTLVRUTElKbVrrUBm0ta1LQtGDZPaQ7wPOBXbV5+kaQlkn4kafuevCnqVSWdSLVc3D7leP+S9speBRUR0ffG1saw3Pbc0U6StCHwHeB9tu9refkS4Cm2V5SBw98Dnl4/4PrqjGPYwvaJtleW7SSq+YsiIqa0bg5wk7Q2VaHwjXade2zfZ3tF2f8hsLakzbv4dh5Tp2C4U9L+ZeTzdEn7UzVGR0RMbV0a4KZqjqCvAFfZ/uww5zypnIeknag+v3vyWVynKuntwBeAo8vxhUAapCNiyuviOIZdgLcCl0u6rKR9EHgygO3jgL2Bd0laCTwE7Ge7JyMp6vRK+gMwrxc3j4gYaN3rlfQLqo5OI51zLHBsd+44svRKiojohKspMepsg6ZOG8OJVHMYbVW275e0iIgpqzGOYarOrppeSRER7dj1tgGTXkkRER2ayk8Mb6daj+E2qiHbe5NeSREx1dXtqjqABUN6JUVEdGgQG5brqNMr6WuSNm463kTSV3sbVkRE/5usvZLqDHB7ru17Gge275b0vB7GFBHR/8xANizXUaeNYZqkTRoHkjalXoESETGpTdbG5zof8J8BLpJ0ejneB/h470KKiBgQA/ihX0edxueTJS3i8RXcXt9mVaGIiCmlmwv19JtaVUKlIEhhEBHR4McW4Zl00lYQEdGpyVkupGCIiOjUZK1KqjOO4Z+aeyVFRATV08Jq19sGTJ3uqk8EfiPp25Je3VhBKCJiypukU2KMWjDY/neqBae/AswHrpH0H5K27XFsERF9bbKOY6jzxEBZPu62sq0ENgHOkPSpHsYWEdHXtNq1tlHzkbaR9FNJv5V0paSD25wjSZ+XtEzSUkl/05M3RY3G5xLgAcBy4ATg/bYflTQNuAb4QK+Ci4joW92tJloJ/KvtSyTNBBZLOrdlzNhrqGpvng68EPhi+dl1dXolbUo1qO0PzYm2V0vasxdBRUT0u2qAW3dKBtu3Ui1rgO37JV0FbM3Q8WN7ASeXGpyLJW0sactybVfVaWP4cGuh0PTaVaNdXxb3uVTSWS3pn5e0YpRrnyxphaRDRrtPRMSEW11zg80lLWraFgyXpaQ5wPOAX7W8tDVwY9PxTSWt6yZiHMPBwFXArEaCpLlU7RSj+Szwox7FFRExLmN4Ylhue+6o+UkbAt8B3mf7vvHENh61Gp87JWk28FqqtolG2nTg04zSNiHpdcD1wJW9jDEioiNdXsFN0tpUhcI3bH+3zSk3A9s0Hc8uaV3X04IB+BxVAdC8VMV7gIUj1YuVUvNQ4CMjZS5pQePR7BE/3I14IyJqqtcjqWavJFENCbjK9meHOW0hcEDpnbQzcG8v2hegh1VJpWH6dtuLJe1a0raimrZ711EuPxI42vaKkcbT2T4eOB5go+mbDWBv4YgYaN1bqGcX4K3A5ZIuK2kfBJ5c3cbHAT8E9gCWAQ8CB3br5q162cawCzBP0h7ADKo2hiuBh4Fl5QN/fUnLbD+t5doXAnuXcRIbA6sl/dn2sT2MNyKiPndv2U7bv6Dq6DTSOQbe3Z07jqxnBYPtw4HDAcoTwyG2h3RvlbSiTaGA7Zc0nXMksCKFQkT0nSm8tOeEkDRP0lFrOo6IiNom6VxJEzLttu0LgAvapG/YtL+QqnGl9ZwjexhaRETHtLpLdUl9JusxRER0wgztbzmJpGCIiOiAcNemxOg3KRgiIjqVgiEiIoZIwRAREY9JG0NERLRKr6SIiGjiVCVFREQTk4IhIiJaTM6apBQMERGdyjiGiIgYKgVDREQ8xoZVk7MuKQVDRESn8sQQERFDpGCIiIjHGKixnvMg6puFeiIiBovBq+tto5D0VUm3S7pimNd3lXSvpMvKdkTX306TPDFERHTCdLPx+STgWODkEc75eevyyL2SgiEiolNdamOw/TNJc7qSWRekKikiolN2vQ02l7SoaVvQwd1eJGmJpB9J2r7L72SIPDFERHRkTJPoLbc9dxw3u4Xq2eIAAA4oSURBVAR4iu0VkvYAvgc8fRz5jShPDBERnTCwenW9bby3su+zvaLs/xBYW9Lm4854GCkYIiI6Vb8qaVwkPUmSyv5OVJ/dd44742GkKikioiPdmxJD0jeBXanaIm4CPgysDWD7OGBv4F2SVgIPAfvZvRtdl4IhIqITBtcYo1ArK/tNo7x+LFV31gmRgiEiolOTdORzCoaIiE5lrqSIiHiM3ZUeR/0oBUNERKfyxBAREY8zXrVqTQfREykYIiI6MYmn3U7BEBHRqS51V+03PR/5LGm6pEslndWS/nlJK4a55pWSFku6vPzcrddxRkSMhQGvdq1t0EzEE8PBwFXArEaCpLnAJiNcsxz4O9u3SHo2cA6wdU+jjIgYCztPDJ2QNBt4LXBCU9p04NPAB4a7zvaltm8ph1cC60lat5exRkSMlVetqrUNGvVwug0knQH8JzATOMT2npIOBqbZPlrSCtsbjpLH3sA7bf9tm9cWAI15zZ8NtF0Wr49tTvV0NEgGLeZBixcS80TYzvbM8WQg6Wyq913HctuvHs/9JlLPqpIk7QncbnuxpF1L2lbAPlSTRdXJY3vgk8Du7V63fTxwfDl30TjnO59wibn3Bi1eSMwTQdKi8eYxSB/0Y9XLNoZdgHllUYkZVG0MVwIPA8vKDLLrS1pm+2mtF5dqqDOBA2xf28M4IyKiSc/aGGwfbnu27TnAfsD5tjex/STbc0r6g8MUChsDPwAOs31hr2KMiIi/1DcL9UiaJ+mocvge4GnAEZIuK9sTRsni+N5G2BOJufcGLV5IzBNh0OKdUD1tfI6IiMHTN08MERHRH1IwRETEULb7YgM2Bc4Frik/NxnmvLeVc64B3taU/nzgcmAZ8HkeryZrmy/VyOszgaXAr4FnN+X1auDqktdhfRTzRsD3gSVUPbwObMrrUyXtqua8+jjeJwM/LvH+FpjT77/j8vos4Cbg2H6OF9gRuKikLQX2HZC/47b36IOY3w9cVrYrgFXApuW1fy7v4wrgm8CMsX7+9du2xgNo+of6FOVDGDgM+OQwfwzXlZ+blP3GP9yvgZ0BAT8CXjNSvlSjrz9c9p8JnFf2pwPXAn8FrFP+eJ/VJzF/sGl/C+CuEuP/AS4ssU+n+kDYtV/jLccXAK8s+xsC6/fz77jpXscApzJ8wdAX8QLPAJ5e0rcCbgU27vOYh73Hmo65Jd+/o+plCdVUPdcD65XjbwPzu/W5uKa2NR5A0y/7amDLsr8lcHWbc94EfKnp+EslbUvgd+3OGy5fqu6wL2m65lrgicCLgHOa0g8HDu+TmA8H/rv8MT+V6tvOtBLzYmA9YH1gEfDXfRzvs4Bf9OnfRduYy2vPB74FzGf4gqFv4m255xJKQdGvMQ93j36IuSXfU4F/KPtbAzdSFT5rAWcBu9f52+7nrZ/aGJ5o+9ayfxvVh3Srxj9Cw00lbeuy35o+Ur5LgNcDSNoJeAowe4R79EPMxwJ/DdxC9Rh8sO3Vti8Cfkr1rfBWqoLtqn6Nl+rb7D2Svltm3v10mUOrnb6IWdI04DPAIcPE2VfxNt+s/H2vQ/Xlp59j7uf/ewBIWp+qqvk7ALZvBv4L+CPV/717bf94mJgHxoSuxyDpJ8CT2rz0b80Hti3J3b5/S76fAI6RdBnVH+elVPWGrQ4FtmxM69FkTcT8Kqo6zt2AbYFzJf0ceALVf7TZVHW3/yzpTcCDfRrvWsBLgOdR/Ye6GXizpLtbsuunmA8Afmj7JknvB57Uz38Ttu8DkLQl8HXgXmBpmXGgL2Nuc9l8qtkR5rekr4mYG/4OuND2XQCSNgH2onryuQc4XdL+tk/pdjwTaUILBreZCK9B0p8kbWn71vLHfHub025m6DxLs6nqqm8u+83pN5f9tvmW/zgHlnuLqp7wOqrqmG2a8vpGOf8/13TMJd5PuHqGXSbpeqr2kZcBF9teAbxc0hHAn21/qk/jvQm4zPZ1Ja5DgJ1tv7s1mD6K+UXASyT9I1WbyNrAWbYP69N4fy1pFlWV6b/ZPqNNHP0Wc+s9fgJcYPubfRBzw35UDcwNfwtcb/uOEtd3qdr8Brpg6KeqpIVUPQgoP/+nzTnnALtL2qSU1LtTVZvcCtwnaefyIX9A0/Vt85W0saR1SvpBwM9KYfEb4OmSnlpe36/kscZjpvp2/YoS/xOB7agKsz8CL5O0lqS1qQqKdlVJ/RLvb4CNJW1RztuNqmdSO30Rs+232H6yq6lcDgFObi0U+ine8rd7Zolz2EKhn2Ie7h59EjOSNqL6v9V8rz8CO0tav+T1Ctr/3xssvW7EqLsBmwHnUXUT+wmPdwWbC5zQdN7bqRqrljG0m9tcqu5i11LVYWqUfF8E/J6qsem7NPV+APYor11L9W2rX2LeiqqL5+Xluv1L+nSqhrVG18/P9nO85bVXUnWjvBw4iaaeP/0ac1Oe8xm+8bkv4gX2Bx7l8S6WlwE79nPMI91jTcfc9O/+rTaxfAT4Xcnv68C6a+pztFtbpsSIiIgh+qkqKSIi+kAKhoiIGCIFQ0REDJGCISIihkjBEBHjIulfJVnS5m1ee7keX2zrMkl/lvS68to3JF0t6QpJXy1drRvX7VrOv1LS/zalbyzpDEm/k3SVpBeNEttLJV0iaaWkvbv5viezFAwxYSStKD+3kjRa3/qR8nmfqqkJuhHTM8sH0KWStu1Gnk15nyDpWR1ct6OqtdIbx/MktRszscZJ2oZqfMAf271u+6e2d7S9I9V4lQepuqpCNXj0mcBzqAaWHlTy3JhqLqV5trcH9mnK8hjgbNvPBHZg9DEDf6TqZnrqmN/cFJaCIXpC0rCj6m3fYns8397eRzVZYDe8DjjD9vNsDzeX0LBGeZ8H2R5u4N5IdqQaS9PIZ6HtT3SQz0Q4GvgAUKff+97Aj2w/CGD7hy6oZjttjEZ+M/Bd238s590Ojw0weynwlZL+iO17ymvbSjpb0mJJP5f0zHLODbaXAkPmj4qRpWCY5CS9QNJSSTMkbVAezZ/d5rwDynlLJH29pM2RdH5JP0/Sk0dJP0nScZJ+BXyqjB6/SNLlkj7WdK85kq4o+/NVTaZ3tqRrJH2q6bwvSlpUYv5ISXsv1QCpn0r6aUnbvdznEkmnS9qwzfvbUdLFJeYzy2jYPagKmXc18mq5ZoWko8v9z1MZqS3pAkmfk7QIOFjSK8oTx+WlSmTdpvPmjhRj+ff5Zfm9/7p8+B0F7FueZPYtv6Nja/zuP1/yum4iqk0k7QXcbHtJzUtap5No5LM28Fbg7JL0DGCT8vtbLOmAkv5U4A7gxPL7PkHSBuW144F/sv18qpHp/93Zuwqgf0Y+Z+vdBnyMagbI/0ebKcSB7alGem9ejhujSL9PWdyEagTp90ZJP4lq2uHp5XghcEDZfzewouzPAa4o+/OppkPYCJgB/AHYpiWO6VRz3Dy3HN/QFOvmwM+ADcrxocARbd7jUuBlZf8o4HNl/0jgkGF+bwbeUvaPoIx2LrH8d9mfQTWD5zPK8cnA+5rOmztcjFQznl4HvKCkz6Kav2w+TSOrm49H+d2fzuPTmi/r0t/OT6hG9LZuewG/AjZq/TcZJp8tqT7U127z2pcb/x7l+FjgYmCD8ru7hqqwmAusBF5YzjsG+CjV3FUPMXSU91Ut9zgJ2HtN/18clG1CJ9GLNeYoqvmJ/gy8t83ruwGn214O4DJzJNW0Ia8v+1+nWsRkpHRKPo1ZancB3tB03ieHie882/cCSPot1RToNwJvlLSA6sNyS6oPvKUt1+5c0i9UNXPoOlQLFT2mfAvf2HajEfNrVB+io1kNnFb2T6GaOqWhkb4d1SRqv2/K+93A52rEuB1wq+3fwGMTO6K/nAG12Ui/+++5mr76t6rmIBo3DzPxpaTnUH2DX1LinQ1cImkn27e1ueSNwJm2H23J58NUi/W8oyn5JuBO2w8AD0j6GVV7ws+Bm2z/qpx3BtViOtOAe1y1Y0QXpGCYGjbj8RlBZwAP9PBerXnXqXt+uGl/FbCWpKdSVQm8wPbdkk6iir2VgHNtv6mTYMeo+b2M5XfYNsby4dpNzb/HEUuX8bJ9OdV079XNpBuAuY0vF228iWqBnsdIOohqCu5XeOgaEv8DHFvab9YBXggcbfs2STdK2s721VQT1v3W9n2Srpe0j+3TVZVUz3X9Kq5okTaGqeFLwIeoeoG0+9Z+PrCPpM0AJG1a0n9JVS8M8Baqb2wjpbe6sOW8sZhF9eF7b/n2+5qm1+4HZpb9i4FdJD2txL6BpGc0Z1SeRu6W9JKS9FbgfxndNKoGU6gaRH/R5pyrgTmN+w+T93AxXk211scLSvrM8mHY/P5a1f3drzGS5ko6oel4DtVU9q2/l+OoFsK5qLSnHAHgapGps3l8PfYTbF9Rrvkn4BuSllI10v9HSX8L8PeSGutI71Xu/QJJN1H1bPqSpCu7/HYnpTwxTHKl4e5R26eqWiXtl5J2s31+4xzbV0r6OPC/klZRLVo0n+o/4YmqFqa5g7J+xQjprQ4GTpV0KO2nRR6W7SWSLqWatfJGqkKm4XjgbEm32H65qoVcvtlo9AX+narNpNnbgONUdXO9boSYmz0A7CTp36nm5d+3TZx/lnQg1QIta1FV2R039BTf0S5G27+XtC/wBUnrUdWT/y3VanyHqVpEqnUdkLq/+wnlajryxv4iStfTcnwDbVZisz1Sj65PU63L3pp+GVVbQ2v69VQrq7Wm/4ahay9EDZldNWIYklbY/oseTmO4/nKqvvjXdzGsiJ5LVVJED0g6F7g8hUIMojwxRETEEHliiIiIIVIwRETEECkYIiJiiBQMERExRAqGiIgY4v8DukpiCcQeMBEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into grid with griddata cubic resampling" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " resolution=(-0.1, 0.00001),\n", + " rasterize_function=partial(rasterize_points_griddata, method=\"cubic\"),\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into user-defined grid with radial linear resampling" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " geom=json.dumps(mapping(box(-48, 44, -47, 45))),\n", + " output_crs=\"epsg:3857\",\n", + " resolution=(-300, 300),\n", + " rasterize_function=rasterize_points_radial,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into user-defined grid with radial cubic resampling\n", + "\n", + "Note: This example is simply to demonstrate the option and and\n", + "would need to be adjusted for better results. As seen in the plot below,\n", + "the values swelled quite a bit due to the input generating an \n", + "ill-conditioned matrix." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/scipy/interpolate/rbf.py:268: LinAlgWarning: Ill-conditioned matrix (rcond=3.16678e-18): result may not be accurate.\n", + " self.nodes = linalg.solve(self.A, self.di)\n" + ] + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " geom=json.dumps(mapping(box(-48, 44, -47, 45))),\n", + " output_crs=\"epsg:3857\",\n", + " resolution=(-300, 300),\n", + " rasterize_function=partial(rasterize_points_radial, method=\"cubic\", filter_nan=True),\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/_sources/examples/timestamp_missing_data.ipynb.txt b/refs/tags/0.7.0/_sources/examples/timestamp_missing_data.ipynb.txt new file mode 100644 index 0000000..3a97693 --- /dev/null +++ b/refs/tags/0.7.0/_sources/examples/timestamp_missing_data.ipynb.txt @@ -0,0 +1,398 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Filling in missing data & dealing with timestamps" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load in geopackage data and add CRS" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "gdf = geopandas.read_file(\n", + " \"../../test/test_data/input/time_vector_data.geojson\",\n", + " crs=\"epsg:4326\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
test_attrtest_str_attrtest_time_attrgeometry
01.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
11.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
21.9dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
31.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
41.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26679 44.21932)
\n", + "
" + ], + "text/plain": [ + " test_attr test_str_attr test_time_attr \\\n", + "0 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "1 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "2 1.9 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "3 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "4 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "\n", + " geometry \n", + "0 POINT (-47.26681 44.21932) \n", + "1 POINT (-47.26680 44.21932) \n", + "2 POINT (-47.26681 44.21932) \n", + "3 POINT (-47.26680 44.21932) \n", + "4 POINT (-47.26679 44.21932) " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gdf.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "gdf.head().plot(column='test_attr')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert to raster with GeoCube\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Load into grid basic" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/xarray/core/variable.py:151: FutureWarning: Converting timezone-aware DatetimeArray to timezone-naive ndarray with 'datetime64[ns]' dtype. In the future, this will return an ndarray with 'object' dtype where each element is a 'pandas.Timestamp' with the correct 'tz'.\n", + "\tTo accept the future behavior, pass 'dtype=object'.\n", + "\tTo keep the old behavior, pass 'dtype=\"datetime64[ns]\"'.\n", + " return np.asarray(pd.Series(values.ravel())).reshape(values.shape)\n" + ] + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr', \"test_time_attr\"],\n", + " datetime_measurements=[\"test_time_attr\"],\n", + " resolution=(-0.1, 0.00001),\n", + " group_by=\"test_time_attr\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Dimensions: (test_time_attr: 2, x: 12, y: 11)\n", + "Coordinates:\n", + " * y (y) float64 45.25 45.15 45.05 44.95 ... 44.45 44.35 44.25\n", + " * x (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n", + " * test_time_attr (test_time_attr) datetime64[ns] 2016-05-21T15:09:21 2016-05-22T15:09:22\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " test_attr (test_time_attr, y, x) float64 nan nan nan ... nan nan nan\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "geo_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEWCAYAAABi5jCmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de5gcVZ3/8feHhDuJXBK5BQgo6AIroBFFWAUElcjiuiDiT0BkdxHXC64iElHB+x1QcY0RBbkIy13AIOIlCihgEpJwE0WMEBJIAkISQCSZz++Pczqp6XT31PR0z3TPfF/PU890V9Wp+lZNV58+lzol24QQQggV6wx1ACGEEDpLZAwhhBB6iYwhhBBCL5ExhBBC6CUyhhBCCL1ExhBCCKGXyBiqSLpH0v5DHUcIobb+XKOSLOnFbQ5p2OmYjEHSfEkHtWA7x0m6peS650v6XHGe7d1szxhoHK1SfV4kTcwf9tGDtP+PSrpb0nJJf5H00arlEyX9StIzkv5QFevWkq6VtDDHPLHG9g+SNFvS05IelnRkg1jWl/QDScskPSrpw1XLnbezIk/nNtjWLpJ+LGmJpCck3SjpJYXlu+d5SyW5Ku2KwtQj6dnC+3c2SpvTz5D090Ka++vFmdd/fT63z+RzvUNh2aaSfihpcZ7OaLCdF0q6JP8/npJ0q6RXFZb3+f8abN1wjQ5HHZMxhNZpcaYh4FhgM+BNwPslHVVYfglwJ7AFcBpwhaTxeVkP8FPg8Dpx7gr8KKd7AbAnMKtBLGcAOwM7AAcAp0h6U9U6e9jeJE//2WBbmwLXAi8BtgTuAH5cWP48cBnwH9UJC9vfBHgI+NfCvIsbpS14fyHNS+qtJGkccBXwSWBzYCbwf4VVzgI2AiYCewPHSHp3nc1tAvweeEXe1g+Bn0jaJC9v+P8aKSSNGuoYhpztIZ+AC0kfymeBFcApef6rgd8CTwJzgf0LaY4DHgSWA38B3gn8E/B3YFXezpMN9nkC6QL+R173ujx/PnBQfn0GcDlwUd7PXcAuwBRgMfAw8IbCNl8AfB9YBDwCfA4Y1cexvwj4JfA4sBS4GNi03nkhfRE5v18B7JPPxa2kL4kngM+18X/1TeBb+fUuwHPAmMLym4ETq9KMzjFPrJr/I+Cz/dj3I1Xn+7PApYX3Bl7c5HFtntNvUTX/xekyqZtu9eelxrKaaYEZwH+WjOsE4LeF9xvnz8NL8/ulwCsLyz8O3NyP414GvKLM/6uP7WyQr5PHSdfr74EtC8f7RVLm+xQpA968kPZy4NG87DfAboVj7+sa3Rv4Xd7nIuAcYL3+fCaA84HvANOBp+v9P0fSNOQBFP45vS4wYNv8IZtMKtkcnN+PzxfHMuAled2tCx+m44BbSu7zfKq+RFk7Y/g78MZ8sVxAyoROA9YF/gv4SyHtNcB3c3wvzBfCe/qI4cX52NbPx/Yb4OwG52Vi/rCPLsw7DlgJfCDHuWGN/fy/fPHUm7Yvcb5EKh2cmN+/Fbivap1zyBlHYV69jOFB0pf7XfmivojCF0bVupvlbWxZmHcEcFfhvYGFpC+Zq6r318ex/RuwqM7/x2U/t2XSkr4ol5C+1G+l8IMnL38S2C+//gbwnarldwOH59dLgb0Ly04D/lZ4fz1wap349syf7xeU+X/1cf7eA1xHKr2MIpVKxhaO9xFgd9K1cSVwUSHt8cCYfA2cDczpxzX6CtIPyNGka+M+4ENVn4kyGcNTwL6k75oNyh73cJ06uSrpaGC67em2e2zfRCpGT87Le4DdJW1oe5Hte9oUx822b7S9kvTLZjzwJdvPA5cCE3M975bAIaQP5dO2F5N+wR9Vd8uA7Qds32T7OdtLgDOB1zUR50Lb37K90vazNfbzI9ubNpgeKrGPM0gXznn5/SakC6roKdJFXsYE4BhS1cXOwIbAt+qsW6nuKO6vel+vI305vJSUQVxfplpN0gTg28CH+1q3RT4G7ET68TMNuE7SiyoL8/+j0k7W1zn+KXCqpDG5kfV40pdzZVuH2v5SdQCSxpJKpJ+2Xb39ZjxPqk58se1VtmfZXlZYfqHtu20/TaoWO7JSZWP7B7aX236O9BnbQ9ILyuw07+e2/LmfT/ph1sz182Pbt+bvmr83kX5Y6eSMYQfgbZKerEzAfsDW+cP1duBEYJGkn0h6aZvieKzw+llgqe1VhfeQLt4dSKWIRYV4v0sqOdSVGwQvlfSIpGWkX83jmojz4SbSlCbp/aS2hjfnCxhS8X5s1apjSdVuZTwLnGf7j7ZXAF8gZ/ySphYaZz+e91XZfs192f6N7X/YfhI4CdiRVL1Y3WC8feG4xgM/A/7X9iUl4x4Q27dXvght/5BUaphcZ/W+zvEHSefxT6QqmkuABY32L2lD0q/722x/sbmjWMuFwI3Apbnx+iuS1i0sL34+/0q6VsZJGiXpS5L+nD//8/M6pa6B3Ing+twZYRnpM9Rx10+36aSMobr3xsOkXxnFX7UbV3795F/xB5Oqkf4AfK/Odvqzz4F4mFTfPq4Q71jbu/WR7os5jpfZHksqKalBjPVibngsubfMigbT9g3SHg+cCrzedvFL5x5gJ0nFX+175PllzKsXt+0TvaZx9gu2/0aqbtqjH/sy+VwWtrVJpXQkaTNSpnCt7c+XjLkdVsdZwz0UjlnSxqR2qXsAbD9h+522t8qftXVIVZg1SVqfVOX5CKn6pyVsP2/707Z3BV4DHEr6IVGxXeH19qQSxlJSFedbgINIbXQTK6FWNt3Hrr9Duv53ztfPx6l/LhseQhNphq1OyhgeIxWvKy4C/lXSG/Ovig0k7S9pgqQtJR2WL5LnSL+qVhW2M0HSek3ss2m2F5G+ZL4uaaykdSS9SFJfxdox5IZySdsCH61aXh3jElI1Wr/itn1x1Zdj9VSzKknSO0m/wg62/WDVNv8IzAFOz/+ftwIvI9UhV9JvQKo7Blg/v684D3i3pJ0kbUSqYrm+wWFcAHxC0ma5hPhfpPphJO0mac/8WdkE+Drpy+++Osc1lvQL91bbp9ZYrhzrepXjyF+qfWqUNlc7vjHPG53P72tzLLVcTaoyPTxv81PAPNt/yNt7kaQt8nEfQmqw/VytDeVf8FeQShjH2u6psU7d/5ekMyTNqLPtAyT9c64eWkb64l9VWOVoSbvm//NngCtyyXsM6Rp+nFQF9oWqTfd1jY7J+1uRPxPvbbBuKKvVjRbNTqRfDQ+RGt5OzvNeBfya1NNmCfAT0q+NrfP8p/L6M4Bdc5r18npPkKp9Gu1zZ9IX25PANV67YesMejeSHQTML7yvNNJNyO9fQPoFsyDHdidwVB8x7Ebqorkix/IRYEEf5+Uz+Xw8SWp4O46SDe5N/F/+QrrIVxSmqYXlE/P5fxa4n6qG2Hx+ek1Vyz+dj2UJqTpiswaxrA/8gPRF8Bjw4cKyA/P+nyb1GLuG9Cuy3rbeleN5uurYti8cV3Xs82tsZ/Xnpeqc1ExLaqP6Pakq6EngNlKmW0y/AviXqs/dH/I5nkGhURg4ktSe8kz+/Lyxals3AB/Pr1+XY3mm6piL+6r7/yL1uPt8nfP5jsL5f4zUe210XjaDNb2SlpGqscblZZuQqsCWk6qYjqXQYEzf1+hr87lZQeoR9xkK10JxWw0+C+ezdgP3J8m9oPL7n7Gmt+SovL992nHNdcKkfKAhhNCQpDmk6sTH+5luBukHVt0bDkNnGZS7Z0MI3c/2nkMdQxgcndTG0BZK46rUamx95yDGMLVODFMHK4YQRrJO+B7oJlGVFEIIoZdhX2IIIYTQP8OqjWHcuHGeOHHiUIcxbP1x1oN9r9SBdnlFS3ok99LOc7HLy55p27ZZd/f2bbsN2nWel/O3pbbH971mfW88YGM//sSqvlcEZs177kbb1QM+dqxhlTFMnDiRmTNnDnUYw9bB67xtqENoyk0zL2/5Ntt5Lm68cW7btr3OVt11fbTrPP/cV/x1oNt4/IlV3HFj3ftCexm19Z+auRt7yAyrjCGEEAaLgR7WukdwWIiMIYQQmmDM8y5XldRtImMIIYQmRYkhhBDCasasGqbd/SNjCCGEJvUM00FZI2MIIYQmGFgVGUMIIYSiKDGEEEJYzcDz0cYQQgihwjiqkkIIIRQYVg3PfCEyhhBCaEa683l4iowhhBCaIlahoQ6iLSJjCCGEJqTG59ZlDJLmk559vQpYaXtS1XIB3wAmk57bfZzt2S0LoCAyhhBCaEK6j6HlJYYDbC+ts+wQYOc8vQr4Tv7bcpExhBBCk3paWGIo4S3ABU6P3bxN0qaStra9qNU7avsT3CSNknSnpOvz+zMkPSJpTp4m10iznaRfSbovP6v1pHbHGUII/VEpMZSZgHGSZhamE+ps8meSZtVZvi3wcOH9gjyv5QajxHAScB8wtjDvLNtfa5BmJfAR27MljQFmSbrJ9r3tDDSEEMoyYlX539ZLq9sMatjX9kJJLwRukvQH278pLK9VPGlLh9m2lhgkTQDeDJzbn3S2F1UaVWwvJ2UsbckZQwihWT1WqakM2wvz38XA1cDeVassALYrvJ8ALGzBYayl3VVJZwOnsHZ33/dLmifpB5I2a7QBSROBvYDb6yw/oVI8W7JkSQtCDiGEvhnxD48qNfVF0sa5dgRJGwNvAO6uWu1a4Fglrwaeakf7ArSxKknSocBi27Mk7V9Y9B3gs6Qi0GeBrwPH19nGJsCVwIdsL6u1ju1pwDSASZMmDdP7EDvDTT2tf3Zyt4pzMTjadZ5Tz8+BSTe4tey39ZbA1Tmu0cCPbP9U0okAtqcC00ldVR8gdVd9d6t2Xq2dbQz7AoflxuUNgLGSLrJ9dGUFSd8Drq+VWNK6pEzhYttXtTHOEEJoSqu6q9p+ENijxvyphdcG3teSHfahbVVJtqfYnmB7InAU8EvbR0vaurDaW1m7uFS5keP7wH22z2xXjCGE0CxbrPI6paZuMxQRf0XSXZLmAQcA/wMgaRtJ0/M6+wLHAAc26tYaQghDqQeVmrrNoNzgZnsGMCO/PqbOOgtJ9WfYvoXaXbNCCKEjpMbn4XmP8PA8qhBCaLMWNz53lMgYQgihSasGd0iMQRMZQwghNKGfdz53lcgYQgihST1d2OOojMgYQgihCWkQvcgYQgghZEY8X2K4i24UGUMIITTBpitvXisjMoYQQmhKd968VkZkDCGE0AQTJYYQQghVovE5hBDCaqb8Q3i6TWQMIYTQBAPPx1hJIYQQ1lDLnsfQaSJjCCGEJpi48zmEEEKV4VpiGJ7ZXQghtJkterxOqakMSaMk3SlprccdS9pf0lOFB5d9quUHVBAlhhBCaEJqfG7pkBgnAfcBY+ssv9n2oa3cYT1RYgghhKa07pnPkiYAbwbObXvYJUTGEEIITUiNzyo1AeMkzSxMJ1Rt7mzgFKCnwS73kTRX0g2SdmvTYQFRlRRCCE3rx53PS21PqrVA0qHAYtuzJO1fJ/1sYAfbKyRNBq4Bdu5vvGVFiSGEEJpQufO5ZImhkX2BwyTNBy4FDpR0Ua992ctsr8ivpwPrShrXhsMCSpYYJL0GmFhc3/YFbYophBC6Qk8LflvbngJMgdT7CDjZ9tHFdSRtBTxm25L2Jv2of3zAO6+jz4xB0oXAi4A5wKo820BkDCGEEcuG53vaV+ki6cS0H08FjgDeK2kl8CxwlG23a99lSgyTgF3bGUQIIXSbVJXU2ozB9gxgRn49tTD/HOCclu6sgTIZw93AVsCiNscSQghdZbje+VwmYxgH3CvpDuC5ykzbh7UtqhBC6HCV7qrDUZmM4Yx2BxFCCN2n9VVJnaLPjMH2ryVtCbwyz7rD9uL2hhVCCJ1vuD7zuc/sTtKRwB3A24AjgdslHdHuwEIIoZOlXkmjSk3dpkxV0mnAKyulBEnjgZ8DV7QzsBBC6GQj/dGe61RVHT1O3DEdQggjtyoJ+KmkGyUdJ+k44CfA9LI7qB5jXNIZkh4pjCs+uU66N0m6X9IDkk4tu78QQhgM/RxEr6uUaXz+qKTDSeN5CJhm++p+7KPWGONn2f5avQSSRgHfBg4GFgC/l3St7Xv7sd8QQmirEdsrCcD2lcCV/d14YYzxzwMf7kfSvYEHbD+Yt3Mp8BYgMoYQQkewxcphmjHUPSpJt+S/yyUtK0zLJS0ruf16Y4y/X9I8ST+QtFmNdNsCDxfeL8jzasV5QmWM8yVLlpQMK4QQBm64ViXVzRhs75f/jrE9tjCNsV3v0XOrFccYr1r0HdKgfHuShtn4eq3ktUKqE+c025NsTxo/fnxfYYUQQksM5zaGMvcxXFhmXg01xxi3/ZjtVbZ7gO+Rqo2qLQC2K7yfACwssc8QQhg0IzZjAHo9Qk7SaOAVfSWyPcX2BNsTgaOAX9o+WtLWhdXeShqkr9rvgZ0l7ShpvZz+2hKxhhDCoGjhg3o6TqM2himSlgMvK7YvAI8BPx7APr8i6S5J84ADgP/J+9tG0nQA2yuB9wM3kno0XWb7ngHsM4QQWq4HlZq6Td1eSba/CHxR0hfzE4aaVjXG+DF11lkITC68n04/7pcIIYTBZMPKNj6oZyiVOao7JL2g8kbSppL+rY0xhRBCVxhxVUkFp9t+qvLG9pPA6e0LKYQQOt+IbGPoY51SN8aFEMJwZqvUVEb18EFVyyTpm3mIoHmSXt7ygykokzHMlHSmpBdJ2knSWUD1vQkhhDDitLjxuTJ8UC2HADvn6QTS/WBtUyZj+ADwD+D/gMuAZ4H3tTOoEELodHbr2hgKwwedW2eVtwAXOLkN2LSq639LlRlE72ngVEmb2F7RrkBCCKG7iFXleyWNkzSz8H6a7WmF95Xhg8bUSV9vmKBFZQPojz4zBkmvIeVimwDbS9oDeI/t/25HQCGE0C3Kth8AS21PqrWgOHyQpP3rpC89TFArlMnuzgLeSHpAD7bnAq9tV0AhhNANWjhWUs3hg6rWGdRhgkqVg2w/XDVrVRtiCSGE7uHUzlBmariZOsMHVa12LXBs7p30auAp222pRoJy3U4fztVJzuMWfZD6LechhDBitHO4C0knAtieShoFYjLwAPAM8O627ZhyGcOJwDdIDR0LgJ8RvZJCCCOc+9f4XG6bvYcPmlqYbwbxe7dMr6SlwDsHIZYQQugqfVUTdau6GYOkU2x/RdK3WLv128ATwEW2/9zOAEMIoVP1o1dSV2lUYqi0I8yss3wL4Cpgj5ZGFEIIXSA1LI+wjMH2dfnvDwEkjUlv19zkJunptkcYQggdqhsHyCujzKM9d5d0J+lJa/dKmiVpNwDb3213gCGE0Kla0V21E5XplTQN+LDtXwHkO/O+B7ymjXGFEEJHM6JnmD6op0zGsHElU4DUnUrSxm2MKYQQukIXFgZKKZMxPCjpk8CF+f3RwF/aF1IIIXSBYdz4XKYcdDwwntQD6SpgHG2+6y6EELqCS05dpmGJQdIo4OO2PzhI8YQQQtcYriWGhhmD7VWSXjFYwYQQQrcw0NMzAjOG7E5J1wKXA6vvW7B9VduiCiGETmdgJJYYss1Jz2I4sDDPpPaGEEIYsbrxHoUyygyiFw3NIYRQSwdmDJIETKjxHJ3Sytz5vJOk6yQtkbRY0o8l7djsDkMIYXgQdrlpMOUhuq8ZyDbKdFf9EXAZsDWwDamt4dKB7DSEEIaFzu2uepukVzabuEzGINsX2l6Zp4voyAJUCCEMIoN7VGoaAgcAv5P0Z0nzJN0laV7ZxGUan38l6VRSKcHA24GfSNocwPYTzUQdQgjdr2N7JR0ykMRlMoa357/vqZp/PCmj2GkgAYQQQtdqUd2JpA2A3wDrk76Xr7B9etU6+wM/Zs2QRFfZ/kydTX7O9jFV6S8Ejqmzfi9leiUNqKE53z09E3jE9qGF+ScDXwXG58eHVqf7H+A/Saf+LuDdtv8+kFhCCKGlWlep/hxwoO0VktYFbpF0g+3bqta7ufg92sBuxTf5e7j0zcqDMWbsSax5GhwAkrYDDgYeqpVA0rbAB4FJtncHRgFHtTnOEEIor3KDW5mpr00llYegrZunfmc7kqZIWg68TNKyPC0HFgPXlt1OWzMGSROANwPnVi06CziFxgc+GthQ0mhgI2BhW4IMIYQm9eNBPeMkzSxMJ1RvS9IoSXNIX+I32b69xi73kTRX0g2VB6b1jsdftD0G+KrtsXkaY3sL26eWPa66GYOkffPf9cturIazSRlAT2G7h5GqlebWS2T7EeBrpBLFIuAp2z+rE+cJlZO9ZMmSAYQaQgj91KNyEyy1PakwTavelO1VtvcEJgB7S9q9apXZwA629wC+ReN7FfauniHpF2UPq1GJ4Zv57+/KbqwqiEOBxbZnFeZtBJwGfKqPtJsBbwF2JN07sbGko2uta3ta5WSPHz++mVBDCKEpcrmpP2w/CcwA3lQ1f1mlusn2dGBdSeN6xSNtIGkLUgllM0mb52ki6bu0lEaNz89LOg/YVtI3qxeWGIp7X+AwSZOBDYCxpIf97AjMTXdtMwGYLWlv248W0h4E/MX2EgBJV5EeJXpRucMKIYQ2a+HNa5LGA8/bflLShqTvwC9XrbMV8JhtS9qb9MP+8apNvQf4ECkTmMWa/rTLgG+XjadRxnBoDu7AvIN+sT0FmAKru1mdbPvw4jqS5pMamKt7JT0EvDqXMJ4FXk/q2RRCCB2iXMNySVsDP8y9h9YBLrN9vaQTAWxPBY4A3itpJel78ag8/MVqtr8BfEPSB2x/q9lg6mYM+cv6Ukn3NWoPaBVJ2wDn2p5s+3ZJV5Dq1FYCdwJr1cmFEMKQalGJwfY8YK8a86cWXp8DnFNye9/KbRS7kmpsKvMvKJO+zA1uj0u6mlQ1ZOAW4CTbC8rsIAczg1RnVj1/YuH1QmBy4f3pwOnVaUIIoWP09L3KUJB0OrA/KWOYTroT+hagVMZQprvqeaT+r9sA2wLX5XkhhDBytfA+hjY4glQF/2h+dMIepLuqSymTMbzQ9nmFQfTOB6L7TwhhxGtHr6QWedZ2D7BS0ljSvRGlhy8qkzEskXR0vvliVO42Wt0SHkIII0/nDrs9U9KmwPdInYdmA3eUTVymjeF4UoPHWaRD/G2eF0IIoQPZ/u/8cqqknwJjcwM3AJJ2s31PvfRlBtF7CDhswJGGEMIwM0TVRP1ie36N2RcCL6+XpkyJIYQQQjVTGe6iGzUMPDKGEEJoVheUGOpoGHlkDCGE0KRuqEpqRp+9kiRtKen7km7I73eV9B/tDy2EEDpc5/ZK6ss/Gi0s0131fOBG1ozM90fSIE0hhDCydWjGUGuI7eI8269ulL5MxjDO9mXkm79trwRW9TPOEEIYVsre3DaY1U152O3NaeOw2xVP5/G9nXf8auCpJmIOIYThpfN6JbV92O2KD5PGSnqRpFtJw2G8rV+hhhDCMNRpjc9tH3a74B7gdcBLSLnP/bT5WdEhhNAVOixjKHhU0hjbyyV9gnQz2+dszy6TuMwX/O/y4Hn32L7b9vM0+bjPEEIYNjqwjaHgkzlT2A94I/BD4DtlE9ctMeTHyG0LbChpL9bUVY0FNmo+3hBCGCY6t8RQ6SD0ZuA7tn8s6YyyiRtVJb0ROI70XOYzC/OXAx/vX4whhDD8qEMf1AM8Ium75GdHS1qffjQBNHq05w9JzyA93PaVA48zhBBCLZI2AH5DepjOaOCK/BTL4joCvkF60uUzwHEN2gyOBN4EfM32k5K2Bj5aNp4yo6teKenNwG70fnboZ8ruJIQQhqXWVSU9Bxxoe4WkdYFbJN1g+7bCOocAO+fpVaQ2g1fVDMt+RtJiYD/gT8DK/LeUMkNiTAXeDnyA1M7wNmCHsjsIIYRhqYWNz05W5Lfr5qk65VuAC/K6twGb5pLAWvIznz8GTCls86Kyh1amzuk1to8F/mb708A+wHZldxBCCMNW+SExxkmaWZhOqN5UfkLmHNJjOG+yfXvVKtsCDxfeL8jzankr6Tk6TwPYXgiMKXtYZe5jeDb/fUbSNqTHeu5YdgchhDBsla9KWmp7UsNN2auAPfMjOa+WtLvtuwur1LrNul4E/7BtSZURKzYuHSnlSgzX50C/Snpu6Hzg0v7sJIQQhhuReiWVmfrD9pPADFLjcdECetfWTAAW1tnMZblX0qaS/gv4Oen5z6X0mTHY/qztJ3PPpB2Al9r+ZNkdhBDCsNTCNgZJ4/MPcCRtSOpm+oeq1a4FjlXyauAp24vqbHI8cAVwJWnUik+RMpJSSj2oR9JrgImV9SVh+4KyOwkhhGGpdb2StibdHjCK9IP9MtvXSzoRwPZUYDqpq+oDpO6q726wvYNtfwy4qTJD0tdJDdJ96jNjkHQh8CJgDmvupjMQGUMIYWRrUcZgex6wV435UwuvDbyv0XYkvRf4b2AnSfMKi8YAt5aNp0yJYRKwaw4qhBBC1mmjqwI/Am4AvgicWpi/3PYTZTdSJmO4G9gKqFeXFUIII1OHZQy2nyI9L+cdA9lOmYxhHHCvpDtId+dVAjhsIDsOIYSu5o4eK2lAymQMZ7Q7iBBC6EodVmJolTJjJf16MAIJIYRu04FtDC1R9z4GSbfkv8slLStMyyUtK7uDfJv3nZKur5p/siRLGlcn3aaSrpD0B0n3Sdqn7D5DCGFQlB8So6s0GnZ7v/y39PgadZwE3Ed6wA8AkrYDDgYeapDuG8BPbR8haT3i4UAhhE7SpV/6ZTQqMWzeaCqzcUkTSE8QOrdq0VnAKdQ5rZLGAq8Fvg9g+x/5NvEQQugIoqMf7TkgjdoYZpG+uAVsD/wtv96U9Eu/zEB6Z5MygNWlDkmHAY/YnpueO1HTTsAS4DxJe+RYTrL9dPWKeZTCEwC23377EiGFEEJrdOOXfhl1Swy2d7S9E3Aj8K+2x9neAjgUuKqvDUs6FFhse1Zh3kbAaaRxOxoZDbyc9KzSvUhDx55aa0Xb02xPsj1p/PjxfYUVQgitM0zbGMqMrvpK29Mrb2zfALyuRLp9gcMkzSeNxnogcCGppDE3z58AzJa0VVXaBcCCwnjkV5AyihBC6BwjOGNYKukTkiZK2kHSaaRnMjRke4rtCbYnAkcBv7R9uO0X2p6Y5y8AXm770aq0jwIPS3pJnvV64N5+HFcIIbRXC0dX7aOOI7QAABSfSURBVDRlMoZ3kIZwvTpP4xng7da1SNpG0vTCrA8AF+eBoPYEvtDqfYYQwoAM0xJDwxvc8hCwU2yfNJCd2J5BevBE9fyJhdcLSUPKVt7PIQ3gF0IIHWlEDolhe5WkVwxWMCGE0E26sZqojDJjJd0p6VrgcvKDpQFs99kzKYQQhq0urSYqo0zGsDmpsfnAwjxTostqCCEMayM1Y7Dd6PFxIYQwIlXufB6O+uyVJGmCpKslLZb0mKQr81AXIYQwoqnHpaY+tyNtJ+lXecDQeySt1eFH0v6SnpI0J0993SjctDJVSeeRHhf3tvz+6Dzv4HYFFUIIHa+1bQwrgY/Yni1pDDBL0k22q+/futn2oS3bax1l7mMYb/s82yvzdD7pXoYQQhjRWnWDm+1Ftmfn18tJI1Jv297o6yt75/PR+bkKoyQdTYk7n0MIYdhrww1ukiYCewG311i8j6S5km6QtFuzYfelTMZwPHAk8GiejsjzQghhROtHiWGcpJmF6YSa25M2Aa4EPmS7+oFos4EdbO8BfAu4pl3HVaZX0kPAYe0KIIQQulb50sBS2w1HcpC0LilTuLjWfWLFjML2dEn/K2mc7aX9iLiU6JUUQgjNcBoSo8zUF6WH03wfuM/2mXXW2Sqvh6S9Sd/fbanWj15JIYTQhBbfx7AvcAxwl6Q5ed7HSQ9Jw/ZUUjX+eyWtBJ4FjrLdljspymQM422fV3h/vqQPtSOYEELoKi36XrZ9CymvabTOOcA5LdlhH6JXUgghNGkkP4+h2CtpEdErKYQQyndV7cKMIXolhRBCk4br8xjK9Er6oaRNC+83k/SD9oYVQgidr1W9kjpNmcbnl9l+svLG9t8k7dXGmEIIofOZljU+d5oybQzrSNqs8kbS5pTLUEIIYVgbro3PZb7gvw78VtIVpDzySODzbY0qhBC6QRd+6ZdRpvH5AkkzSU9wE/DvNYaCDSGEEWU4P6inVJVQzggiMwghhAqXewhPN4q2ghBCaNbwzBciYwghhGYN16qkMvcxvL/YKymEEAKptNDjclOXKdNddSvg95Iuk/SmyrCvIYQw4g3TITH6zBhsfwLYmTRW+HHAnyR9QdKL2hxbCCF0tOF6H0OZEgN5zO/Koz1XApsBV0j6ShtjCyGEjqYel5q6TZ+Nz5I+CLwLWAqcC3zU9vOS1gH+BJzS3hBDCKEDdWk1URlleiWNI93U9tfiTNs9kg5tT1ghhNDZ0g1uwzNnKNPG8KnqTKGw7L6+0ueH+9wp6fqq+SdLsqRx/U0bQggdoafk1GVKtTEM0ElArwxE0nakZ0Y/1N+0IYTQKWSXmrpNWzMGSROAN5PaJorOIrVN1D1jDdKGEMLQa+ET3CRtJ+lXku6TdI+kk2qsI0nflPSApHmSXt66g+mt3SWGs0kZwOrClKTDgEdsz+1v2loknSBppqSZS5YsGWi8IYRQUrkeSSV7Ja0EPmL7n4BXA++TtGvVOoeQbh3YGTgB+E4rj6aobRlDbphebHtWYd5GwGnAp/qbth7b02xPsj1p/PjxAw07hBDKs8tNfW7Gi2zPzq+Xk6rQt61a7S3ABU5uAzaVtHWrDwnaO1bSvsBhkiYDGwBjgQuBHYG5+QbqCcBsSXvbfrRRWkkX2T66jfGGEEJ57tdjO8flxxdUTLM9rdaKkiYCewG3Vy3aFni48H5BnreodBQltS1jsD0FmAIgaX/gZNuHF9eRNB+YZHtpibSRKYQQOkv5huWltif1tZKkTYArgQ/ZXla9uFYEZQPoj8HolVSKpG0kTR/qOEIIobQWjpUkaV1SpnCx7atqrLIA2K7wfgKwsMnIGxqUYbdtzwBm1Jg/sfB6ITC5bNoQQhhq6mnNTQp5cNLvA/fZPrPOatcC75d0KfAq4CnbLa9GgngeQwghNMe08ua1fYFjgLskzcnzPg5sD2B7KjCd9OP5AeAZ4N0t23uVyBhCCKEJonU3r9m+hdptCMV1DLyvJTvsQ2QMIYTQrC68q7mMyBhCCKFZkTGEEEJYrbVtDB0lMoYQQmhSq3oldZrIGEIIoSnlhrvoRpExhBBCM0xkDCGEEKoMz5qkyBhCCKFZ3fgQnjIiYwghhGZFxhBCCGE1G1YNz7qkyBhCCKFZUWIIIYTQS2QMIYTBcPA6bxvqEDrKTT2XD3UItRko9zznrhMZQwghNMXgaGMIIYRQYaLxOYQQQpVoYwghhNBLZAwhhBDWGL6D6K0z1AGEEEJXMtDTU27qg6QfSFos6e46y/eX9JSkOXn6VKsPpyhKDCGE0KzWlRjOB84BLmiwzs22D23VDhuJjCGEEJrSuiExbP9G0sSWbKwFoiophBCaYbB7Sk3AOEkzC9MJTexxH0lzJd0gabcWH00vUWIIIYRmlb/zeantSQPY02xgB9srJE0GrgF2HsD2GooSQwghNMsuNw14N15me0V+PR1YV9K4AW+4jigxhBBCM+xSPY5aQdJWwGO2LWlv0o/6x9u1v8gYQgihWS3qlSTpEmB/UlvEAuB0YN20C08FjgDeK2kl8CxwlN2+mygiYwghhKYYr1rVmi3Z7+hj+Tmk7qyDIjKGEEJoRgy7HUIIYS3DdNjttvdKkjRK0p2Srq+af7Ik12pZl7SdpF9Juk/SPZJOanecIYTQHwbc41JTtxmMEsNJwH3A2MoMSdsBBwMP1UmzEviI7dmSxgCzJN1k+962RxtCCGV4+D6op60lBkkTgDcD51YtOgs4hZTprsX2Ituz8+vlpIxl2zaGGkII/eZVq0pN3abdJYazSRnAmMoMSYcBj9ieK6nPDeTxQ/YCbq+z/ASgcnv5c/VGJ+xQ44ClQx1EP3VbzN0WL0TMvZT5nmjCSwa6geX87caf+4qyN5l11f+zbRmDpEOBxbZnSdo/z9sIOA14Q8ltbAJcCXzI9rJa69ieBkzL688c4G3ng6rb4oXui7nb4oWIeTBImjnQbdh+Uyti6UTtLDHsCxyWx/XYgNTGcCGwI1ApLUwAZkva2/ajxcSS1iVlChfbvqqNcYYQQihoW8ZgewowBdJDJoCTbR9eXEfSfGCS7aVV8wV8H7jP9pntijGEEMLaOmYQPUnbSJqe3+4LHAMcWHhi0eQSm5nWvgjbotvihe6LudvihYh5MHRbvINKbRxuI4QQQhfqmBJDCCGEzhAZQwghhF46JmOQtLmkmyT9Kf/drM56b5J0v6QHJJ1aJr2kKXn9+yW9sTD/7ZLm5WE3vlKYv76k/8tpbq/1LNYhivcdku7KMf+0MpyIpO3zECJ35mU122M6Kea87EhJ9+bz/6NuiDkvP0JpOJe1umd2UrySPpzP7zxJv5C0Q6efY5W49oYiZkljtKa9c46kpZLOzstKXX9dxXZHTMBXgFPz61OBL9dYZxTwZ2AnYD1gLrBro/TArnm99UldZf+ct7MFaUiO8Xm9HwKvz6//G5iaXx8F/F8HxDsaWAyMK6Q/I7+eBry3kH5+h5zjRjHvDNwJbJbfv7DTY87vxwC/AW4j9ajr2HiBA4CN8uv3UuNz3IEx93ntDUXMNbY9C3htf66/bpqGPIDCib4f2Dq/3hq4v8Y6+wA3Ft5PAaY0Sl9cJ7+/MW/nlcDPC/OPAf63uE5+PZp016KGON51gSXADoCAqcAJeZ3vAh8r7PO3HXKOG8X8FeA/O/BzUTfmvN7ZwKHADGpnDB0Vb2H9vYBbO/0cU+LaG4qYq7a7M/BwJS5KXn/dNHVMVRKwpe1FkMZKAl5YY51tSf+QigWsGUOpXvp6aR4AXippoqTRwL8B21Wnsb0SeIpUwhiyeG0/T/rVdxewkPTL5Pt5nTOAo5We/DQd+ECNWDot5l2AXSTdKuk2SfXuIu2YmCXtBWxnu9dIwZ0ab5X/AG7ogpjLXHuDHnPVdt9BKsk4vz+Dctdf1xjUjEHSzyXdXWN6S9lN1JjnGvP6TGP7b+TiNXAzMJ80quvqNJV4SXdo3zyU8SrdCf5e0i+/bYB55BsISR/U821PIGV4t3bCOe4j5tGkX177k877dbk+vCNjlrQOafDHj0j6OanEeWmnxtsroXQ0qUT8ji74XKxOk89z9bU3JDFXvT8KuKTwvnj9TQYuzJ+XrjWoD+qxfVC9ZZIek7S17UWStibVQVZbwJpf9ZA+NAvz63rp66axfR1wXd7/CcCqYhrbB+XSxKOkusnVH5AhiHfPHPOf8/4vI9WNQvo1+Ka8/JWSHgQOtN0rpg6LeQFwW/71uJ+kX5DqfH/foTGPAXYnVSFBqr/eiPTs3dXj7nRQvJV4DiKNT7Zz9eehQ2OupFlA+kyvde0NUcyV/e4BjLY9q7BO8fr7naQNSIMK1jzf3aCTcrVrgXfl1+8Cflxjnd8DO0vaUdJ6pJz72j7SXwscpdTbYUfSr9Q7ACS9MP/djNTodW6NbR0B/LL6gzkE8T4C7CppfF7vYNJw5JAa0V+fj+WfSGNTLakRTyfFfA2pcRSlHim7AA92asy2n7I9zvZE2xNJjc+HFTOFTooXVld9fTfH2ehLqmNipty1NxQxV7yD3qUFKH/9dY+hbuSoTKR6xF8Af8p/N8/ztwGmF9abDPyR1FvgtL7S52Wn5fXvBw4pzL8EuDdPRxXmbwBcTqqWuQPYqUPiPZF0Ac0jlXS2yPN3BW4l9aaYA7yhg85xvZgFnJnP/V3F89+pMVfFNYPajc8dEy/wc+Cx/JmYA1zb6eeYEtfeUMWclz0IvLRqXqnrr5umGBIjhBBCL51UlRRCCKEDRMYQQgihl8gYQggh9BIZQwghhF4iYwghDIikk5UGFRxXY9lL1HvwuWWSPpSXfVXSH5QGnrta0qaFdC+T9DulARbvyvcGIGk9SdMk/TGnPbx6n1X7f2neznOSTm71sQ9XkTGEQSNpvtaMovnbAWznOEnbtCim8UqjeN4p6V9asc3Ctg9TYUTPfqb9eNX7ps9XO0najnQfwkO1ltu+3/aetvcEXgE8A1ydF98E7G77ZaQupZVHAY8GLgJOtL0b6e7453Oa04DFtnchdRP9dR8hPgF8EPhaUwc4QkXGENoiX9x12X7NADZ/HKm/eiu8HviD7b1s39zfxI2O0/a1tr/UZFy9MoYBnq92Ogs4hb6HmoB0rv9s+68Atn/mNB4SpBsGJ+TXbwDm2Z6b13vcdmVUguOBL+b5Pc7Pi88Z/JWSfp+nffM6i53upq9kLKGEyBiGOUmvzEX1DSRtnIvmu9dY79i83lxJF+Z5OyiN418Zz3/7PuafL+lMSb8CvixpC0k/y7/Gv0vvcXBW5L/7S5oh6YpcNXCxpMpYVZ/KF/ndufpAko4AJgEX56qJDSW9QtKvJc2SdKPSEAfVx7dWzJL2JI3yOrmyrao08yV9WdIdeXpxnePcXNI1edu3SXpZXu84Sefk1zW/uCRtIuk8rXk2weGSvgRsmGO6uOp8SakK5u6c5u19ncd2kXQY8EjlC7yE6jGGio5nzSB/u5DGVLpR0mxJp+T9VaqaPpvnXy5pyzzvG8BZtl8JHM6aUQxCM4b6DruY2j8BnyMVpb9NYUjhwvLdSHd5VsbHr9xFeh3wrvz6eOCaPuafD1xPHr8e+Cbwqfz6zaRflZV9rMh/9yeNoDmB9EPld8B+xTjy6wuBf82vZ5DvOiYN4fxb1jxX4+3AD2ocY72YjwPOqXPe5pPvlgWOBa6vc5zfAk7Prw8E5lRvG/hR4bi2Jw2zAfBl4OzCPjcrnp/C/Mr5OpxUBTMK2JJUhbN1o/M4wM/Oz4G7a0xvAW4HXlA4V+MabGc90hDaW9ZYdhqpeqlyw+3JwF9I4w1tlI/l9fm9gcPzeh8GLsyvF7PmDu85pGE3xhT2cQZw8lBfi90yDeogemHIfIY0bszfSfWt1Q4ErnAultt+Is/fB/j3/PpC0q/rRvMBLveaYv9rK+vZ/omkv9WJ7w7bCwAkzQEmArcAB+RfixsBmwP3kAc9LHgJaXC7m/IP5FHAohr7aBRzI5cU/p5VmF88zv1IX9jY/mUuKb2gajsHkcYHqrwfK2lMnn9UZabTqL+N7Adckvf9mKRfk0Z6XUb989g01xn4UtI/kx5kMzcf0wRgtqS9bT9aI8khwGzbj1Vt512k51u83vkbnDSQ3a+9pppoOvBy4Jf0bqO4nDSAHaTMcB/bzzZ1oKGXyBhGhs2BTUi/rjcAnq5aLsrVEddbpzi/ettltvtc4fUqYLRSL5T/JZUMHpZ0Bin2agLusb1Pif30N67q9eodZ5mhmmt+ceXqnv6MS9Ooemit89iP7faL7bsoPANB0nzS/2ppnSRrDT6n9AyOjwGvs/1MYdGNwCmSNgL+AbyOVE1kSdeRSke/JJUi7s1pfga8H/hq3vaetucM5BhHsmhjGBmmAZ8ELiZVXVT7BXCkpC0gPQ83z/8ta37NvpM1vz7rza/2m7wcSYcANZ/LW0clE1gqaRPSSJsVy0nDYEOqAhsvaZ+8n3Ul7VZje2Vjrvb2wt/f1VmneJz7A0ttL6tap/LFRV5vzzrzK+foeaXnFtTa19sljVIanfS19B79c8hJ2ib/yq+834jUc+mqqlXPIf0fb8rtKVNhdanpTFIpdw6ppPGTnOZjwBmS5pGeMfGRPP+DwKTcTnMvaZA+JG2l9ACdDwOfkLRA0tjWH/XwEiWGYU7SscBK2z+SNAr4raQDbf+yso7teyR9Hvi1pFWkZzEfR7rYfiDpo6RhhN+dk9SbX+3TwCWSZpO6Fdbs0liL7SclfY808up80pdExfnAVEnPkqqIjgC+matvRpMev3lP1SbLxlxtfUm3k35EvaPOOmcA5+Uvq2dYM5wzrCkNfBD4dl5nNOkL/kRS+8+3lR4ItYp0zq4iZebzJM22/c7C9q7Oxzw3b/sU249KemnJ42kLp6HIK68XkkY1rbx/hhpPYbP94gbbu4jUZbV6/l9JmWH1/KWsycSL8x9lTW+nUFKMrhpCHSWqR/pK/xFgrO3TWxpYCG0WJYYQ2kDSiaRS17/3sWoIHSdKDCGEEHqJxucQQgi9RMYQQgihl8gYQggh9BIZQwghhF4iYwghhNDL/wd51SDAUMFPGAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "grid_time_1 = geo_grid.isel(test_time_attr=0)\n", + "grid_time_1.test_attr.where(grid_time_1.test_attr!=grid_time_1.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Load into UTM grid followed by interpolation for missing values\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/xarray/core/variable.py:151: FutureWarning: Converting timezone-aware DatetimeArray to timezone-naive ndarray with 'datetime64[ns]' dtype. In the future, this will return an ndarray with 'object' dtype where each element is a 'pandas.Timestamp' with the correct 'tz'.\n", + "\tTo accept the future behavior, pass 'dtype=object'.\n", + "\tTo keep the old behavior, pass 'dtype=\"datetime64[ns]\"'.\n", + " return np.asarray(pd.Series(values.ravel())).reshape(values.shape)\n" + ] + } + ], + "source": [ + "geo_grid_interp = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr', \"test_time_attr\"],\n", + " datetime_measurements=[\"test_time_attr\"],\n", + " resolution=(-0.1, 0.00001),\n", + " group_by=\"test_time_attr\",\n", + " interpolate_na_method='nearest'\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Dimensions: (test_time_attr: 2, x: 12, y: 11)\n", + "Coordinates:\n", + " * y (y) float64 45.25 45.15 45.05 44.95 ... 44.45 44.35 44.25\n", + " * x (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n", + " * test_time_attr (test_time_attr) datetime64[ns] 2016-05-21T15:09:21 2016-05-22T15:09:22\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " test_attr (test_time_attr, y, x) float64 1.3 1.3 1.3 ... 1.3 1.3 1.3\n", + "Attributes:\n", + " grid_mapping: spatial_ref\n", + " creation_date: 2019-12-12 19:57:17.046150" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "geo_grid_interp" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEWCAYAAABi5jCmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de5wcVZ338c+XJBAuiVwSuQUIIOgCj4BGFOFR5CISWFwXRHwERHY3oqviKiIRFXS9XwAV1xhRkIuwyE3AIIIaBRSQhCTcRBEjhARCQEgCiCT5Pn+c00lNp7unpqd7pnvm93696jXdVXWqflXT1afPOVXnyDYhhBBCxTqDHUAIIYTOEhlDCCGEHiJjCCGE0ENkDCGEEHqIjCGEEEIPkTGEEELoITKGKpLulbTfYMcRQqitL9eoJEt6WZtDGnI6JmOQNF/SgS3YzvGSbim57vmSPlecZ3tX2zP7G0erVJ8XSRPzh33kAO3/Y5LukbRM0l8kfaxq+URJv5L0nKQ/VMW6paRrJC3MMU+ssf0DJc2W9KykRyQd1SCW9ST9QNJSSY9J+kjVcuftLM/TuQ22tbOkn0h6QtJTkm6Q9PLC8t3yvCWSXJV2eWFaJen5wvt3NUqb08+U9PdCmgfqxZnXPyCf2+fyud6usGxjST+UtDhPZzTYzkslXZL/H89IulXSawvLe/1/DbRuuEaHoo7JGELrtDjTEHAcsAnwFuADko4uLL8EuAvYDDgNuFzS+LxsFfAz4Ig6ce4C/CinewmwBzCrQSxnADsB2wFvAk6R9JaqdXa3vVGe/r3BtjYGrgFeDmwO3AH8pLD8ReAy4N+qExa2vxHwMPDPhXkXN0pb8IFCmpfXW0nSOOBK4FPApsCdwP8WVjkL2ACYCOwFHCvpPXU2txHwe+DVeVs/BH4qaaO8vOH/a7iQNGKwYxh0tgd9Ai4kfSifB5YDp+T5rwN+CzwNzAX2K6Q5HngIWAb8BXgX8E/A34GVeTtPN9jnFNIF/I+87rV5/nzgwPz6DODHwEV5P3cDOwNTgcXAI8CbC9t8CfB9YBHwKPA5YEQvx74j8EvgSWAJcDGwcb3zQvoicn6/HNg7n4tbSV8STwGfa+P/6pvAt/LrnYEXgDGF5TcDJ1alGZljnlg1/0fAf/dh349Wne//Bi4tvDfwsiaPa9OcfrOq+S9Ll0nddKs/LzWW1UwLzAT+vWRcU4DfFt5vmD8Pr8jvlwCvKSz/BHBzH457KfDqMv+vXrYzOl8nT5Ku198DmxeO94ukzPcZUga8aSHtj4HH8rLfALsWjr23a3Qv4Hd5n4uAc4B1+/KZAM4HvgPMAJ6t9/8cTtOgB1D45/S4wICt84dsMqlkc1B+Pz5fHEuBl+d1tyx8mI4Hbim5z/Op+hJl7Yzh78DB+WK5gJQJnQaMAv4D+Esh7dXAd3N8L80Xwnt7ieFl+djWy8f2G+DsBudlYv6wjyzMOx5YAXwwx7l+jf38v3zx1Ju2LXG+RCodnJjfvw24v2qdc8gZR2FevYzhIdKX+935or6IwhdG1bqb5G1sXph3JHB34b2BhaQvmSur99fLsf0LsKjO/8dlP7dl0pK+KJ8gfanfSuEHT17+NLBvfv0N4DtVy+8BjsivlwB7FZadBvyt8P464NQ68e2RP98vKfP/6uX8vRe4llR6GUEqlYwtHO+jwG6ka+MK4KJC2hOAMfkaOBuY04dr9NWkH5AjSdfG/cCHqz4TZTKGZ4B9SN81o8se91CdOrkq6Rhghu0ZtlfZvpFUjJ6cl68CdpO0vu1Ftu9tUxw3277B9grSL5vxwJdsvwhcCkzM9bybA4eQPpTP2l5M+gV/dN0tA7YftH2j7RdsPwGcCbyxiTgX2v6W7RW2n6+xnx/Z3rjB9HCJfZxBunDOy+83Il1QRc+QLvIyJgDHkqoudgLWB75VZ91KdUdxf9X7eiPpy+EVpAziujLVapImAN8GPtLbui3ycWAH0o+f6cC1knasLMz/j0o7WW/n+GfAqZLG5EbWE0hfzpVtHWb7S9UBSBpLKpF+xnb19pvxIqk68WW2V9qeZXtpYfmFtu+x/SypWuyoSpWN7R/YXmb7BdJnbHdJLymz07yf2/Lnfj7ph1kz189PbN+av2v+3kT6IaWTM4btgLdLeroyAfsCW+YP1zuAE4FFkn4q6RVtiuPxwuvngSW2VxbeQ7p4tyOVIhYV4v0uqeRQV24QvFTSo5KWkn41j2sizkeaSFOapA+Q2hoOzRcwpOL92KpVx5Kq3cp4HjjP9h9tLwe+QM74JU0rNM5+Iu+rsv2a+7L9G9v/sP00cBKwPal6sbrBeNvCcY0Hfg78j+1LSsbdL7Zvr3wR2v4hqdQwuc7qvZ3jD5HO459IVTSXAAsa7V/S+qRf97fZ/mJzR7GWC4EbgEtz4/VXJI0qLC9+Pv9KulbGSRoh6UuS/pw///PzOqWugXwTwXX5ZoSlpM9Qx10/3aaTMobquzceIf3KKP6q3bDy6yf/ij+IVI30B+B7dbbTl332xyOk+vZxhXjH2t61l3RfzHG80vZYUklJDWKsF3PDY8l3yyxvMG3bIO0JwKnAAbaLXzr3AjtIKv5q3z3PL2Nevbhtn+g1jbNfsP03UnXT7n3Yl8nnsrCtjSqlI0mbkDKFa2x/vmTM7bA6zhrupXDMkjYktUvdC2D7Kdvvsr1F/qytQ6rCrEnSeqQqz0dJ1T8tYftF25+xvQvweuAw0g+Jim0Kr7cllTCWkKo43wocSGqjm1gJtbLpXnb9HdL1v1O+fj5B/XPZ8BCaSDNkdVLG8DipeF1xEfDPkg7OvypGS9pP0gRJm0s6PF8kL5B+Va0sbGeCpHWb2GfTbC8ifcl8XdJYSetI2lFSb8XaMeSGcklbAx+rWl4d4xOkarQ+xW374qovx+qpZlWSpHeRfoUdZPuhqm3+EZgDnJ7/P28DXkmqQ66kH02qOwZYL7+vOA94j6QdJG1AqmK5rsFhXAB8UtImuYT4H6T6YSTtKmmP/FnZCPg66cvv/jrHNZb0C/dW26fWWK4c67qV48hfqr1qlDZXOx6c543M5/cNOZZariJVmR6Rt/lpYJ7tP+Tt7Shps3zch5AabD9Xa0P5F/zlpBLGcbZX1Vin7v9L0hmSZtbZ9psk/Z9cPbSU9MW/srDKMZJ2yf/nzwKX55L3GNI1/CSpCuwLVZvu7Rodk/e3PH8m3tdg3VBWqxstmp1IvxoeJjW8nZznvRb4NelOmyeAn5J+bWyZ5z+T158J7JLTrJvXe4pU7dNonzuRvtieBq722g1bZ9CzkexAYH7hfaWRbkJ+/xLSL5gFOba7gKN7iWFX0i2ay3MsHwUW9HJePpvPx9OkhrfjKdng3sT/5S+ki3x5YZpWWD4xn//ngQeoaojN56fHVLX8M/lYniBVR2zSIJb1gB+QvggeBz5SWLZ/3v+zpDvGrib9iqy3rXfneJ6tOrZtC8dVHfv8GttZ/XmpOic105LaqH5Pqgp6GriNlOkW0y8H/m/V5+4P+RzPpNAoDBxFak95Ln9+Dq7a1vXAJ/LrN+ZYnqs65uK+6v6/SHfcfb7O+Xxn4fw/Trp7bWReNpM1dyUtJVVjjcvLNiJVgS0jVTEdR6HBmN6v0Tfkc7OcdEfcZylcC8VtNfgsnM/aDdyfIt8Fld//nDV3S47I+9u7HddcJ0zKBxpCCA1JmkOqTnyyj+lmkn5g1X3gMHSWAXl6NoTQ/WzvMdgxhIHRSW0MbaHUr0qtxtZ3DWAM0+rEMG2gYghhOOuE74FuElVJIYQQehjyJYYQQgh9M6TaGNbVeh7NhoMdRgj9svMrnxvsEPrkj/M26H2lDrOMvy2xPb73Nes7+E0b+smnVva+IjBr3gs32K7u8LFjDamMYTQb8lodMNhhhNAvN9wwd7BD6JODt9q995U6zE2+/K/93caTT63kjhvqPhfaw4gt/9TM09iDZkhlDCGEMFAMrGKtZwSHhMgYQgihCca86HJVSd0mMoYQQmhSlBhCCCGsZszKIXq7f2QMIYTQpFVDtFPWyBhCCKEJBlZGxhBCCKEoSgwhhBBWM/BitDGEEEKoMI6qpBBCCAWGlUMzX4iMIYQQmpGefB6aImMIIYSmiJVosINoi8gYQgihCanxuXUZg6T5pLGvVwIrbE+qWi7gG8Bk0rjdx9ue3bIACiJjCCGEJqTnGFpeYniT7SV1lh0C7JSn1wLfyX9bLjKGEEJo0qoWlhhKeCtwgdOwm7dJ2ljSlrYXtXpHbR/BTdIISXdJui6/P0PSo5Lm5GlyjTTbSPqVpPvzWK0ntTvOEELoi0qJocwEjJN0Z2GaUmeTP5c0q87yrYFHCu8X5HktNxAlhpOA+4GxhXln2f5agzQrgI/ani1pDDBL0o2272tnoCGEUJYRK8v/tl5S3WZQwz62F0p6KXCjpD/Y/k1hea3iSVtumG1riUHSBOBQ4Ny+pLO9qNKoYnsZKWNpS84YQgjNWmWVmsqwvTD/XQxcBexVtcoCYJvC+wnAwhYcxlraXZV0NnAKa9/u+wFJ8yT9QNImjTYgaSKwJ3B7neVTKsWzF3mhBSGHEELvjPiHR5SaeiNpw1w7gqQNgTcD91Stdg1wnJLXAc+0o30B2pgxSDoMWGx7VtWi7wA7AnsAi4CvN9jGRsAVwIdtL621ju3ptifZnjSK9VoTfAgh9CI94LZOqamEzYFbJM0F7gB+avtnkk6UdGJeZwbwEPAg8D3g/W04LKC9bQz7AIfnxuXRwFhJF9k+prKCpO8B19VKLGkUKVO42PaVbYwzhBCa0qrbVW0/BOxeY/60wmsD/9mSHfaibSUG21NtT7A9ETga+KXtYyRtWVjtbaxdXKo8yPF94H7bZ7YrxhBCaJYtVnqdUlO3GYyIvyLpbknzgDcB/wUgaStJM/I6+wDHAvs3uq01hBAG0ypUauo2A/KAm+2ZwMz8+tg66ywkPeqN7VuofWtWCCF0hNT4PDSfER6aRxVCCG1WaXweiiJjCCGEJq0c2C4xBkxkDCGE0IQ+PvncVSJjCCGEJq3qwjuOyoiMIYQQmpA60YuMIYQQQmbEiyW6u+hGkTGEEEITbLry4bUyImMIIYSmdOfDa2VExhBCCE0wUWIIIYRQJRqfQwghrGbKD8LTbSJjCCGEJhh4MfpKCiGEsIZaNh5Dp4mMIYQQmmDiyecQQghVhmqJYWhmdyGE0Ga2WOV1Sk1lSBoh6S5Jaw13LGk/Sc8UBi77dMsPqCBKDCGE0ITU+NzSLjFOAu4HxtZZfrPtw1q5w3qixBBCCE1p3ZjPkiYAhwLntj3sEiJjCCGEJqTGZ5WagHGS7ixMU6o2dzZwCrCqwS73ljRX0vWSdm3TYQFRlRRCCE3rw5PPS2xPqrVA0mHAYtuzJO1XJ/1sYDvbyyVNBq4GduprvGVFiSGEEJpQefK5ZImhkX2AwyXNBy4F9pd0UY992UttL8+vZwCjJI1rw2EBJUsMkl4PTCyub/uCNsUUQghdYVULflvbngpMhXT3EXCy7WOK60jaAnjctiXtRfpR/2S/d15HrxmDpAuBHYE5wMo820BkDCGEYcuGF1e1r9JF0olpP54GHAm8T9IK4HngaNtu177LlBgmAbu0M4gQQug2qSqptRmD7ZnAzPx6WmH+OcA5Ld1ZA2UyhnuALYBFbY4lhBC6ylB98rlMxjAOuE/SHcALlZm2D29bVCGE0OEqt6sORWUyhjPaHUQIIXSf1lcldYpeMwbbv5a0OfCaPOsO24vbG1YIIXS+oTrmc6/ZnaSjgDuAtwNHAbdLOrLdgYUQQidLdyWNKDV1mzJVSacBr6mUEiSNB24CLm9nYCGE0MmG+9Ce61RVHT1JPDEdQgjDtyoJ+JmkGyQdL+l44KfAjLI7qO5jXNIZkh4t9Cs+uU66t0h6QNKDkk4tu78QQhgIfexEr6uUaXz+mKQjSP15CJhu+6o+7KNWH+Nn2f5avQSSRgDfBg4CFgC/l3SN7fv6sN8QQmirYXtXEoDtK4Ar+rrxQh/jnwc+0oekewEP2n4ob+dS4K1AZAwhhI5gixVDNGOoe1SSbsl/l0laWpiWSVpacvv1+hj/gKR5kn4gaZMa6bYGHim8X5Dn1YpzSqWP8xfXPH8XQghtN1SrkupmDLb3zX/H2B5bmMbYrjf03GrFPsarFn2H1CnfHqRuNr5eK3mtkOrEOd32JNuTRrFeb2GFEEJLDOU2hjLPMVxYZl4NNfsYt/247ZW2VwHfI1UbVVsAbFN4PwFYWGKfIYQwYIZtxgD0GEJO0kjg1b0lsj3V9gTbE4GjgV/aPkbSloXV3kbqpK/a74GdJG0vad2c/poSsYYQwoBo4UA9HadRG8NUScuAVxbbF4DHgZ/0Y59fkXS3pHnAm4D/yvvbStIMANsrgA8AN5DuaLrM9r392GcIIbTcKlRq6jZ170qy/UXgi5K+mEcYalpVH+PH1llnITC58H4GfXheIoQQBpINK9o4UM9gKnNUd0h6SeWNpI0l/UsbYwohhK4w7KqSCk63/Uzlje2ngdPbF1IIIXS+YdnG0Ms6pR6MCyGEocxWqamM6u6DqpZJ0jdzF0HzJL2q5QdTUCZjuFPSmZJ2lLSDpLOA6mcTQghh2Glx43Ol+6BaDgF2ytMU0vNgbVMmY/gg8A/gf4HLgOeB/2xnUCGE0Ons1rUxFLoPOrfOKm8FLnByG7Bx1a3/LVWmE71ngVMlbWR7ebsCCSGE7iJWlr8raZykOwvvp9ueXnhf6T5oTJ309boJWlQ2gL7oNWOQ9HpSLrYRsK2k3YH32n5/OwIKIYRuUbb9AFhie1KtBcXugyTtVyd96W6CWqFMdncWcDBpgB5szwXe0K6AQgihG7Swr6Sa3QdVrTOg3QSVKgfZfqRq1so2xBJCCN3DqZ2hzNRwM3W6D6pa7RrguHx30uuAZ2y3pRoJyt12+kiuTnLut+hD1G85DyGEYaOd3V1IOhHA9jRSLxCTgQeB54D3tG3HlMsYTgS+QWroWAD8nLgrKYQwzLlvjc/lttmz+6BphflmAL93y9yVtAR41wDEEkIIXaW3aqJuVTdjkHSK7a9I+hZrt34beAq4yPaf2xlgCCF0qj7cldRVGpUYKu0Id9ZZvhlwJbB7SyMKIYQukBqWh1nGYPva/PeHAJLGpLdrHnKT9GzbIwwhhA7VjR3klVFmaM/dJN1FGmntPkmzJO0KYPu77Q4whBA6VStuV+1EZe5Kmg58xPavAPKTed8DXt/GuEIIoaMZsWqIDtRTJmPYsJIpQLqdStKGbYwphBC6QhcWBkopkzE8JOlTwIX5/THAX9oXUgghdIEh3Phcphx0AjCedAfSlcA42vzUXQghdAWXnLpMwxKDpBHAJ2x/aIDiCSGErjFUSwwNMwbbKyW9eqCCCSGEbmFg1aphmDFkd0m6BvgxsPq5BdtXti2qEELodAaGY4kh25Q0FsP+hXkmtTeEEMKw1Y3PKJRRphO9aGgOIYRaOjBjkCRgQo1xdEor8+TzDpKulfSEpMWSfiJp+2Z3GEIIQ4Owy00DKXfRfXV/tlHmdtUfAZcBWwJbkdoaLu3PTkMIYUjo3NtVb5P0mmYTl8kYZPtC2yvydBEdWYAKIYQBZPAqlZoGwZuA30n6s6R5ku6WNK9s4jKNz7+SdCqplGDgHcBPJW0KYPupZqIOIYTu17F3JR3Sn8RlMoZ35L/vrZp/Aimj2KE/AYQQQtdqUd2JpNHAb4D1SN/Ll9s+vWqd/YCfsKZLoittf7bOJj9n+9iq9BcCx9ZZv4cydyX1q6E5Pz19J/Co7cMK808GvgqMz8OHVqf7L+DfSaf+buA9tv/en1hCCKGlWlep/gKwv+3lkkYBt0i63vZtVevdXPwebWDX4pv8PVz6YeWB6DP2JNaMBgeApG2Ag4CHayWQtDXwIWCS7d2AEcDRbY4zhBDKqzzgVmbqbVNJZRC0UXnqc7YjaaqkZcArJS3N0zJgMXBN2e20NWOQNAE4FDi3atFZwCk0PvCRwPqSRgIbAAvbEmQIITSpDwP1jJN0Z2GaUr0tSSMkzSF9id9o+/Yau9xb0lxJ11cGTOsZj79oewzwVdtj8zTG9ma2Ty17XHWrkiTtY/tWSevZfqHsBqucTcoAxhS2ezipWmlueg5jbbYflfQ1UonieeDntn9eJ84pwBSA0WzQZJghDH0HbxXDs7dc+TuOltie1GgF2yuBPSRtDFwlaTfb9xRWmQ1sl6ubJpOeVdipzub2qp4h6Re2DygTbKMSwzfz39+V2VCNIA4DFtueVZi3AXAa8Ole0m4CvBXYnvTsxIaSjqm1ru3ptifZnjSK9ZoJNYQQmiKXm/rC9tPATOAtVfOXVqqbbM8ARkka1yMeabSkzUgllE0kbZqniaTv0lIaNT6/KOk8YGtJ36xeWKIr7n2Aw3PONhoYSxrsZ3ugUlqYAMyWtJftxwppDwT+YvsJAElXkoYSvajcYYUQQpu18OE1SeOBF20/LWl90nfgl6vW2QJ43LYl7UX6Yf9k1abeC3yYlAnMYs39tEuBb5eNp1HGcFgObv+8gz6xPRWYCqtvszrZ9hHFdSTNJzUwV9+V9DDwulzCeB44gHRnUwghdIhyDcslbQn8MN89tA5wme3rJJ0IYHsacCTwPkkrSN+LR+fuL1az/Q3gG5I+aPtbzQZTN2PIX9aXSrrf9txmd1CWpK2Ac21Ptn27pMtJdWorgLuA6e2OIYQQ+qRFJQbb84A9a8yfVnh9DnBOye19S9JuwC6kGpvK/AvKpC/zgNuTkq4iVQ0ZuAU4yfaCMjvIwcwk1ZlVz59YeL0QmFx4fzpwenWaEELoGKsGO4DaJJ0O7EfKGGaQnoS+BSiVMZS5XfU80v2vWwFbA9fmeSGEMHy18DmGNjiSVAX/WB46YXcof3dOmYzhpbbPK3Sidz4wvqlQQwhhCGnHXUkt8rztVcAKSWNJz0aU7r6oTMbwhKRj8sMXI/Jto9Ut4SGEMPx0brfbd+bnIb5HunloNnBH2cRl2hhOIDV4nEU6xN/meSGEEDqQ7ffnl9Mk/QwYmxu4AZC0q+1766Uv04new8Dh/Y40hBCGmEGqJuoT2/NrzL4QeFW9NGVKDCGEEKqZvnSJ0WkaBh4ZQwghNKsLSgx1NIw8MoYQQmhSN1QlNaPXu5IkbS7p+5Kuz+93kfRv7Q8thBA6XOfeldSbfzRaWOZ21fOBG1jTM98fSZ00hRDC8NahGYOkXzSaZ/t1jdKXyRjG2b6M/PC37RXAyj7GGUIIQ0rZh9sGsropd7u9KW3sdrvi2dy/t/OOXwc800TMIYQwtHTeXUlt73a74iOkvpJ2lHQrqTuMt/cp1BBCGII6rfG57d1uF9wLvBF4OSn3eYA2jxUdwnAWQ3B2kQ7LGAoekzTG9jJJnyQ9zPY527PLJC7zBf+73Hnevbbvsf0iTQ73GUIIQ0YHtjEUfCpnCvsCBwM/BL5TNnHdEkMeRm5rYH1Je7KmrmossEHz8YYQwhDRuSWGyg1ChwLfsf0TSWeUTdyoKulg4HjSuMxnFuYvAz7RtxhDCGHoUYcO1AM8Kum75LGjJa1HH5oAGg3t+UPSGKRH2L6i/3GGEEKoRdJo4DekwXRGApfnUSyL6wj4Bmmky+eA4xu0GRwFvAX4mu2nJW0JfKxsPGV6V71C0qHArvQcO/SzZXcSQghDUuuqkl4A9re9XNIo4BZJ19u+rbDOIcBOeXotqc3gtTXDsp+TtBjYF/gTsCL/LaVMlxjTgHcAHyS1M7wd2K7sDkIIYUhqYeOzk+X57ag8Vad8K3BBXvc2YONcElhLHvP548DUwjYvKntoZeqcXm/7OOBvtj8D7A1sU3YHIYQwZJXvEmOcpDsL05TqTeURMueQhuG80fbtVatsDTxSeL8gz6vlbaRxdJ4FsL0QGFP2sMo8x/B8/vucpK1Iw3puX3YHIYQwZJWvSlpie1LDTdkrgT3ykJxXSdrN9j2FVWo9Zl0vgn/YtqRKjxUblo6UciWG63KgXyWNGzofuLQvOwkhhKFGpLuSykx9YftpYCap8bhoAT1rayYAC+ts5rJ8V9LGkv4DuIk0/nMpvWYMtv/b9tP5zqTtgFfY/lTZHYQQwpDUwjYGSePzD3AkrU+6zfQPVatdAxyn5HXAM7YX1dnkeOBy4ApSrxWfJmUkpZQaqEfS64GJlfUlYfuCsjsJIYQhqXV3JW1JejxgBOkH+2W2r5N0IoDtacAM0q2qD5JuV31Pg+0dZPvjwI2VGZK+TmqQ7lWvGYOkC4EdgTmseZrOQGQMIYThrUUZg+15wJ415k8rvDbwn422I+l9wPuBHSTNKywaA9xaNp4yJYZJwC45qBBCCFmn9a4K/Ai4HvgicGph/jLbT5XdSJmM4R5gC6BeXVYIIQxPHZYx2H6GNF7OO/uznTIZwzjgPkl3kJ7OqwRweH92HEIIXc0d3VdSv5TJGM5odxAhhNCVOqzE0Cpl+kr69UAEEkII3aYD2xhaou5zDJJuyX+XSVpamJZJWlp2B/kx77skXVc1/2RJljSuTrqNJV0u6Q+S7pe0d9l9hhDCgCjfJUZXadTt9r75b+n+Neo4CbifNMAPAJK2AQ4CHm6Q7hvAz2wfKWldYnCgEEIn6dIv/TIalRg2bTSV2bikCaQRhM6tWnQWcAp1TqukscAbgO8D2P5Hfkw8hBA6gujooT37pVEbwyzSF7eAbYG/5dcbk37pl+lI72xSBrC61CHpcOBR23PTuBM17QA8AZwnafccy0m2n61eMfdSOAVgdBQqQggDqBu/9MuoW2Kwvb3tHYAbgH+2Pc72ZsBhwJW9bVjSYcBi27MK8zYATiP129HISOBVpLFK9yR1HXtqrRVtT7c9yfakUazXW1ghhNA6Q7SNoUzvqq+xPaPyxvb1wBtLpNsHOFzSfFJvrPsDF5JKGnPz/AnAbElbVKVdACwo9Ed+OSmjCCGEzjGMM4Ylkj4paaKk7SSdRhqToSHbU21PsD0ROBr4pe0jbL/U9sQ8fwHwKtuPVaV9DHhE0svzrAOA+/pwXCGE0F4t7F2105TJGN5J6sL1qjyNp5+PW9ciaStJMwqzPghcnDuC2gP4Qqv3Gcm72S4AABRlSURBVEII/TJESwwNH3DLXcBOtX1Sf3ZieyZp4Inq+RMLrxeSupStvJ9D6sAvhBA60rDsEsP2SkmvHqhgQgihm3RjNVEZZfpKukvSNcCPyQNLA9ju9c6kEEIYsrq0mqiMMhnDpqTG5v0L80yJW1ZDCGFIG64Zg+1Gw8eFEMKwVHnyeSjq9a4kSRMkXSVpsaTHJV2Ru7oIIYRhTatcaup1O9I2kn6VOwy9V9JaN/xI2k/SM5Lm5Km3B4WbVqYq6TzScHFvz++PyfMOaldQIYTQ8VrbxrAC+Kjt2ZLGALMk3Wi7+vmtm20f1rK91lHmOYbxts+zvSJP55OeZQghhGGtVQ+42V5ke3Z+vYzUI/XW7Y2+vrJPPh+Tx1UYIekYSjz5HEIIQ14bHnCTNBHYE7i9xuK9Jc2VdL2kXZsNuzdlMoYTgKOAx/J0ZJ4XQgjDWh9KDOMk3VmYptTcnrQRcAXwYdvVA6LNBrazvTvwLeDqdh1XmbuSHgYOb1cAIYTQtcqXBpbYbtiTg6RRpEzh4lrPiRUzCtszJP2PpHG2l/Qh4lLirqQQQmiGU5cYZabeKA1O833gfttn1llni7wekvYifX+3pVo/7koKIYQmtPg5hn2AY4G7Jc3J8z5BGiQN29NI1fjvk7QCeB442nZbnqQokzGMt31e4f35kj7cjmBCCKGrtOh72fYtpLym0TrnAOe0ZIe9iLuSQgihScN5PIbiXUmLiLuSQgih/K2qXZgxxF1JIYTQpKE6HkOZu5J+KGnjwvtNJP2gvWGFEELna9VdSZ2mTOPzK20/XXlj+2+S9mxjTCGE0PlMyxqfO02ZNoZ1JG1SeSNpU8plKCGEMKQN1cbnMl/wXwd+K+lyUh55FPD5tkYVQgjdoAu/9Mso0/h8gaQ7SSO4CfjXGl3BhhDCsDKUB+opVSWUM4LIDEIIocLlBuHpRtFWEEIIzRqa+UJkDCGE0KyhWpVU5jmGDxTvSgohhEAqLaxyuanLlLlddQvg95Iuk/SWSrevIYQw7A3RLjF6zRhsfxLYidRX+PHAnyR9QdKObY4thBA62lB9jqFMiYHc53dlaM8VwCbA5ZK+0sbYQgiho2mVS03dptfGZ0kfAt4NLAHOBT5m+0VJ6wB/Ak5pb4ghhNCBurSaqIwydyWNIz3U9tfiTNurJB3WnrBCCKGzpQfchmbOUKaN4dPVmUJh2f29pc+D+9wl6bqq+SdLsqRxfU0bQggdYVXJqcuUamPop5OAHhmIpG1IY0Y/3Ne0IYTQKWSXmrpNWzMGSROAQ0ltE0Vnkdom6p6xBmlDCGHwtXAEN0nbSPqVpPsl3SvppBrrSNI3JT0oaZ6kV7XuYHpq95PPZ5MygDGVGZIOBx61PbeXRyLWSluLpCnAFIDRbNDfeEMIoaSW3nG0Avio7dmSxgCzJN1Y1WHpIaRHB3YCXgt8J/9tubaVGHLD9GLbswrzNgBOAz7d17T12J5ue5LtSaNYr79hhxBCeXa5qdfNeJHt2fn1MlIV+tZVq70VuMDJbcDGkrZs9SFBe0sM+wCHS5oMjAbGAhcC2wOV0sIEYLakvWw/1iitpItsH9PGeEMIoTz3adjOcXn4gorptqfXWlHSRGBP4PaqRVsDjxTeL8jzFpWOoqS2ZQy2pwJTASTtB5xs+4jiOpLmA5NsLymRNjKFEEJnKd+wvMT2pN5WkrQRcAXwYdtLqxfXiqBsAH0xEHcllSJpK0kzBjuOEEIorYV9JUkaRcoULrZ9ZY1VFgDbFN5PABY2GXlDA9Lttu2ZwMwa8ycWXi8EJpdNG0IIg02rWvOQQu6c9PvA/bbPrLPaNcAHJF1KanR+xnbLq5EgxmMIIYTmmFY+vLYPcCxwt6Q5ed4ngG0BbE8DZpB+PD8IPAe8p2V7rxIZQwghNEG07uE127dQuw2huI6B/2zJDnsRGUMIITSrC59qLiMyhhBCaFZkDCGEEFZrbRtDR4mMIYQQmtSqu5I6TWQMIYTQlHLdXXSjyBhCCKEZJjKGEEIIVYZmTVJkDCGE0KxuHISnjMgYQgihWZExhBBCWM2GlUOzLikyhhBCaFaUGEIIIfQQGUMIIYTVDLRuzOeOEhlDCCE0xeBoYwghhFBhovE5hBBClWhjCCGE0ENkDCGEENYYup3orTPYAYQQQlcysGpVuakXkn4gabGke+os30/SM5Lm5OnTrT6coigxhBBCs1pXYjgfOAe4oME6N9s+rFU7bCQyhhBCaErrusSw/RtJE1uysRaIqqQQQmiGwV5VagLGSbqzME1pYo97S5or6XpJu7b4aHqIEkMIITSr/JPPS2xP6seeZgPb2V4uaTJwNbBTP7bXUJQYQgihWXa5qd+78VLby/PrGcAoSeP6veE6osQQQgjNsEvdcdQKkrYAHrdtSXuRftQ/2a79RcYQQgjNatFdSZIuAfYjtUUsAE4HRqVdeBpwJPA+SSuA54Gj7fY9RBEZQwghNMV45crWbMl+Zy/LzyHdzjogImMIIYRmRLfbIYQQ1jJEu91u+11JkkZIukvSdVXzT5bkWi3rkraR9CtJ90u6V9JJ7Y4zhBD6woBXudTUbQaixHAScD8wtjJD0jbAQcDDddKsAD5qe7akMcAsSTfavq/t0YYQQhkeugP1tLXEIGkCcChwbtWis4BTSJnuWmwvsj07v15Gyli2bmOoIYTQZ165stTUbdpdYjiblAGMqcyQdDjwqO25knrdQO4/ZE/g9jrLpwCVx8tfuMmX1+ydsEONA5YMdhB91G0xd1u8EDEPhJf3dwPL+NsNN/nysg+ZddO5aV/GIOkwYLHtWZL2y/M2AE4D3lxyGxsBVwAftr201jq2pwPT8/p39vOx8wHVbfFC98XcbfFCxDwQJN3Z323YfksrYulE7Swx7AMcnvv1GE1qY7gQ2B6olBYmALMl7WX7sWJiSaNImcLFtq9sY5whhBAK2pYx2J4KTIU0yARwsu0jiutImg9Msr2kar6A7wP32z6zXTGGEEJYW8d0oidpK0kz8tt9gGOB/QsjFk0usZnp7YuwLbotXui+mLstXoiYB0K3xTug1MbuNkIIIXShjikxhBBC6AyRMYQQQuihYzIGSZtKulHSn/LfTeqs9xZJD0h6UNKpZdJLmprXf0DSwYX575A0L3e78ZXC/PUk/W9Oc3utsVgHKd53Sro7x/yzSncikrbNXYjclZfVbI/ppJjzsqMk3ZfP/4+6Iea8/Eil7lzWuj2zk+KV9JF8fudJ+oWk7Tr9HKvEtTcYMUsaozXtnXMkLZF0dl5W6vrrKrY7YgK+ApyaX58KfLnGOiOAPwM7AOsCc4FdGqUHdsnrrUe6VfbPeTubkbrkGJ/X+yFwQH79fmBafn008L8dEO9IYDEwrpD+jPx6OvC+Qvr5HXKOG8W8E3AXsEl+/9JOjzm/HwP8BriNdEddx8YLvAnYIL9+HzU+xx0Yc6/X3mDEXGPbs4A39OX666Zp0AMonOgHgC3z6y2BB2qsszdwQ+H9VGBqo/TFdfL7G/J2XgPcVJh/LPA/xXXy65GkpxY1yPGOAp4AtgMETAOm5HW+C3y8sM/fdsg5bhTzV4B/78DPRd2Y83pnA4cBM6mdMXRUvIX19wRu7fRzTIlrbzBirtruTsAjlbgoef1109QxVUnA5rYXQeorCXhpjXW2Jv1DKhawpg+leunrpXkQeIWkiZJGAv8CbFOdxvYK4BlSCWPQ4rX9IulX393AQtIvk+/ndc4AjlEa+WkG8MEasXRazDsDO0u6VdJtkuo9RdoxMUvaE9jGdo+egjs13ir/BlzfBTGXufYGPOaq7b6TVJJxfn8G5a6/rjGgGYOkmyTdU2N6a9lN1JjnGvN6TWP7b+TiNXAzMJ/Uq+vqNJV4SU9o3zyY8So9Cf4+0i+/rYB55AcISR/U821PIGV4t3bCOe4l5pGkX177kc77tbk+vCNjlrQOqfPHj0q6iVTivLRT4+2RUDqGVCJ+Zxd8Llanyee5+toblJir3h8NXFJ4X7z+JgMX5s9L1xrQgXpsH1hvmaTHJW1pe5GkLUl1kNUWsOZXPaQPzcL8ul76umlsXwtcm/c/BVhZTGP7wFyaeIxUN7n6AzII8e6RY/5z3v9lpLpRSL8G35KXv0bSQ8D+tnvE1GExLwBuy78e95X0C1Kd7+87NOYxwG6kKiRI9dcbkMbeXd3vTgfFW4nnQFL/ZDtVfx46NOZKmgWkz/Ra194gxVzZ7+7ASNuzCusUr7/fSRpN6lSw5vnuBp2Uq10DvDu/fjfwkxrr/B7YSdL2ktYl5dzX9JL+GuBopbsdtif9Sr0DQNJL899NSI1e59bY1pHAL6s/mIMQ76PALpLG5/UOInVHDqkR/YB8LP9E6pvqiRrxdFLMV5MaR1G6I2Vn4KFOjdn2M7bH2Z5oeyKp8fnwYqbQSfHC6qqv7+Y4G31JdUzMlLv2BiPminfSs7QA5a+/7jHYjRyViVSP+AvgT/nvpnn+VsCMwnqTgT+S7hY4rbf0edlpef0HgEMK8y8B7svT0YX5o4Efk6pl7gB26JB4TyRdQPNIJZ3N8vxdgFtJd1PMAd7cQee4XswCzszn/u7i+e/UmKvimkntxueOiRe4CXg8fybmANd0+jmmxLU3WDHnZQ8Br6iaV+r666YpusQIIYTQQydVJYUQQugAkTGEEELoITKGEEIIPUTGEEIIoYfIGEII/SLpZKVOBcfVWPZy9ex8bqmkD+dlX5X0B6WO566StHEh3Ssl/U6pg8W787MBSFpX0nRJf8xpj6jeZ9X+X5G384Kkk1t97ENVZAxhwEiarzW9aP62H9s5XtJWLYppvFIvnndJ+r+t2GZh24er0KNnH9N+oup90+ernSRtQ3oO4eFay20/YHsP23sArwaeA67Ki28EdrP9StItpZWhgEcCFwEn2t6V9HT8iznNacBi2zuTbhP9dS8hPgV8CPhaUwc4TEXGENoiX9x12X59PzZ/POl+9VY4APiD7T1t39zXxI2O0/Y1tr/UZFw9MoZ+nq92Ogs4hd67moB0rv9s+68Atn/u1B8SpAcGJ+TXbwbm2Z6b13vSdqVXghOAL+b5q5zHi88Z/BWSfp+nffI6i52epq9kLKGEyBiGOEmvyUX10ZI2zEXz3Wqsd1xeb66kC/O87ZT68a/0579tL/PPl3SmpF8BX5a0maSf51/j36VnPzjL89/9JM2UdHmuGrhYUqWvqk/ni/yeXH0gSUcCk4CLc9XE+pJeLenXkmZJukGpi4Pq41srZkl7kHp5nVzZVlWa+ZK+LOmOPL2sznFuKunqvO3bJL0yr3e8pHPy65pfXJI2knSe1oxNcISkLwHr55gurjpfUqqCuSeneUdv57FdJB0OPFr5Ai+huo+hohNY08nfzqQ+lW6QNFvSKXl/laqm/87zfyxp8zzvG8BZtl8DHMGaXgxCMwb7CbuY2j8BnyMVpb9NoUvhwvJdSU95VvrHrzxFei3w7vz6BODqXuafD1xH7r8e+Cbw6fz6UNKvyso+lue/+5F60JxA+qHyO2DfYhz59YXAP+fXM8lPHZO6cP4ta8bVeAfwgxrHWC/m44Fz6py3+eSnZYHjgOvqHOe3gNPz6/2BOdXbBn5UOK5tSd1sAHwZOLuwz02K56cwv3K+jiBVwYwANidV4WzZ6Dz287NzE3BPjemtwO3ASwrnalyD7axL6kJ78xrLTiNVL1UeuD0Z+Aupv6EN8rEckN8bOCKv9xHgwvx6MWue8J5D6nZjTGEfZwAnD/a12C3TgHaiFwbNZ0n9xvydVN9abX/gcudiue2n8vy9gX/Nry8k/bpuNB/gx15T7H9DZT3bP5X0tzrx3WF7AYCkOcBE4BbgTfnX4gbApsC95E4PC15O6tzuxvwDeQSwqMY+GsXcyCWFv2cV5hePc1/SFza2f5lLSi+p2s6BpP6BKu/HShqT5x9dmenU628j+wKX5H0/LunXpJ5el1L/PDbNdTq+lPR/SAPZzM3HNAGYLWkv24/VSHIIMNv241XbeTdpfIsDnL/BSR3Z/dprqolmAK8CfknPNoofkzqwg5QZ7m37+aYONPQQGcPwsCmwEenX9Wjg2arlolwdcb11ivOrt11muy8UXq8ERirdhfI/pJLBI5LOIMVeTcC9tvcusZ++xlW9Xr3jLNNVc80vrlzd05d+aRpVD611Hvuw3T6xfTeFMRAkzSf9r5bUSbJW53NKY3B8HHij7ecKi24ATpG0AfAP4I2kaiJLupZUOvolqRRxX07zc+ADwFfztvewPac/xzicRRvD8DAd+BRwManqotovgKMkbQZpPNw8/7es+TX7Ltb8+qw3v9pv8nIkHQLUHJe3jkomsETSRqSeNiuWkbrBhlQFNl7S3nk/oyTtWmN7ZWOu9o7C39/VWad4nPsBS2wvrVqn8sVFXm+POvMr5+hFpXELau3rHZJGKPVO+gZ69v456CRtlX/lV95vQLpz6cqqVc8h/R9vzO0p02B1qelMUil3Dqmk8dOc5uPAGZLmkcaY+Gie/yFgUm6nuY/USR+StlAaQOcjwCclLZA0tvVHPbREiWGIk3QcsML2jySNAH4raX/bv6ysY/teSZ8Hfi1pJWks5uNJF9sPJH2M1I3we3KSevOrfQa4RNJs0m2FNW9prMX205K+R+p5dT7pS6LifGCapOdJVURHAt/M1TcjScNv3lu1ybIxV1tP0u2kH1HvrLPOGcB5+cvqOdZ05wxrSgMfAr6d1xlJ+oI/kdT+822lAaFWks7ZlaTMfJ6k2bbfVdjeVfmY5+Ztn2L7MUmvKHk8beHUFXnl9UJSr6aV989RYxQ22y9rsL2LSLesVs//KykzrJ6/hDWZeHH+Y6y52ymUFL2rhlBHieqR3tJ/FBhr+/SWBhZCm0WJIYQ2kHQiqdT1r72sGkLHiRJDCCGEHqLxOYQQQg+RMYQQQughMoYQQgg9RMYQQgihh8gYQggh9PD/AWmf9u+WKdUJAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "geo_grid_interp.test_attr.isel(test_time_attr=0).plot()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/_sources/examples/vectorize.ipynb.txt b/refs/tags/0.7.0/_sources/examples/vectorize.ipynb.txt new file mode 100644 index 0000000..331ba07 --- /dev/null +++ b/refs/tags/0.7.0/_sources/examples/vectorize.ipynb.txt @@ -0,0 +1,132 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Raster DataArray to GeoDataFrame (vectorize)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "from geocube.vector import vectorize\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Generate Raster DataArray" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAHFCAYAAAD7ZFORAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABtUklEQVR4nO3deViUVfsH8O+AMoAsIiiLIqJpLrgglqGVWAKSoVavS5q7ppELuebPUjQRdynNNXMptywtc6fMLbUU8X3d0swFQpBUBNxYZs7vD/NxBhiclZlhvp/req5mnuXM/QDJzTnnfo5MCCFAREREVAHZmTsAIiIiIlNhokNEREQVFhMdIiIiqrCY6BAREVGFxUSHiIiIKiwmOkRERFRhMdEhIiKiCouJDhEREVVYTHSIiIiowmKiQ2RlFi9ejNWrV5fYf/XqVchkslKPPY0h1xrq559/RqtWrVClShXIZDJ8//335fbZGzduRIsWLeDo6Ag/Pz/Exsbi7t275fb5RGR6lcwdABHpZvHixfDy8kL//v3V9vv6+uLo0aOoV6+eeQLTgxAC3bt3R4MGDbBt2zZUqVIFzz77bLl89rp16/DOO+9g8ODBWLBgAS5evIgJEybg3Llz2Lt3b7nEQESmx0SHqIKQy+V44YUXzBqDQqFAUVER5HK5Vudfv34dt2/fxhtvvIFXX33VxNE9oVAoMG7cOERERGDFihUAgPbt28PV1RW9e/fGrl27EBUVVW7xEJHpcOiKSE///PMP3n33Xfj7+0Mul6N69epo27YtfvrpJ+mcsLAwBAUF4dChQ3jhhRfg5OSEmjVr4uOPP4ZCoVBrb+rUqWjdujWqVasGNzc3tGzZEitXroTqurt16tTB2bNnceDAAchkMshkMtSpUwdA6cNPly5dwoABA1C/fn04OzujZs2aiI6OxunTpw2+/8efN3v2bEyfPh2BgYGQy+X45ZdfAAAnTpxA586dUa1aNTg6OiI4OBjffPONdH1cXBxq1aoFAJgwYYLavZjasWPHkJGRgQEDBqjt79atG1xcXLB169ZyiYOITI89OkR66tOnD06ePIn4+Hg0aNAAd+7cwcmTJ3Hr1i218zIzM9GzZ098+OGHmDZtGnbs2IHp06cjOzsbixYtks67evUqhg4ditq1awN49Mt4xIgRSE9Px+TJkwEAW7duxX/+8x+4u7tj8eLFAFBm78n169fh6emJmTNnonr16rh9+zbWrFmD1q1bIyUlxSjDRJ999hkaNGiAuXPnws3NDfXr18cvv/yCjh07onXr1li6dCnc3d2xceNG9OjRA/fv30f//v0xePBgNG/eHG+++SZGjBiBXr16PbUnqKioSKuY7O3tIZPJNB4/c+YMAKBZs2Zq+ytXroyGDRtKx4moAhBEpBcXFxcRGxtb5jnt2rUTAMQPP/ygtn/IkCHCzs5OXLt2rdTrFAqFKCwsFNOmTROenp5CqVRKx5o0aSLatWtX4porV64IAGLVqlUa4ykqKhIFBQWifv364oMPPtDpWk2fV69ePVFQUKB2rGHDhiI4OFgUFhaq7X/99deFr6+vUCgUam3MmTNHq88EoNX2tPuIj48XAERGRkaJYxEREaJBgwZaxUNElo9DV0R6ev7557F69WpMnz4dx44dQ2FhYannubq6onPnzmr7evXqBaVSiYMHD0r79u3bhw4dOsDd3R329vaoXLkyJk+ejFu3biErK0uvGIuKijBjxgw0btwYDg4OqFSpEhwcHPDnn3/i/PnzerVZXOfOnVG5cmXp/aVLl/DHH3+gd+/eUgyPt9deew0ZGRm4cOGCXp91/Phxrbbo6Git2tPU61NWbxCRqRw8eBDR0dHw8/PTuwLxm2++QYsWLeDs7IyAgADMmTPH+IFaGQ5dEelp06ZNmD59Or744gt8/PHHcHFxwRtvvIHZs2fDx8dHOs/b27vEtY+PPx7m+v333xEREYGwsDCsWLECtWrVgoODA77//nvEx8fjwYMHesU4evRofP7555gwYQLatWsHDw8P2NnZYfDgwXq3WZyvr6/a+xs3bgAAxo4di7Fjx5Z6zc2bN/X6rBYtWmh1nr29fZnHPT09ATz6+hf//ty+fRvVqlXTKz4iQ9y7dw/NmzfHgAED8NZbb+l8/a5du9C7d28sXLgQEREROH/+PAYPHgwnJycMHz7cBBFbByY6RHry8vJCYmIiEhMTkZqaim3btuHDDz9EVlYWdu/eLZ33+Be/qszMTABPfuFu3LgRlStXxvbt2+Ho6CidZ+gzZb7++mv07dsXM2bMUNt/8+ZNVK1a1aC2Hyve++Hl5QUAmDhxIt58881Sr9F3bpBqz1FZVq1aVaL8XlXTpk0BAKdPn0bjxo2l/UVFRfjjjz/w9ttv6xUfkSGioqLKrPYrKCjARx99hHXr1uHOnTsICgrCrFmzEBYWBgD46quv0LVrVwwbNgwAULduXUyYMAGzZs3C+++/b7M9lUx0iIygdu3aGD58OH7++Wf8+uuvasfy8vKwbds2teGr9evXw87ODi+//DKAR8lCpUqV1HoiHjx4gK+++qrEZ8nlcq17Y2QyWYkJvjt27EB6ejqeeeYZre9PF88++yzq16+P//73vyUSLEMdP35cq/MCAwPLPN66dWv4+vpi9erV6NGjh7T/22+/xd27dzUmaETmNGDAAFy9ehUbN26En58ftm7dio4dO+L06dOoX78+8vPz4ezsrHaNk5MT/v77b1y7dq3cqhotDRMdIj3k5OSgffv26NWrFxo2bAhXV1ccP34cu3fvLvFL0tPTE++99x5SU1PRoEED7Ny5EytWrMB7770nVVh16tQJ8+fPR69evfDuu+/i1q1bmDt3bqlVSE2bNsXGjRuxadMm1K1bF46OjlIPRXGvv/46Vq9ejYYNG6JZs2ZITk7GnDlzpLJuU1m2bBmioqIQGRmJ/v37o2bNmrh9+zbOnz+PkydPYvPmzXq126pVK6PEZ29vj9mzZ6NPnz4YOnQo3n77bfz5558YP348wsPD0bFjR6N8DpGx/PXXX9iwYQP+/vtv+Pn5AXg0PLx7926sWrUKM2bMQGRkJD744AP0798f7du3x6VLl5CYmAgAyMjIYKJDRNpzdHRE69at8dVXX+Hq1asoLCxE7dq1MWHCBIwfP17tXB8fH3z++ecYO3YsTp8+jWrVquH//u//MHXqVOmcV155BV9++SVmzZqF6Oho1KxZE0OGDEGNGjUwaNAgtfamTp2KjIwMDBkyBHl5eQgICMDVq1dLjfPTTz9F5cqVkZCQgLt376Jly5bYsmULPvroI6N/TVS1b98ev//+O+Lj4xEbG4vs7Gx4enqicePG6N69u0k/W1vvvPMO7O3tMXPmTKxevRrVqlVD3759ER8fb+7QiEo4efIkhBBo0KCB2v78/HxpCHzIkCH466+/8Prrr6OwsBBubm4YNWoU4uLinjpvrSKTCaHyNDIiMqqwsDDcvHmTz2UhIp3IZDJs3boVXbt2BfCo+KF37944e/ZsiaTFxcVFrQBCoVAgMzMT1atXx88//4zXXnsNN27cQI0aNcrzFiwGe3SIiIgsXHBwMBQKBbKysvDSSy+Vea69vT1q1qwJANiwYQNCQ0NtNskBmOgQUSme9gRiOzs72NnxMVxExnT37l1cunRJen/lyhWcOnUK1apVQ4MGDdC7d2/07dsX8+bNQ3BwMG7evIl9+/ahadOmeO2113Dz5k18++23CAsLw8OHD7Fq1Sps3rwZBw4cMONdmR+HrohIzdWrV59atTRlyhTExcWVT0BENmL//v1o3759if39+vXD6tWrUVhYiOnTp2Pt2rVIT0+Hp6cnQkNDMXXqVDRt2hQ3b96U1rITQiA0NBTx8fFo3bq1Ge7GcjDRISI1BQUF+N///lfmOX5+flLlBxGRJWOiQ0RERBUWB9mJiIiowuJk5GKUSiWuX78OV1dXm31cNhERaUcIgby8PPj5+Zlsgv7Dhw9RUFBglLYcHBzUlpmxBUx0irl+/Tr8/f3NHQYREVmRtLQ0kzxx/OHDhwgMcEFmlsIo7fn4+ODKlSs2leww0SnG1dUVwKMfWjc3NzNHQ6re8Hm33D5ra+Zyg67v4t7XSJHo5oectWb5XCJblZubC39/f+l3h7EVFBQgM0uBK8kBcHM1rMcoN0+JwJBrKCgoYKJjyx4PV7m5uTHRsTCVZA7l9lmGfu8rybRbZdvY+DNLZB6mnurg5mpncKJjq5joEBERWTiFUEJhYI20QiiNE4yVsZr0sKioCB999BECAwPh5OSEunXrYtq0aVAqn3zjhBCIi4uDn58fnJycEBYWhrNnz5oxaiIiIsMpIYyy2SKrSXRmzZqFpUuXYtGiRTh//jxmz56NOXPmYOHChdI5s2fPxvz587Fo0SIcP34cPj4+CA8PR15enhkjJyIiInOxmqGro0ePokuXLujUqRMAoE6dOtiwYQNOnDgB4FFvTmJiIiZNmoQ333wTALBmzRp4e3tj/fr1GDp0qNlip7JFVjHtxN09954+QTfcrluZ762FatxJys1mjOSRsr6OqvEVP88SYrcmUQ0mlLp/18VZ5RwJmYoSShg68GR4C9bJanp0XnzxRfz888+4ePEiAOC///0vDh8+jNdeew3Ao8XPMjMzERERIV0jl8vRrl07HDlyRGO7+fn5yM3NVduIiIgsiUIIo2y2yGp6dCZMmICcnBw0bNgQ9vb2UCgUiI+Px9tvvw0AyMzMBAB4e3urXeft7Y1r165pbDchIQFTp041XeBERERkNlbTo7Np0yZ8/fXXWL9+PU6ePIk1a9Zg7ty5WLNmjdp5xUv8hBBllv1NnDgROTk50paWlmaS+ImIiPTFycj6s5oenXHjxuHDDz9Ez549AQBNmzbFtWvXkJCQgH79+sHHxwfAo54dX19f6bqsrKwSvTyq5HI55HK5aYMnIiIygBICCgMTFVtNdKymR+f+/fsl1hGxt7eXyssDAwPh4+ODpKQk6XhBQQEOHDiANm3alGusREREZBmspkcnOjoa8fHxqF27Npo0aYKUlBTMnz8fAwcOBPBoyCo2NhYzZsxA/fr1Ub9+fcyYMQPOzs7o1auXmaMnIiLSnzGGnmy1R8dqEp2FCxfi448/RkxMDLKysuDn54ehQ4di8uTJ0jnjx4/HgwcPEBMTg+zsbLRu3Rp79+412RokFZGmUu+ySrRVrzHGeYbStm1rLSEvi6WVZWsbj6XFrS/VMu/yLO3W9rM0laHr2x6VH2NUTbHqysK5uroiMTERiYmJGs+RyWSIi4tDXFxcucVFRERkasp/N0PbsEVWM0eHiIiISFdW06NDRERkqxRGqLoy9HprxUSHiIjIwikEjLB6uXFisTYcuiIiIqIKiz06ZDDVKid9KrD0+Rx921ClT6VPRazUotLpU0FlaLWStlVRpqZNHMXv1dgVZ+aqYLNUnIysPyY6REREFk4JGRTQvJyRtm3YIg5dERERUYXFHh0iIiILpxSPNkPbsEVMdIiIiCycwghDV4Zeb604dEVEREQVlkwIG138QoPc3Fy4u7sjJycHbm5uRmnz5S5zdL7m4A/jjPLZpmKMqilNbWmq4jI2Y6y3ZY4qrIqyLlRZNH1dLf3ey6pWUq0cspTqKlthyqotU/zOKK39I2d94eJqWN/E3Twl2jTJMFmslopDV0RERBZOKWRQCgOrrgy83lox0SEiIrJwnKOjP87RISIiogqLPTpEREQWTgE7KAzsm1AYKRZrw0SHiIjIwgkjzNERNjpHh0NXREREVGGxR0eDt4Ino5K9XK+yRH3KyfVtw+mn0wZ/VnnRtlTc0NJ1bcvVy/ocY5SeG8rSS6n1EW7fQ7sTZaX/DaZPWXZZ/w+zzNs2mPL7XKTIN1nbqjgZWX9MdIiIiCycQthBIQyco2OjT83j0BURERFVWOzRISIisnBKyKA0sG9CCdvs0mGiQ0REZOE4R0d/HLoiIiKiCouLehZjKYt6asuaqq5MydCFQMtzgU9TVlOVFYM5qrhKxKOhmipJsUn9Og3VWZXq1TFGWEQGUa3kK69FPbf+tz6quNob1Na9PAXeaP4nF/UkIiIiy/Jojo6Bi3ra6NAVEx0iIiILpzTCEhC2OhmZc3SIiIiowmKPDhERkYUzzgMDbbNHh4kOERGRhVPCjs/R0ROHroiIiKjCYo+OCZiynNwWmHJBTVO2rVq+rW2puSljKE8a71dDOTmgXlKu9WKfRFpSLQEvvqhnWce0ac8cFEIGhTDwgYEGXm+tmOgQERFZOIURqq4UHLqyfOnp6XjnnXfg6ekJZ2dntGjRAsnJydJxIQTi4uLg5+cHJycnhIWF4ezZs2aMmIiIiMzJahKd7OxstG3bFpUrV8auXbtw7tw5zJs3D1WrVpXOmT17NubPn49Fixbh+PHj8PHxQXh4OPLy8swXOBERkYGUws4omy4OHjyI6Oho+Pn5QSaT4fvvvy/z/C1btiA8PBzVq1eHm5sbQkNDsWfPHgPu2jisJtGZNWsW/P39sWrVKjz//POoU6cOXn31VdSrVw/Ao96cxMRETJo0CW+++SaCgoKwZs0a3L9/H+vXrzdz9ERERPp7PHRl6KaLe/fuoXnz5li0aJFW5x88eBDh4eHYuXMnkpOT0b59e0RHRyMlJUWfWzYaq5mjs23bNkRGRqJbt244cOAAatasiZiYGAwZMgQAcOXKFWRmZiIiIkK6Ri6Xo127djhy5AiGDh1aarv5+fnIz8+X3ufm5pr2RoiIiKxAVFQUoqKitD4/MTFR7f2MGTPwww8/4Mcff0RwcLCRo9Oe1SQ6ly9fxpIlSzB69Gj83//9H37//XeMHDkScrkcffv2RWZmJgDA29tb7Tpvb29cu3ZNY7sJCQmYOnWqUWM9+MM4rc4rXp2l7XXatMfFPkunuuBnWQuBGlqdZa7qJ2Po6PWu9Hr3zeU6X69WfaZlNVWJRT1VqrgqPVNX5xjI+pVXlZO5q6m0pYThVVPKf/9b/A96uVwOuVxuUNulfp5Siby8PFSrVs3obevCaoaulEolWrZsiRkzZiA4OBhDhw7FkCFDsGTJErXzZDL1HwQhRIl9qiZOnIicnBxpS0tLM0n8RERE+nr8wEBDNwDw9/eHu7u7tCUkJJgk5nnz5uHevXvo3r27SdrXltX06Pj6+qJx48Zq+xo1aoTvvvsOAODj4wMAyMzMhK+vr3ROVlZWiV4eVabKZImIiIzFOEtAPLo+LS0Nbm5u0n5T/A7csGED4uLi8MMPP6BGjRpGb18XVtOj07ZtW1y4cEFt38WLFxEQEAAACAwMhI+PD5KSkqTjBQUFOHDgANq0aVOusRIREVkqNzc3tc3Yic6mTZswaNAgfPPNN+jQoYNR29aH1fTofPDBB2jTpg1mzJiB7t274/fff8fy5cuxfPmjOQQymQyxsbGYMWMG6tevj/r162PGjBlwdnZGr169zBw9ERGR/pSQQQlD5+iY/snIGzZswMCBA7FhwwZ06tTJ5J+nDatJdJ577jls3boVEydOxLRp0xAYGIjExET07t1bOmf8+PF48OABYmJikJ2djdatW2Pv3r1wdXU1Y+RERESGMebQlbbu3r2LS5cuSe+vXLmCU6dOoVq1aqhduzYmTpyI9PR0rF37qHhjw4YN6Nu3Lz799FO88MILUpGQk5MT3N3dDYrdEDIhbHTddg1yc3Ph7u6OnJwctTFMa1cRKrK0rYQqXkFVXp9bURhadaWqeNVV8eoq6byy1gZTWS+rUr06BsVDlsWUFU9lrWFlzM819e+Mx+0vONEGTi6G9U08uFuED1od0TrW/fv3o3379iX29+vXD6tXr0b//v1x9epV7N+/HwAQFhaGAwcOaDzfXKymR4eIiMhWGWetK92uDwsLQ1l9IcWTl8cJj6VhokNERGThlEIGpaHP0bHR1cutpuqKiIiISFfs0SEiIrJwSiMMXSlttG+DiQ4REZGF02f18dLasEW2eddERERkE9ijYyNUFww1dvl1eSkrblOWgGtaCLSiKF7arboop2qpeXHK3LvSa/tqVUs9p1J1T7X3mr6Hdk5O6m0/zC/1vKK/rqq3b4Zyc8VV466HZ1/H36jtlZcdB7dqPNbp5Te0aqOsEnBVhpaDW8vCnWVRQAaFgQ/8M/R6a8VEh4iIyMJx6Ep/THSIiIgsnAKG98gojBOK1bHN9I6IiIhsAnt0iIiILByHrvTHRIeIiMjCmWNRz4qCiY4NKqtyqCJWZGmjIlZTaUu1ykoXdm4uTz2n6J9bmq93lGs8Zl/FWasYRGZWqftlPjW0ut7YFVT60DYG1eqsokuXjRpDpWfqajym+ll7rv9Xq/ZUK7K0rcAytopQaUXGwUSHiIjIwgnIoDRwMrJgeTkRERFZIg5d6c8275qIiIhsAnt0iIiILJxSyKAUhg09GXq9tWKiQ0REZOEURli93NDrrRUTHVLzoENTc4egNaefTps7BPqXanWVvbtbqa8BQHHnjvRadT0rmb292nmisOjJ66JC6XXxCrGObgOk17tzV0mvtV1DSdXegvVq7yMceunchrHtTj2h8u7J60i/5kb9HGNXcanSdk2s4lVS+nwPiUrDRIeIiMjCcehKf0x0iIiILJwSdlAaOPRk6PXWiokOERGRhVMIGRQG9sgYer21ss30joiIiGwCe3SIiIgsHOfo6I+JDhERkYUTRli9XNjok5GZ6JDVUi2FVy0117ZE/uAP44wekzVSLdEG1Mu0tZWk2PSkvWpDdL5eKBSa2y5j0VF9YlWlWlJeVjm5rLJ2/1SqlsXrQ72cXLOyFtc0Rum5tot36qOsknI1RZp/Joh0wUSHiIjIwikgg8LARTkNvd5aMdEhIiKycEph+BwbpTBSMFbGNgfsiIiIyCawR4eIiMjCKY0wGdnQ660VEx0iIiILp4QMSgPn2Bh6vbWy2kQnISEB//d//4dRo0YhMTERACCEwNSpU7F8+XJkZ2ejdevW+Pzzz9GkSRPzBksmV1alFauryqa4d1/tffEqrMe0rXDafXuFxmOqFVmqC3xCpv6XpmoVl6oonxitYiiL6gKk4fY9NH6m6rGyqsLsHOXS67Kqs1QXMVW1Jz1Fc7B6MGXFlCo7n4tq75WZDaTXUXWeexLPw3Vq5+1Sv0yjXZfn6h9cBcQnI+vPKvuxjh8/juXLl6NZs2Zq+2fPno358+dj0aJFOH78OHx8fBAeHo68vDwzRUpERETmZHWJzt27d9G7d2+sWLECHh4e0n4hBBITEzFp0iS8+eabCAoKwpo1a3D//n2sX7++jBaJiIgs2+M5OoZutsjq7vr9999Hp06d0KFDB7X9V65cQWZmJiIiIqR9crkc7dq1w5EjRzS2l5+fj9zcXLWNiIjIkighk5aB0HvjHB3Lt3HjRpw8eRLHjx8vcSwzMxMA4O3trbbf29sb165d09hmQkICpk6datxAiYiIyCJYTY9OWloaRo0aha+//hqOjo4az5PJ1DNWIUSJfaomTpyInJwcaUtLSzNazERERMYg/q26MmQT7NGxbMnJycjKykJISIi0T6FQ4ODBg1i0aBEuXLgA4FHPjq+vr3ROVlZWiV4eVXK5HHK5XONxIiIic+Pq5fqzmkTn1VdfxenTp9X2DRgwAA0bNsSECRNQt25d+Pj4ICkpCcHBwQCAgoICHDhwALNmlbFwHBGZTPEFPjWVnquWchdnjJJyVZWqexp0nmp5OqBeNq5aal4WY5eUm4NqOTmgXm4ukw/Uub2oumPV3rO8nIzFahIdV1dXBAUFqe2rUqUKPD09pf2xsbGYMWMG6tevj/r162PGjBlwdnZGr16aVyUmIiKydHwysv6sJtHRxvjx4/HgwQPExMRIDwzcu3cvXF1dzR0aERGR3jh0pT+rTnT279+v9l4mkyEuLg5xcXFmiYeIiIgsi1UnOkRERLaAa13pzzYH7IiIiKyIwQ8L1GPo6+DBg4iOjoafnx9kMhm+//77p15z4MABhISEwNHREXXr1sXSpUv1vGPjYY8OqVFdAPPlLnPMGIn+uIinboovZhlZpe+TNyrPoIp06adVe3vurpFel7XAZ1kxqNqVuVirNiIcSi86kDlUVntv51Kl1PO0re7StrKqRBwhTxYXvqs8Kr12sdP8XDBLVnxRT1W7c77UeKx4ddVjrLIqmznm6Ny7dw/NmzfHgAED8NZbbz31/CtXruC1117DkCFD8PXXX+PXX39FTEwMqlevrtX1pqJVotOyZUudGpXJZNi2bRtq1qypV1BERERkXlFRUYiKitL6/KVLl6J27dpITEwEADRq1AgnTpzA3LlzLT/ROXXqFMaMGQMXF5enniuEwMyZM5Gfn//Uc4mIiOjpjNmjU3xNR2M9OPfo0aNq600CQGRkJFauXInCwkJUrlxZw5WmpfXQ1bhx41CjRg2tzp03b57eAREREZE6YyY6/v7+avunTJlilGrlzMzMUtebLCoqws2bN9VWLShPWiU6V65cQfXq1bVu9Ny5c/Dz89M7KCIiIjKNtLQ0uLm5Se+NuQxSaetNlra/PGmV6AQEBOjUaPFskYiIiPQnYHh5uPj3v25ubmqJjrH4+PggMzNTbV9WVhYqVaoET0/tll4xBb2qru7cuYPff/8dWVlZUCqVasf69u2r4SqyNqrVS5oqJQDgXtMnXZVVTt8odb+psdJKf2pVVkZQ1rpVmqqril9TyffJz86uvz/T6nNllbX750x59570WlMFljGIJs+YrG1LUNZaV6q4hpVxWMOTkUNDQ/Hjjz+q7du7dy9atWpltvk5gB6Jzo8//ojevXvj3r17cHV1VeuOkslkTHSIiIgqgLt37+LSpUvS+ytXruDUqVOoVq0aateujYkTJyI9PR1r164FAAwbNgyLFi3C6NGjMWTIEBw9ehQrV67Ehg0bzHULAPR4YOCYMWMwcOBA5OXl4c6dO8jOzpa227dvmyJGIiIim2aOBwaeOHECwcHBCA4OBgCMHj0awcHBmDx5MgAgIyMDqamp0vmBgYHYuXMn9u/fjxYtWuCTTz7BZ599ZtbSckCPHp309HSMHDkSzs7OpoiHiIiIijHH0FVYWJg0mbg0q1evLrGvXbt2OHnypK6hmZTOPTqRkZE4ceKEKWIhIiIiMiqtenS2bdsmve7UqRPGjRuHc+fOoWnTpiUmGHXu3Nm4ERIREdk4a5iMbKm0SnS6du1aYt+0adNK7JPJZFAoFAYHRURERE8IIYMwMFEx9HprpVWiU7yEnGxPWSWhmkrPVUvNi1MtPde3NNxaFx21BJoW7jS1skrPNYmqNVLjMa1Kz8uYY6C6YKjWi3q6qi+Fo6jto9V1337/Ran77yofSq+71WunHt+V37RqW7UNS1sklOXkxqGEzODn6Bh6vbXSeY7O2rVrS13HqqCgQCoxIyIiIrIEOic6AwYMQE5OTon9eXl5GDBggFGCIiIioifMUV5eUehcXi6EKHXNir///hvu7u5GCYqIiIie4Bwd/Wmd6AQHB0Mmk0Emk+HVV19FpUpPLlUoFLhy5Qo6duxokiCJiIiI9KF1ovO48urUqVOIjIyEi8uTCXkODg6oU6eO2Z9+SEREVBGxvFx/Wic6U6ZMgUKhQEBAACIjI+Hr62vKuMiKqFZVlLX4p6qyKrK0xYU8daNaaaV88EDjeXZW9NTzsiqytKH6NdlzT7tiCm2rs/Sx+a8Dau/v6lHw+tqzL0qvd144bGhIGmlaxJNMg0NX+tNpMrK9vT2GDRuGhw8fPv1kIiIiIjPTueqqadOmuHz5siliISIiolIII1RcsUdHS/Hx8Rg7diy2b9+OjIwM5Obmqm1ERERkXAKPnn1p0GbumzATncvLH1dWde7cWa3M/HHZOZeAICIiIkuhc6Lzyy+/mCIOIiIi0kAJGWRcAkIvOic67dq1e/pJZLO0rcAy9vo3EZV7Sq/3Fm40atsVRVmVVqpEQWGp+2UOlbW63q6y5n9WhEqPr1AatyNdtWpKbS0vLRW/RtPXK0m5Wav2cq/X1jkGbbn5paq97+g+UKvrOoVElrp/R/IejdewusoysOpKfzonOgBw584drFy5EufPn4dMJkPjxo0xcOBAPhmZiIjIBJRCBhmfo6MXnScjnzhxAvXq1cOCBQtw+/Zt3Lx5E/Pnz0e9evVw8uRJU8RIREREpBede3Q++OADdO7cGStWrJCWgSgqKsLgwYMRGxuLgwcPGj1IIiIiW/a4csrQNmyRzonOiRMn1JIcAKhUqRLGjx+PVq1aGTU4IiIi4hwdQ+g8dOXm5obU1NQS+9PS0uDq6mqUoEqTkJCA5557Dq6urqhRowa6du2KCxcuqJ0jhEBcXBz8/Pzg5OSEsLAwnD171mQxERERkWXTOdHp0aMHBg0ahE2bNiEtLQ1///03Nm7ciMGDB+Ptt982RYwAgAMHDuD999/HsWPHkJSUhKKiIkRERODevXvSObNnz8b8+fOxaNEiHD9+HD4+PggPD0deXp7J4iIiIjK1xz06hm62SOehq7lz50Imk6Fv374oKioCAFSuXBnvvfceZs6cafQAH9u9e7fa+1WrVqFGjRpITk7Gyy+/DCEEEhMTMWnSJLz55psAgDVr1sDb2xvr16/H0KFDTRYb6U619LysUnNtz9O2pDzcvof0OkmxSatr6JHiZedq5eb//lugC5md5n90lXdydG5PlaGl5sVpW1KuqngJuD7l5sXb0NVrQWFq7xXZWdJr1Z9/ZWYDtfNYUm55WHWlP517dBwcHPDpp58iOzsbp06dQkpKCm7fvo0FCxZALpebIsZS5eQ8+oewWrVqAIArV64gMzMTERER0jlyuRzt2rXDkSNHNLaTn5/PZSyIiIgqKL2eowMAzs7OaNq0qTFj0ZoQAqNHj8aLL76IoKAgAEBmZiYAwNvbW+1cb29vXLt2TWNbCQkJmDp1qumCJSIiMhCrrvSnc6Jz7949zJw5Ez///DOysrKgVCrVjpfHyubDhw/H//73Pxw+fLjEMdX1t4Ana3BpMnHiRIwePVp6n5ubC39/f+MFS0REZKBHiY6hVVdGCsbK6JzoDB48GAcOHECfPn3g6+tbZhJhCiNGjMC2bdtw8OBB1KpVS9rv4+MD4FHPjq+vr7Q/KyurRC+PKrlcXq5DbkRERFR+dE50du3ahR07dqBt27amiEcjIQRGjBiBrVu3Yv/+/QgMDFQ7HhgYCB8fHyQlJSE4OBgAUFBQgAMHDmDWrFnlGisREZEx8Tk6+tM50fHw8JAmAJen999/H+vXr8cPP/wAV1dXaU6Ou7s7nJycIJPJEBsbixkzZqB+/fqoX78+ZsyYAWdnZ/Tq1avc4yXtq6nKWvyz6Krm+VX6sKVKq3C7bqb9AD0qrUxJY0WdnouH6lNpZShDq6yext7jyXqE6l8v3ausovxHqb3flfap/oHRU4l/N0PbsEU6JzqffPIJJk+ejDVr1sDZ2dkUMZVqyZIlAICwsDC1/atWrUL//v0BAOPHj8eDBw8QExOD7OxstG7dGnv37jXpgwyJiIhMjT06+tM50Zk3bx7++usveHt7o06dOqhcubLacVMt7Cm0mEUlk8kQFxeHuLg4k8RARERE1kXnRKdr164mCIOIiIg04tiV3nROdKZMmaLVeRs2bEDnzp1RpUoVnYMiIiIiFcZYwsFGh650fjKytoYOHYobN26YqnkiIiKip9L7ychPo82cGiIiIno6PhlZfyZLdIjKUlbpuSrVEljV14BtlYobg8zeXuWN7p25JRbhbPLMk9dnL+kZ1b9tG+GhnZVqPnlQaFTtWK2u2fPgK4M/V1uqpeP6LPBZlt05X5a6v6PXu2rvlbl3pddqPw96YDl5+WLVlf5MNnRFREREZG7s0SEiIrJ0Qmb4ZGIb7dFhokNERGThOEdHfyYbugoICCjxMEEiIiKi8qRzj05aWhpkMpm0cvjvv/+O9evXo3Hjxnj33ScT386cOWO8KImIiGwZHxioN50TnV69euHdd99Fnz59kJmZifDwcDRp0gRff/01MjMzMXnyZFPESTZKtbJK30UqO7oPlF6LgsJSzylefaP6WeZY3NEYiscdUbnnkzdC+eR1GRVYqpU5okj9a6c22q9agaVKy2os5f37au/ttFxHz66ax9Pbzn+o8ZjGhUAriN03l2s8FlVzRDlGQoZi1ZX+dB66OnPmDJ5//nkAwDfffIOgoCAcOXIE69evx+rVq40dHxEREQFPenX03fSwePFiBAYGwtHRESEhITh06FCZ569btw7NmzeHs7MzfH19MWDAANy6dUu/DzcSnROdwsJCyP995sVPP/2Ezp07AwAaNmyIjIwM40ZHREREZrFp0ybExsZi0qRJSElJwUsvvYSoqCikpqaWev7hw4fRt29fDBo0CGfPnsXmzZtx/PhxDB48uJwjV6dzotOkSRMsXboUhw4dQlJSEjp27AgAuH79Ojw9PY0eIBERka17PHRl6KaL+fPnY9CgQRg8eDAaNWqExMRE+Pv7Y8mSJaWef+zYMdSpUwcjR45EYGAgXnzxRQwdOhQnTpwwxpdAbzonOrNmzcKyZcsQFhaGt99+G82bNwcAbNu2TRrSIiIiIiMydNhKZfgqNzdXbcvPzy/xcQUFBUhOTkZERITa/oiICBw5cqTUENu0aYO///4bO3fuhBACN27cwLfffotOnToZevcG0XkyclhYGG7evInc3Fx4eDyZCPjuu+/CWcsJhERERGQe/v7+au+nTJmCuLg4tX03b96EQqGAt7e32n5vb29kZmaW2m6bNm2wbt069OjRAw8fPkRRURE6d+6MhQsXGjV+Xen1wEAhBJKTk/HXX3+hV69ecHV1hYODAxMdMiltq59Uq6y0FenUR+29ndxR5zYs3d7CjdJr1aoyOwft1jwSSvXZjPrUbwiFQrvzSvkLU1+VatXUeKwo3TzzClXXvTKXXenG/eUT5T/qSdtcB8sEZNDv/7ribTx6TIybm5u0V17GWnMymfpnCiFK7Hvs3LlzGDlyJCZPnozIyEhkZGRg3LhxGDZsGFauXGlg7PrTOdG5du0aOnbsiNTUVOTn5yM8PByurq6YPXs2Hj58iKVLl5oiTiIiIttlxOfouLm5qSU6pfHy8oK9vX2J3pusrKwSvTyPJSQkoG3bthg3bhwAoFmzZqhSpQpeeuklTJ8+Hb6+vqVeZ2o6z9EZNWoUWrVqhezsbDg5OUn733jjDfz8889GDY6IiIjKn4ODA0JCQpCUlKS2PykpCW3atCn1mvv378POTj2tsP/3WVxCh/Un7O3tkZWVVWL/rVu3pPZ0oXOPzuHDh/Hrr7/CwcFBbX9AQADS09N1DoCIiIiewgxPRh49ejT69OmDVq1aITQ0FMuXL0dqaiqGDRsGAJg4cSLS09Oxdu1aAEB0dDSGDBmCJUuWSENXsbGxeP755+Hn56d9mBqSovz8/BK5hzZ0TnSUSiUUpYyz//3333B1ddU5ACIiInoKM6xe3qNHD9y6dQvTpk1DRkYGgoKCsHPnTgQEBAAAMjIy1J6p079/f+Tl5WHRokUYM2YMqlatildeeQWzZs3S6vM+++wzAI/mBX3xxRdwcXGRjikUChw8eBANGzbU6R4APRKd8PBwJCYmYvny5VJAd+/exZQpU/Daa6/pHAARERFZppiYGMTExJR6rLTVEEaMGIERI/RbXmTBggUAHvXoLF26VG2YysHBAXXq1NFrHrDOic6CBQvQvn17NG7cGA8fPkSvXr3w559/wsvLCxs2bNA5ACIiIiqbEI82Q9uwZFeuXAEAtG/fHlu2bFF7hI0hdE50/Pz8cOrUKWzYsAEnT56EUqnEoEGD0Lt3b7XJyUSWSOZQWXqtaYHP4spaTNReZVHJshZQtDSqpfqRjr3Vju15uE7n9iJDpjx5o+VCnpVqVJdeF2X9o3bM3rOa9Fpx67bGNkROrvRa5l56FUlZJeQVcSHPV19JkF7/vG+iwe0Vf/TCY8UXwmVJuYnZ0Orlv/zyi9p7hUKB06dPIyAgQK/kR6/n6Dg5OWHgwIEYOFD355UQERGRjswwR8dcYmNj0bRpUwwaNAgKhQIvv/wyjh49CmdnZ2zfvh1hYWE6tadzeTkAfPXVV3jxxRfh5+eHa9euAXg0pPXDDz/o0xwRERERAGDz5s3S8lI//vgjrl69ij/++ENaYFRXOic6S5YswejRoxEVFYXs7GypAsvDwwOJiYk6B0BERERlkwnjbNbg1q1b8PHxAQDs3LkT3bp1Q4MGDTBo0CCcPn1a5/Z0TnQWLlyIFStWYNKkSahU6cnIV6tWrfQKgIiIiJ7CiIt6Wjpvb2+cO3cOCoUCu3fvRocOHQA8eiBhuTww8MqVKwgODi6xXy6X4969ezoHQERERPTYgAED0L17d/j6+kImkyE8PBwA8Ntvv5XPc3QCAwNx6tQp6YFBj+3atQuNGzfWOQAiswl65snrM5c0H0s+I720CwlSO81K/kAqkz5VViXaSJ4qvS6rSk0T1Qqs4lQrsMT9B+oHVeplVSuwylIRK61UqVZaqVZgAUClo+ek16pVU2WdVxT65N91Y1RxkZ5saDJyXFwcgoKCkJaWhm7dukmLjtrb2+PDDz/UuT2dE51x48bh/fffx8OHDyGEwO+//44NGzYgISEBX3zxhc4BEBER0VPYUHk5APznP/8BADx8+FDa169fP73a0nmOzoABAzBlyhSMHz8e9+/fR69evbB06VJ8+umn6Nmzp15BGNvixYsRGBgIR0dHhISE4NChQ+YOiYiIiLSgUCjwySefoGbNmnBxccHly5cBAB9//DFWrlypc3s6JTpFRUVYs2YNoqOjce3aNWRlZSEzMxNpaWkYNGiQzh9uCps2bZJK0FJSUvDSSy8hKipKbT0OIiIiq2JDk5Hj4+OxevVqzJ49W20Rz6ZNm+o1cqRTolOpUiW89957yM/PBwB4eXmhRo0aOn+oKc2fPx+DBg3C4MGD0ahRIyQmJsLf3x9Lliwxd2hERET6saFEZ+3atVi+fDl69+6tVmXVrFkz/PHHHzq3p/PQVevWrZGSkqLzB5WHgoICJCcnIyIiQm1/REQEjhw5Uuo1+fn5yM3NVduIiIjIPNLT0/HMM8+U2K9UKlFYqN3SPap0nowcExODMWPG4O+//0ZISAiqVKmidrxZs2Y6B2EsN2/ehEKhgLe3t9p+b29vZGZmlnpNQkICpk6dWuoxsh4RDr00HrNzcnx6A0El/6eSri9WaaVJ5HOaf472HJ+i8RjpoKxnaCiVpe6u6FVWZSleJVW8ukrX88o6R9uKLGOvxWUzbKjqqkmTJjh06FCJ6u7NmzeX+nibp9E50enRowcAYOTIkdI+mUwGIQRkMpn0pGRzksnUv5mPYyvNxIkTMXr0aOl9bm4u/P39TRofERGRLozxZGNreTLylClT0KdPH6Snp0OpVGLLli24cOEC1q5di+3bt+vcnl4PDLRUXl5esLe3L9F7k5WVVaKX5zG5XC7V6BMREVkkGyovj46OxqZNmzBjxgzIZDJMnjwZLVu2xI8//ig9PFAXOic6xbuSLImDgwNCQkKQlJSEN954Q9qflJSELl26mDEyIiIi0lZkZCQiIyPLPGfDhg3o3LlziSk0xemc6Gzbtq3U/TKZDI6OjnjmmWcQGBioa7NGM3r0aPTp0wetWrVCaGgoli9fjtTUVAwbNsxsMREREZFxDR06FK1bt0bdunXLPE/nRKdr167SnBxVqvN0XnzxRXz//ffw8PDQtXmD9ejRA7du3cK0adOQkZGBoKAg7Ny506J7ooiIiMoigxHm6BglEstRPA/RROfy8qSkJDz33HNISkpCTk4OcnJykJSUhOeffx7bt2/HwYMHcevWLYwdO1bnoI0lJiYGV69eRX5+PpKTk/Hyyy+bLRYiIiIyH517dEaNGoXly5ejTZs20r5XX30Vjo6OePfdd3H27FkkJiZi4MCBRg2USFuyYiXIokDluQtllJGbkqbS84pYdp6k3Cy9Lr7AZ1mLdxrM7snfbbuzue6eIbQp+9a3NLysRUdV2R04Jb225UcESGyovNzYdE50/vrrL7i5uZXY7+bmJq1HUb9+fdy8edPw6IiIiMimqq6MTeehq5CQEIwbNw7//POPtO+ff/7B+PHj8dxzzwEA/vzzT9SqVct4URIRERHpQecenZUrV6JLly6oVasW/P39IZPJkJqairp16+KHH34AANy9excff/yx0YMlIiKySezRKSEgIACVK1d+6nk6JzrPPvsszp8/jz179uDixYsQQqBhw4YIDw+H3b9j5F27dtU5YCIiIiqdLT0Z+bETJ07g/PnzkMlkaNiwIVq1aqV2/MyZM1q1o3OiAzwqJe/YsSPCwsIgl8s1Lq9AREREpIu///4bb7/9Nn799VdUrVoVAHDnzh20adMGGzZs0HmZJp0THaVSifj4eCxduhQ3btzAxYsXUbduXXz88ceoU6cOBg0apGuTRAYrXmmlxkyVVtooXo1V0aqw7OTqC6oqc/JKP8/dtTzCsXmaKqXKqn4y5cKb2lZghdv3kF7bbAWWDQ1dDRw4EIWFhTh//jyeffZZAMCFCxcwcOBADBo0CHv37tWpPZ0nI0+fPh2rV6/G7Nmz4eDgIO1v2rQpvviCJZ1ERERGJ4y0WYFDhw5hyZIlUpIDPJo2s3DhQhw6dEjn9nROdNauXYvly5ejd+/esFf5K7pZs2b4448/dA6AiIiIyvZ4jo6hmzWoXbs2CgsLS+wvKipCzZo1dW5P50QnPT0dzzxTcihAqVSWGhgRERGRtmbPno0RI0bgxIkT0jIPJ06cwKhRozB37lyd29N5jk6TJk1w6NChEmtHbd68GcHBwToHQERERE9hQ09G7t+/P+7fv4/WrVujUqVHaUpRUREqVaqEgQMHqq28cPv27ae2p3OiM2XKFPTp0wfp6elQKpXYsmULLly4gLVr12L79u26NkdERERPY0OTkRMTE43ans6JTnR0NDZt2oQZM2ZAJpNh8uTJaNmyJX788UeEh4cbNTgiIiKyLf369TNqe3o9RycyMhKRkZFGDYTIEHsefCW9jnTqo37wzKUnr1VKzcWp89JrWYtGJouNjEd5777ae7sqzmaKpGIxZQm5NcVgyWztgYEKhQLff/+99MDAxo0bo3PnzmpFUNrSK9EhIiKicmRDQ1eXLl3Ca6+9hvT0dDz77LMQQuDixYvw9/fHjh07UK9ePZ3a0yrR8fDw0Prpx9pMDCIiIiIqzciRI1GvXj0cO3YM1apVAwDcunUL77zzDkaOHIkdO3bo1J5WiY7qxKBbt25h+vTpiIyMRGhoKADg6NGj2LNnDxfyJCIiMgVjPAfHSnp0Dhw4oJbkAICnpydmzpyJtm3b6tyeVomO6sSgt956C9OmTcPw4cOlfSNHjsSiRYvw008/4YMPPtA5CCIiIiqDDQ1dyeVy5OWVXC7m7t27aisyaEvnBwbu2bMHHTt2LLE/MjISP/30k84BEBERET32+uuv491338Vvv/0GIQSEEDh27BiGDRuGzp0769yezpORPT09sXXrVowbN05t//fffw9PT0+dAyAyNtUKLKBYFZZqBZYK1Qqs4kxZkVXRFvHUl+L2Hb2uU63CUl3YVfV7XvznQVWkY+8n5z1cp1cMVDbVr3FxZX3N+b0pxoZ6dD777DP069cPoaGhqFy5MgCgsLAQXbp0waeffqpzezonOlOnTsWgQYOwf/9+aY7OsWPHsHv3bi7qSUREZAK2VF5etWpV/PDDD7h06RLOnTsHAGjcuHGpy09pQ+dEp3///mjUqBE+++wzbNmyBUIING7cGL/++itat26tVxBEREREj61cuRILFizAn3/+CQCoX78+YmNjMXjwYJ3b0nmODgC0bt0a69atw8mTJ5GSkoJ169YxySEiIqpgFi9ejMDAQDg6OiIkJASHDh0q8/z8/HxMmjQJAQEBkMvlqFevHr788kudPvPjjz/GqFGjEB0djc2bN2Pz5s2Ijo7GBx98gI8++kjne9CqRyc3Nxdubm5aN5qXlwdXV1edgyEiIqJSmGGOzqZNmxAbG4vFixejbdu2WLZsGaKionDu3DnUrl271Gu6d++OGzduYOXKlXjmmWeQlZWFoqIinT53yZIlWLFiBd5++21pX+fOndGsWTOMGDEC06dP16k9rR8YmJGRgRo1amjVaM2aNXHq1CnUrVtXp2CIiIioJHPM0Zk/fz4GDRokDRclJiZiz549WLJkCRISEkqcv3v3bhw4cACXL1+WnoFTp04dneNUKBRo1apVif0hISE6J02AlomOEAJffPEFXFxctGq0sLBQ50CITKXMdbC0wDWxzEwoNR6SVapc6n5tK63IePT5umpbWcUKLOPKzc1Vey+XyyGXy9X2FRQUIDk5GR9++KHa/oiICBw5cqTUdrdt24ZWrVph9uzZ+Oqrr1ClShV07twZn3zyCZycnLSO75133sGSJUswf/58tf3Lly9H7966/5xplejUrl0bK1as0LpRHx8fqSSMiIiIjMBIVVP+/v5q76dMmYK4uDi1fTdv3oRCoYC3t7fafm9vb2RmZpba7uXLl3H48GE4Ojpi69atuHnzJmJiYnD79m2d5+msXLkSe/fuxQsvvADgUXV3Wloa+vbti9GjR0vnFU+GSqNVonP16lWdAiQiIiIjMuIcnbS0NLV5t8V7c1QVX+dSCKFx7UulUgmZTIZ169bB3d0dwKNE5D//+Q8+//xzrXt1zpw5g5YtWwIA/vrrLwBA9erVUb16dZw5c0ZjbJpw9XIiIiIb4ubm9tQCIy8vL9jb25fovcnKyirRy/OYr68vatasKSU5ANCoUSMIIfD333+jfv36WsX3yy+/aHWetvQqLyciIqLy83gysqGbthwcHBASEoKkpCS1/UlJSWjTpk2p17Rt2xbXr1/H3bt3pX0XL16EnZ0datWqpdd9GwMTHSIiIksnjLTpYPTo0fjiiy/w5Zdf4vz58/jggw+QmpqKYcOGAQAmTpyIvn37Suf36tULnp6eGDBgAM6dO4eDBw9i3LhxGDhwoE6TkY2NQ1dERERUQo8ePXDr1i1MmzYNGRkZCAoKws6dOxEQEAAAyMjIQGpqqnS+i4sLkpKSMGLECLRq1Qqenp7o3r27zs+9MTarSHSuXr2KTz75BPv27UNmZib8/PzwzjvvYNKkSWpLtqempuL999/Hvn374OTkhF69emHu3Ll6LetOFZNq2XFE5Z5mjMQ2KPMfGtyG6mKdZSmrpFzjNSxV1puxy/RZ9l82c611FRMTg5iYmFKPrV69usS+hg0blhjuMje9Ep1Dhw5h2bJl+Ouvv/Dtt9+iZs2a+OqrrxAYGIgXX3zR2DHijz/+gFKpxLJly/DMM8/gzJkzGDJkCO7du4e5c+cCePSAoU6dOqF69eo4fPgwbt26hX79+kEIgYULFxo9JiIionJjQ6uXG5vOc3S+++47REZGwsnJCSkpKcjPzwfwaNmHGTNmGD1AAOjYsSNWrVqFiIgI1K1bF507d8bYsWOxZcsW6Zy9e/fi3Llz+PrrrxEcHIwOHTpg3rx5WLFiRYmHIxEREVkVM8zRqSh0TnSmT5+OpUuXYsWKFWoPBWzTpg1Onjxp1ODKkpOTIz1iGgCOHj2KoKAg+Pn5SfsiIyORn5+P5ORkje3k5+cjNzdXbSMiIqKKQedE58KFC3j55ZdL7Hdzc8OdO3eMEdNT/fXXX1i4cKE08xsAMjMzS9T2e3h4wMHBQeNTHAEgISEB7u7u0lb8iZFERETmVt7l5RWJzomOr68vLl26VGL/4cOHdV7EMy4uDjKZrMztxIkTatdcv34dHTt2RLdu3aSFxh4r7SmJZT3FEXhUHpeTkyNtaWlpOt0DERGRyXHoSm86T0YeOnQoRo0ahS+//BIymQzXr1/H0aNHMXbsWEyePFmntoYPH46ePcuufFFd+fT69eto3749QkNDsXz5crXzfHx88Ntvv6nty87ORmFhocanOAKlL2ZGJJSl/4ug3QPHy7bn+BQjtGIdkpSb1d6H23XTuQ2hUEiv7eSOOl/Pah7DWNrXr3g8rJyjp9E50Rk/fjxycnLQvn17PHz4EC+//DLkcjnGjh2L4cOH69SWl5cXvLy8tDo3PT0d7du3R0hICFatWgU7O/XOqNDQUMTHxyMjIwO+vr4AHk1QlsvlCAkJ0SkuIiIii8KqK73pVV4eHx+PSZMm4dy5c1AqlWjcuDFcXFyMHZvk+vXrCAsLQ+3atTF37lz8888/0jEfHx8Aj5aOb9y4Mfr06YM5c+bg9u3bGDt2LIYMGfLUNT2IiIgsmbmeo1MR6P3AQGdnZ7Rq1cqYsWi0d+9eXLp0CZcuXSqxXoYQj75z9vb22LFjB2JiYtC2bVu1BwYSERGRbdIq0XnzzTe1blD12TbG0r9/f/Tv3/+p59WuXRvbt283+ucTERGZFYeu9KZVoqO65LoQAlu3boW7u7vUo5OcnIw7d+7olBARERGRdjh0pT+tEp1Vq1ZJrydMmIDu3btj6dKlsP93DRqFQoGYmBjOhSGLF+HQS3ptp8dquoqT59Te27VsXOp5tlRZZWr2Kn9oFbc7+4unXs+qnIpNtQqL32sqjc7P0fnyyy8xduxYKckBHs2PGT16NL788kujBkdERETgc3QMoHOiU1RUhPPnz5fYf/78eSiVSqMERURERCqY6OhN56qrAQMGYODAgbh06RJeeOEFAMCxY8cwc+ZMDBgwwOgBEhER2ToZDH9gqTEeeGqNdE505s6dCx8fHyxYsAAZGRkAHi0LMX78eIwZM8boARIRERHpS+dEx87ODuPHj8f48eOllb45CZmIiMiEWF6uN70fGAgwwSEiIioPLC/Xn86JTmBgYJmrgV++fNmggIgsmaZyctKOaqm4Iien1P1ERMakc6ITGxur9r6wsBApKSnYvXs3xo0bZ6y4iIiI6DEOXelN50Rn1KhRpe7//PPPceLECYMDIiIiolLYaKJiKJ2fo6NJVFQUvvvuO2M1R0RERGQwgyYjq/r2229RrVo1YzVHRERE/+JkZP3pnOgEBwerTUYWQiAzMxP//PMPFi9ebNTgiIiICJyjYwCdE50uXbqoJTp2dnaoXr06wsLC0LBhQ6MGR2RplMln1N7bhQRJr7mQ59OpLsLZ0WOwQddT+VBdKFN1AU0ia6FzohMXF2eCMIiIiEgTDl3pT+fJyPb29sjKyiqx/9atW2ormhMREZGRcFFPvencoyNE6V+p/Px8ODg4GBwQERERqWOPjv60TnQ+++wzAIBMJsMXX3wBFxcX6ZhCocDBgwc5R4eIiIgsitaJzoIFCwA86tFZunSp2jCVg4MD6tSpg6VLlxo/QiIiIlvHqiu9aZ3oXLlyBQDQvn17bNmyBR4eHiYLioiIiFQw0dGbznN0fvnlF1PEQWSVWFJuHCwbtz6qZefGoG/purHjoIpHq0Rn9OjR+OSTT1ClShWMHj26zHPnz59vlMCIiIjoEU5G1p9WiU5KSgoKCwsBACdPnlR7YCARERGZGIeu9KZVoqM6XLV//35TxUJERERkVDo/MHDgwIHIy8srsf/evXsYOHCgUYIiIiKiJ2RCGGWzRTonOmvWrMGDBw9K7H/w4AHWrl1rlKCIiIhIBZ+MrDetq65yc3MhhIAQAnl5eXB0dJSOKRQK7Ny5EzVq1DBJkESGiHDoJb22c5Qb1FaScrOh4dC/WGllfUxZ4VS8bUtbQDTcrpv0mv8OWBetE52qVatCJpNBJpOhQYMGJY7LZDJMnTrVqMERERERq64MoXWi88svv0AIgVdeeQXfffcdqlWrJh1zcHBAQEAA/Pz8TBIkERGRTWPVld60TnTatWsH4NETkv39/WFnp/P0HiIiItIDe3T0p3O2EhAQADs7O9y/fx9//PEH/ve//6ltppafn48WLVpAJpPh1KlTasdSU1MRHR2NKlWqwMvLCyNHjkRBQYHJYyIiIiLLpHOi888//+D111+Hq6srmjRpguDgYLXN1MaPH1/qEJlCoUCnTp1w7949HD58GBs3bsR3332HMWPGmDwmIiIikzJT1dXixYsRGBgIR0dHhISE4NChQ1pd9+uvv6JSpUpo0aKF7h9qZDqvdRUbG4vs7GwcO3YM7du3x9atW3Hjxg1Mnz4d8+bNM0WMkl27dmHv3r347rvvsGvXLrVje/fuxblz55CWliYlQvPmzUP//v0RHx8PNzc3k8ZGFcvu3FXmDoHIpnENK3XmGLratGkTYmNjsXjxYrRt2xbLli1DVFQUzp07h9q1a2u8LicnB3379sWrr76KGzduGBa0Eejco7Nv3z4sWLAAzz33HOzs7BAQEIB33nkHs2fPRkJCgiliBADcuHEDQ4YMwVdffQVnZ+cSx48ePYqgoCC13p7IyEjk5+cjOTlZY7v5+fnIzc1V24iIiGzd/PnzMWjQIAwePBiNGjVCYmIi/P39sWTJkjKvGzp0KHr16oXQ0NByirRsOic69+7dk56XU61aNfzzzz8AgKZNm+LkyZPGje5fQgj0798fw4YNQ6tWrUo9JzMzE97e3mr7PDw84ODggMzMTI1tJyQkwN3dXdr8/f2NGjsREZHBjDh0VfyP+/z8/BIfV1BQgOTkZERERKjtj4iIwJEjRzSGuWrVKvz111+YMmWKIXdrVDonOs8++ywuXLgAAGjRogWWLVuG9PR0LF26FL6+vjq1FRcXJz2bR9N24sQJLFy4ELm5uZg4cWKZ7ZW22KgQosxFSCdOnIicnBxpS0tL0+keiIiIysPj4St9t8f8/f3V/sAvbTTm5s2bUCgUJToQvL29NXYe/Pnnn/jwww+xbt06VKqk88wYk9Frjk5GRgYAYMqUKYiMjMS6devg4OCA1atX69TW8OHD0bNnzzLPqVOnDqZPn45jx45BLld/qm2rVq3Qu3dvrFmzBj4+Pvjtt9/UjmdnZ6OwsLDEN0qVXC4v0S4REVFFlZaWpjZvtazfgcU7CjR1HigUCvTq1QtTp04t9aHC5qRzotO795PHcgcHB+Pq1av4448/ULt2bXh5eenUlpeXl1bXfPbZZ5g+fbr0/vr164iMjMSmTZvQunVrAEBoaCji4+ORkZEh9Szt3bsXcrkcISEhOsVFRERkUYR4tBnaBgA3N7enFuh4eXnB3t6+RO9NVlZWqZ0HeXl5OHHiBFJSUjB8+HAAgFKphBAClSpVwt69e/HKK68YFr+eDO5bcnZ2RsuWLY0Ri0bFZ3e7uLgAAOrVq4datWoBeDRu2LhxY/Tp0wdz5szB7du3MXbsWAwZMoQVV0REZNXKu+rKwcEBISEhSEpKwhtvvCHtT0pKQpcuXUqc7+bmhtOnT6vtW7x4Mfbt24dvv/0WgYGBesdtKK0SndGjR2vd4Pz58/UOxhD29vbYsWMHYmJi0LZtWzg5OaFXr16YO3euWeIhy7G3YL30uqPbgFLPYTk5ERVn6wt5jh49Gn369EGrVq0QGhqK5cuXIzU1FcOGDQPwaI5reno61q5dCzs7OwQFBaldX6NGDTg6OpbYX960SnRSUlK0aqysSb/GVKdOHYhSuvBq166N7du3l0sMRERE5cYMa1316NEDt27dwrRp05CRkYGgoCDs3LkTAQEBAICMjAykpqYaGJTpyURpGYMNy83Nhbu7O3JycjjkVQGxR4eItKVNj46pf2c8bv+5N6ajUmVHg9oqKnyI41s/srnfb5ZT/0VERESl4+rleuMS5ERERFRhsUeHiIjIwpljrauKgokOVXgRDr2k13aOfDgkEZVOdU4OYGGVVkZ8jo6t4dAVERERVVjs0SEiIrJwHLrSHxMdIiIiS8eqK71x6IqIiIgqLPboEBERWTgOXemPiQ7ZLD4NmYhUWVSVVXGsutIbh66IiIiowmKPDhERkYXj0JX+mOgQERFZOlZd6Y2JDhERkYVjj47+OEeHiIiIKiz26BAREVk6pXi0GdqGDWKiQzZF+TDf3CEQEemOc3T0xqErIiIiqrDYo0NERGThZDDCZGSjRGJ9mOgQERFZOj4ZWW8cuiIiIqIKiz06REREFo7P0dEfEx2q8PYWrDd3CEREhmHVld44dEVEREQVFnt0iIiILJxMCMgMnExs6PXWiokOERGRpVP+uxnahg1iokNERGTh2KOjP87RISIiogqLPTpERESWjlVXemOiQ0REZOn4ZGS9ceiKiIiIKiyrSnR27NiB1q1bw8nJCV5eXnjzzTfVjqempiI6OhpVqlSBl5cXRo4ciYKCAjNFS0REZByPn4xs6GaLrGbo6rvvvsOQIUMwY8YMvPLKKxBC4PTp09JxhUKBTp06oXr16jh8+DBu3bqFfv36QQiBhQsXmjFyIiIiA3HoSm9WkegUFRVh1KhRmDNnDgYNGiTtf/bZZ6XXe/fuxblz55CWlgY/Pz8AwLx589C/f3/Ex8fDzc2t3OMmIiIi87KKoauTJ08iPT0ddnZ2CA4Ohq+vL6KionD27FnpnKNHjyIoKEhKcgAgMjIS+fn5SE5O1th2fn4+cnNz1TYiIiJLIlMaZ7NFVpHoXL58GQAQFxeHjz76CNu3b4eHhwfatWuH27dvAwAyMzPh7e2tdp2HhwccHByQmZmpse2EhAS4u7tLm7+/v+luhIiISB+Ph64M3WyQWROduLg4yGSyMrcTJ05AqXyUhk6aNAlvvfUWQkJCsGrVKshkMmzevFlqTyaTlfgMIUSp+x+bOHEicnJypC0tLc34N0pERERmYdY5OsOHD0fPnj3LPKdOnTrIy8sDADRu3FjaL5fLUbduXaSmpgIAfHx88Ntvv6ldm52djcLCwhI9Parkcjnkcrm+t0BERGR6fGCg3sya6Hh5ecHLy+up54WEhEAul+PChQt48cUXAQCFhYW4evUqAgICAAChoaGIj49HRkYGfH19ATyaoCyXyxESEmK6myAiIjIxrnWlP6uounJzc8OwYcMwZcoU+Pv7IyAgAHPmzAEAdOvWDQAQERGBxo0bo0+fPpgzZw5u376NsWPHYsiQIay4IiIi68bycr1ZRaIDAHPmzEGlSpXQp08fPHjwAK1bt8a+ffvg4eEBALC3t8eOHTsQExODtm3bwsnJCb169cLcuXPNHDkRERGZi0wIG03xNMjNzYW7uztycnLYE2TDwu26Sa+TlJvLOJOIbJmpf2c8br99y4moZO9oUFtFiof45WSCzf1+s4ryciIiIlv2eI6OoZuuFi9ejMDAQDg6OiIkJASHDh3SeO6WLVsQHh6O6tWrw83NDaGhodizZ48ht20UTHSIiIiohE2bNiE2NhaTJk1CSkoKXnrpJURFRUnVzsUdPHgQ4eHh2LlzJ5KTk9G+fXtER0cjJSWlnCNXx6GrYjh0RQCHrohIO+U1dPVKiw9Ryd6wR6EUKfKx79RMrWNt3bo1WrZsiSVLlkj7GjVqhK5duyIhIUGrz2zSpAl69OiByZMn6x23odijQ0REZOmM+GTk4sse5efnl/i4goICJCcnIyIiQm1/REQEjhw5olXISqUSeXl5qFatmuH3bwAmOkRERDbE399fbemj0npnbt68CYVCUeKBu97e3mUuq6Rq3rx5uHfvHrp3726UuPVlNeXlRERENksJQPNqRtq3ASAtLU1t6Kqs1QGKL6H0tGWVHtuwYQPi4uLwww8/oEaNGvrFayRMdMhmlTUPh/NybIPqz4C2TPmzoU88tsZW/9805pOR3dzcnjpHx8vLC/b29iV6b7KysspcVgl4NIl50KBB2Lx5Mzp06GBQzMbAoSsiIiJLV86rlzs4OCAkJARJSUlq+5OSktCmTRuN123YsAH9+/fH+vXr0alTJ71v15jYo0NEREQljB49Gn369EGrVq0QGhqK5cuXIzU1FcOGDQMATJw4Eenp6Vi7di2AR0lO37598emnn+KFF16QeoOcnJzg7u5utvtgokNERGTpzLDWVY8ePXDr1i1MmzYNGRkZCAoKws6dO6XFtDMyMtSeqbNs2TIUFRXh/fffx/vvvy/t79evH1avXm1Y7AZgokNERGTpzLSoZ0xMDGJiYko9Vjx52b9/vx5BmR7n6BAREVGFxR4dsimaqlqK77fVyg59aapg07aKqPjX25KrjyriPVkTY3wdrfL/byOWl9saJjpEREQWzpjl5baGQ1dERERUYbFHh4iIyNKZaTJyRcBEh4iIyNIpBSAzMFFR2maiw6ErIiIiqrDYo0Nqylr/yVRt61tFoakNY8Rtyq+DuZRX1Y8+n1MRK5Iq4j1VFJq+Nxb9/zqHrvTGRIeIiMjiGSHRARMdIiIiskTs0dEb5+gQERFRhcUeHSIiIkunFDB46MlGq66Y6BAREVk6oXy0GdqGDeLQFREREVVY7NGxAuYqUzXl5xqjbW0X6NTEoktJy8CyZSLjsZp/BzgZWW9MdIiIiCwd5+jojUNXREREVGGxR4eIiMjScehKb0x0iIiILJ2AERIdo0RidTh0RURERBWW1fToXLx4EePGjcOvv/6KgoICNG3aFNOnT0f79u2lc1JTU/H+++9j3759cHJyQq9evTB37lw4ODiYMXL9FohkZY3+zFVFYcpqL/48EBmP1VRaqeLQld6spkenU6dOKCoqwr59+5CcnIwWLVrg9ddfR2ZmJgBAoVCgU6dOuHfvHg4fPoyNGzfiu+++w5gxY8wcORERkYGUSuNsNsgqEp2bN2/i0qVL+PDDD9GsWTPUr18fM2fOxP3793H27FkAwN69e3Hu3Dl8/fXXCA4ORocOHTBv3jysWLECubm5Zr4DIiIiAzzu0TF0s0FWkeh4enqiUaNGWLt2Le7du4eioiIsW7YM3t7eCAkJAQAcPXoUQUFB8PPzk66LjIxEfn4+kpOTNbadn5+P3NxctY2IiIgqBquYoyOTyZCUlIQuXbrA1dUVdnZ28Pb2xu7du1G1alUAQGZmJry9vdWu8/DwgIODgzS8VZqEhARMnTrVlOETEREZhnN09GbWHp24uDjIZLIytxMnTkAIgZiYGNSoUQOHDh3C77//ji5duuD1119HRkaG1J5MJivxGUKIUvc/NnHiROTk5EhbWlqaSe6ViIhIb0phnM0GmbVHZ/jw4ejZs2eZ59SpUwf79u3D9u3bkZ2dDTc3NwDA4sWLkZSUhDVr1uDDDz+Ej48PfvvtN7Vrs7OzUVhYWKKnR5VcLodcLjf8ZsrASqvyZeyvY1nfP30+i99nIvPSpxKWrJdZEx0vLy94eXk99bz79+8DAOzs1Dug7OzsoPx3FnloaCji4+ORkZEBX19fAI8mKMvlcmkeDxERkTUSQgkhDKuaMvR6a2UVk5FDQ0Ph4eGBfv364b///a/0TJ0rV66gU6dOAICIiAg0btwYffr0QUpKCn7++WeMHTsWQ4YMkXqBiIiIrJIwwrAV5+hYLi8vL+zevRt3797FK6+8glatWuHw4cP44Ycf0Lx5cwCAvb09duzYAUdHR7Rt2xbdu3dH165dMXfuXDNHT0REROZiFVVXANCqVSvs2bOnzHNq166N7du3l1NERERE5UQIGLxYlY326FhNokNERGSzlEpAZuAcG87RISIiIqpY2KOjQRf3vqgkq2y2z1cteWQ5snnx609UcRn6/3eRKDRSJE/BoSu9MdEhIiKycEKphDBw6MpWy8uZ6BAREVk69ujojXN0iIiIqMJijw4REZGlUwpAxh4dfTDRISIisnRCADC0vJyJDlkQVvoQEREZjokOERGRhRNKAWHg0JVgjw4RERFZJKGE4UNXtllezqorIiIiqrDYo0NERGThOHSlPyY6RERElo5DV3pjolPM44y3CIUGP4SSiIgqtiI8WuvK1L0lxvid9DhWW8NEp5i8vDwAwGHsNHMkRERkLfLy8uDu7m70dh0cHODj44PDmcb5neTj4wMHBwejtGUtZMJWB+00UCqVuH79OlxdXSGTycwSQ25uLvz9/ZGWlgY3NzezxGAqvDfrxHuzThX53gDLuD8hBPLy8uDn5wc7O9PU9zx8+BAFBQVGacvBwQGOjo5GactasEenGDs7O9SqVcvcYQAA3NzcKuQ/TgDvzVrx3qxTRb43wPz3Z4qeHFWOjo42l5wYE8vLiYiIqMJiokNEREQVFhMdCySXyzFlyhTI5XJzh2J0vDfrxHuzThX53oCKf39kHJyMTERERBUWe3SIiIiowmKiQ0RERBUWEx0iIiKqsJjoEBERUYXFRMeM4uPj0aZNGzg7O6Nq1aqlniOTyUpsS5cuVTvn9OnTaNeuHZycnFCzZk1MmzbN7KvUanNvqampiI6ORpUqVeDl5YWRI0eWePqnJd5baerUqVPi+/Thhx+qnaPN/VqqxYsXIzAwEI6OjggJCcGhQ4fMHZJO4uLiSnx/fHx8pONCCMTFxcHPzw9OTk4ICwvD2bNnzRhx2Q4ePIjo6Gj4+flBJpPh+++/Vzuuzf3k5+djxIgR8PLyQpUqVdC5c2f8/fff5XgXpXvavfXv37/E9/KFF15QO8dS743Mg4mOGRUUFKBbt2547733yjxv1apVyMjIkLZ+/fpJx3JzcxEeHg4/Pz8cP34cCxcuxNy5czF//nxTh1+mp92bQqFAp06dcO/ePRw+fBgbN27Ed999hzFjxkjnWOq9aTJt2jS179NHH30kHdPmfi3Vpk2bEBsbi0mTJiElJQUvvfQSoqKikJqaau7QdNKkSRO178/p06elY7Nnz8b8+fOxaNEiHD9+HD4+PggPD5fWvrM09+7dQ/PmzbFo0aJSj2tzP7Gxsdi6dSs2btyIw4cP4+7du3j99dehUCjK6zZK9bR7A4COHTuqfS937lRfB8pS743MRJDZrVq1Sri7u5d6DIDYunWrxmsXL14s3N3dxcOHD6V9CQkJws/PTyiVSiNHqjtN97Zz505hZ2cn0tPTpX0bNmwQcrlc5OTkCCEs/95UBQQEiAULFmg8rs39Wqrnn39eDBs2TG1fw4YNxYcffmimiHQ3ZcoU0bx581KPKZVK4ePjI2bOnCnte/jwoXB3dxdLly4tpwj1V/zfCG3u586dO6Jy5cpi48aN0jnp6enCzs5O7N69u9xif5rS/v3r16+f6NKli8ZrrOXeqPywR8cKDB8+HF5eXnjuueewdOlSKJVK6djRo0fRrl07tQdmRUZG4vr167h69aoZotXO0aNHERQUBD8/P2lfZGQk8vPzkZycLJ1jTfc2a9YseHp6okWLFoiPj1cbltLmfi1RQUEBkpOTERERobY/IiICR44cMVNU+vnzzz/h5+eHwMBA9OzZE5cvXwYAXLlyBZmZmWr3KJfL0a5dO6u7R0C7+0lOTkZhYaHaOX5+fggKCrKKe96/fz9q1KiBBg0aYMiQIcjKypKOWfu9kfFxUU8L98knn+DVV1+Fk5MTfv75Z4wZMwY3b96UhkUyMzNRp04dtWu8vb2lY4GBgeUdslYyMzOlOB/z8PCAg4MDMjMzpXOs5d5GjRqFli1bwsPDA7///jsmTpyIK1eu4IsvvgCg3f1aops3b0KhUJSI3dvb26LjLq5169ZYu3YtGjRogBs3bmD69Olo06YNzp49K91Hafd47do1c4RrEG3uJzMzEw4ODvDw8ChxjqV/X6OiotCtWzcEBATgypUr+Pjjj/HKK68gOTkZcrncqu+NTIM9OkZW2qTH4tuJEye0bu+jjz5CaGgoWrRogTFjxmDatGmYM2eO2jkymUztvfh3sm7x/YYy9r2VFp8QQm1/ed1baXS53w8++ADt2rVDs2bNMHjwYCxduhQrV67ErVu3NN7L4/spj3sxVGnfB2uI+7GoqCi89dZbaNq0KTp06IAdO3YAANasWSOdY+33WJw+92MN99yjRw906tQJQUFBiI6Oxq5du3Dx4kXpe6qJNdwbmQZ7dIxs+PDh6NmzZ5nnFO+l0MULL7yA3Nxc3LhxA97e3vDx8SnxV8rjbtzif9EZypj35uPjg99++01tX3Z2NgoLC6W4y/PeSmPI/T6uArl06RI8PT21ul9L5OXlBXt7+1K/D5Yc99NUqVIFTZs2xZ9//omuXbsCeNTL4evrK51jrff4uJqsrPvx8fFBQUEBsrOz1Xo+srKy0KZNm/IN2EC+vr4ICAjAn3/+CaBi3RsZB3t0jMzLywsNGzYsc3N0dNS7/ZSUFDg6Okol26GhoTh48KDafJC9e/fCz8/PoISqNMa8t9DQUJw5cwYZGRlqccvlcoSEhJT7vZXGkPtNSUkBAOkXjTb3a4kcHBwQEhKCpKQktf1JSUlW/UsjPz8f58+fh6+vLwIDA+Hj46N2jwUFBThw4IBV3qM29xMSEoLKlSurnZORkYEzZ85Y3T3funULaWlp0v9rFeneyEjMNg2axLVr10RKSoqYOnWqcHFxESkpKSIlJUXk5eUJIYTYtm2bWL58uTh9+rS4dOmSWLFihXBzcxMjR46U2rhz547w9vYWb7/9tjh9+rTYsmWLcHNzE3PnzjXXbQkhnn5vRUVFIigoSLz66qvi5MmT4qeffhK1atUSw4cPl9qw1Hsr7siRI2L+/PkiJSVFXL58WWzatEn4+fmJzp07S+doc7+WauPGjaJy5cpi5cqV4ty5cyI2NlZUqVJFXL161dyhaW3MmDFi//794vLly+LYsWPi9ddfF66urtI9zJw5U7i7u4stW7aI06dPi7ffflv4+vqK3NxcM0deury8POn/KQDSz9+1a9eEENrdz7Bhw0StWrXETz/9JE6ePCleeeUV0bx5c1FUVGSu2xJClH1veXl5YsyYMeLIkSPiypUr4pdffhGhoaGiZs2aVnFvZB5MdMyoX79+AkCJ7ZdffhFCCLFr1y7RokUL4eLiIpydnUVQUJBITEwUhYWFau3873//Ey+99JKQy+XCx8dHxMXFmb38+mn3JsSjZKhTp07CyclJVKtWTQwfPlytlFwIy7y34pKTk0Xr1q2Fu7u7cHR0FM8++6yYMmWKuHfvntp52tyvpfr8889FQECAcHBwEC1bthQHDhwwd0g66dGjh/D19RWVK1cWfn5+4s033xRnz56VjiuVSjFlyhTh4+Mj5HK5ePnll8Xp06fNGHHZfvnll1L//+rXr58QQrv7efDggRg+fLioVq2acHJyEq+//rpITU01w92oK+ve7t+/LyIiIkT16tVF5cqVRe3atUW/fv1KxG2p90bmIRPCAh8zS0RERGQEnKNDREREFRYTHSIiIqqwmOgQERFRhcVEh4iIiCosJjpERERUYTHRISIiogqLiQ4RERFVWEx0qMIJCwtDbGxshfrc/v37S2sy6atOnTrSYqR37tzReN7q1aulJUbI+Pr37y99H77//ntzh0NU4THRITKSLVu24JNPPpHe16lTB4mJieYLqBTTpk1DRkYG3N3dzR1Khbd///5Sk8pPP/1Ubc0zIjItrl5OZCTVqlUzdwhP5erqKq1ubW6FhYWoXLmyucMod+7u7kw0icoRe3SowsvOzkbfvn3h4eEBZ2dnREVF4c8//5SOPx6q2bNnDxo1agQXFxd07NhR7a/uoqIijBw5ElWrVoWnpycmTJiAfv36qQ0nqQ5dhYWF4dq1a/jggw+kYQoAiIuLQ4sWLdTiS0xMVFuNXaFQYPTo0dJnjR8/HsVXahFCYPbs2ahbty6cnJzQvHlzfPvtt3p9fVavXo3atWvD2dkZb7zxBm7dulXinB9//BEhISFwdHRE3bp1MXXqVBQVFUnH//jjD7z44otwdHRE48aN8dNPP6kNzVy9ehUymQzffPMNwsLC4OjoiK+//hoAsGrVKjRq1AiOjo5o2LAhFi9erPbZ6enp6NGjBzw8PODp6YkuXbrg6tWr0vH9+/fj+eefR5UqVVC1alW0bdsW165d0+ren3Zf8+fPR9OmTVGlShX4+/sjJiYGd+/elY5fu3YN0dHR8PDwQJUqVdCkSRPs3LkTV69eRfv27QEAHh4ekMlk6N+/v1YxEZFxMdGhCq9///44ceIEtm3bhqNHj0IIgddeew2FhYXSOffv38fcuXPx1Vdf4eDBg0hNTcXYsWOl47NmzcK6deuwatUq/Prrr8jNzS1zfsWWLVtQq1YtaahIl6GKefPm4csvv8TKlStx+PBh3L59G1u3blU756OPPsKqVauwZMkSnD17Fh988AHeeecdHDhwQPsvDIDffvsNAwcORExMDE6dOoX27dtj+vTpaufs2bMH77zzDkaOHIlz585h2bJlWL16NeLj4wEASqUSXbt2hbOzM3777TcsX74ckyZNKvXzJkyYgJEjR+L8+fOIjIzEihUrMGnSJMTHx+P8+fOYMWMGPv74Y6xZswbAo+9L+/bt4eLigoMHD+Lw4cNSIlpQUICioiJ07doV7dq1w//+9z8cPXoU7777rpRYluVp9wUAdnZ2+Oyzz3DmzBmsWbMG+/btw/jx46Xj77//PvLz83Hw4EGcPn0as2bNgouLC/z9/fHdd98BAC5cuICMjAx8+umnOn1viMhIzLqkKJEJtGvXTowaNUoIIcTFixcFAPHrr79Kx2/evCmcnJzEN998I4QQYtWqVQKAuHTpknTO559/Lry9vaX33t7eYs6cOdL7oqIiUbt2bdGlS5dSP1cIIQICAsSCBQvUYpsyZYpo3ry52r4FCxaIgIAA6b2vr6+YOXOm9L6wsFDUqlVL+qy7d+8KR0dHceTIEbV2Bg0aJN5++22NX5fS4nn77bdFx44d1fb16NFDuLu7S+9feuklMWPGDLVzvvrqK+Hr6yuEEGLXrl2iUqVKIiMjQzqelJQkAIitW7cKIYS4cuWKACASExPV2vH39xfr169X2/fJJ5+I0NBQIYQQK1euFM8++6zaivX5+fnCyclJ7NmzR9y6dUsAEPv379d435o87b5K88033whPT0/pfdOmTUVcXFyp5z5ehTs7O7vU46pfHyIyHc7RoQrt/PnzqFSpElq3bi3t8/T0xLPPPovz589L+5ydnVGvXj3pva+vL7KysgAAOTk5uHHjBp5//nnpuL29PUJCQqBUKo0ab05ODjIyMhAaGirtq1SpElq1aiUNX507dw4PHz5EeHi42rUFBQUIDg7W6fPOnz+PN954Q21faGgodu/eLb1PTk7G8ePH1Xo6FAoFHj58iPv37+PChQvw9/dXm/uj+rVS1apVK+n1P//8g7S0NAwaNAhDhgyR9hcVFUlzWJKTk3Hp0iW4urqqtfPw4UP89ddfiIiIQP/+/REZGYnw8HB06NAB3bt3h6+v71Pv/Wn35ezsjF9++QUzZszAuXPnkJubi6KiIjx8+BD37t1DlSpVMHLkSLz33nvYu3cvOnTogLfeegvNmjV76mcTUflhokMVmig2t0V1v+rwRvFJsTKZrMS1xYdDNLVdFjs7uxLXqQ6haeNxcrVjxw7UrFlT7ZhcLtepLW3uQalUYurUqXjzzTdLHHN0dCzxtSxLlSpV1NoFgBUrVqglosCjRPLxOSEhIVi3bl2JtqpXrw7g0RyfkSNHYvfu3di0aRM++ugjJCUl4YUXXjDovq5du4bXXnsNw4YNwyeffIJq1arh8OHDGDRokPQ9Gzx4MCIjI7Fjxw7s3bsXCQkJmDdvHkaMGKHV14OITI+JDlVojRs3RlFREX777Te0adMGAHDr1i1cvHgRjRo10qoNd3d3eHt74/fff8dLL70E4NFf/ikpKSUmFqtycHCAQqFQ21e9enVkZmaqJQenTp1S+yxfX18cO3YML7/8MoBHPRzJyclo2bKldE9yuRypqalo166dVvegSePGjXHs2DG1fcXft2zZEhcuXMAzzzxTahsNGzZEamoqbty4AW9vbwDA8ePHn/rZ3t7eqFmzJi5fvozevXuXek7Lli2xadMm1KhRA25ubhrbCg4ORnBwMCZOnIjQ0FCsX7/+qYnO0+7rxIkTKCoqwrx582Bn92g64zfffFPiPH9/fwwbNgzDhg3DxIkTsWLFCowYMQIODg4AUOJngIjKFxMdqtDq16+PLl26YMiQIVi2bBlcXV3x4YcfombNmujSpYvW7YwYMQIJCQl45pln0LBhQyxcuBDZ2dll9mTUqVMHBw8eRM+ePSGXy+Hl5YWwsDD8888/mD17Nv7zn/9g9+7d2LVrl9ov8VGjRmHmzJmoX78+GjVqhPnz56s9i8XV1RVjx47FBx98AKVSiRdffBG5ubk4cuQIXFxc0K9fP63va+TIkWjTpg1mz56Nrl27Yu/evWrDVgAwefJkvP766/D390e3bt1gZ2eH//3vfzh9+jSmT5+O8PBw1KtXD/369cPs2bORl5cnTUZ+Wk9PXFwcRo4cCTc3N0RFRSE/Px8nTpxAdnY2Ro8ejd69e2POnDno0qULpk2bhlq1aiE1NRVbtmzBuHHjUFhYiOXLl6Nz587w8/PDhQsXcPHiRfTt2/ep9/60+6pXrx6KioqwcOFCREdH49dff8XSpUvV2oiNjUVUVBQaNGiA7Oxs7Nu3T0qgAwICIJPJsH37drz22mtwcnKCi4uL1t8bIjISs80OIjKR4pOCb9++Lfr06SPc3d2Fk5OTiIyMFBcvXpSOr1q1Sm3yrRBCbN26Vaj+71FYWCiGDx8u3NzchIeHh5gwYYLo1q2b6Nmzp8bPPXr0qGjWrJmQy+VqbS1ZskT4+/uLKlWqiL59+4r4+Hi1yciFhYVi1KhRws3NTVStWlWMHj1a9O3bV23is1KpFJ9++ql49tlnReXKlUX16tVFZGSkOHDggMavS2mTkYV4NOG3Vq1awsnJSURHR4u5c+eW+Hrs3r1btGnTRjg5OQk3Nzfx/PPPi+XLl0vHz58/L9q2bSscHBxEw4YNxY8//igAiN27dwshnkxGTklJKfH569atEy1atBAODg7Cw8NDvPzyy2LLli3S8YyMDNG3b1/h5eUl5HK5qFu3rhgyZIjIyckRmZmZomvXrsLX11c4ODiIgIAAMXnyZKFQKDR+HXS5r/nz5wtfX1/p52bt2rVqE4yHDx8u6tWrJ+Ryuahevbro06ePuHnzpnT9tGnThI+Pj5DJZKJfv35qnw1ORiYqFzIh9JhoQGTjlEolGjVqhO7du6s9DdmS1alTB7GxseWyPMavv/6KF198EZcuXVKb5E1PyGQybN261eClPYiobHyODpEWrl27hhUrVuDixYs4ffo03nvvPVy5cgW9evUyd2g6mTBhAlxcXJCTk2PUdrdu3YqkpCRcvXoVP/30E9599120bduWSU4phg0bxiEsonLEHh0iLaSlpaFnz544c+YMhBAICgrCzJkzpQnD1uDatWtStVDdunWlCbbGsHbtWnzyySdIS0uDl5cXOnTogHnz5sHT09Non6GrJk2aaHxC8rJlyzROgDa1rKws5ObmAnj0GAPVSjQiMj4mOkRUIakmdsV5e3uXeDYPEVVMTHSIiIiowuIcHSIiIqqwmOgQERFRhcVEh4iIiCosJjpERERUYTHRISIiogqLiQ4RERFVWEx0iIiIqMJiokNEREQV1v8DfbDKusPqH5IAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gdf = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))\n", + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['pop_est'],\n", + " resolution=(-3.0, 3.0),\n", + ")\n", + "geo_grid[\"pop_est\"].plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Convert to GeoDataFrame (vectorize)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "grid_gdf = vectorize(geo_grid.pop_est.astype(\"float32\"))\n", + "grid_gdf.plot(column=\"pop_est\")" + ] + } + ], + "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.9.15" + }, + "vscode": { + "interpreter": { + "hash": "f7286e25aede83087e9621ce0e75f07eda2aa917ee0205c1a0b96e7ba4f20042" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/_sources/examples/zonal_statistics.ipynb.txt b/refs/tags/0.7.0/_sources/examples/zonal_statistics.ipynb.txt new file mode 100644 index 0000000..6e34840 --- /dev/null +++ b/refs/tags/0.7.0/_sources/examples/zonal_statistics.ipynb.txt @@ -0,0 +1,845 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Zonal Statistics\n", + "This is useful in the case where you want to get regional statistics for a raster." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "import numpy\n", + "import rioxarray\n", + "import xarray\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create the data mask by rasterizing the unique ID of the vector data\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# This assumes you are running this example from a clone of\n", + "# https://github.com/corteva/geocube/\n", + "# You could also use the full path: \n", + "# https://raw.githubusercontent.com/corteva/geocube/master/test/test_data/input/soil_data_group.geojson\n", + "ssurgo_data = geopandas.read_file(\"../../test/test_data/input/soil_data_group.geojson\")\n", + "ssurgo_data = ssurgo_data.loc[ssurgo_data.hzdept_r==0]\n", + "# convert the key to group to the vector data to an integer as that is one of the\n", + "# best data types for this type of mapping. If your data is not integer,\n", + "# then consider using a mapping of your data to an integer with something\n", + "# like a categorical dtype.\n", + "ssurgo_data[\"mukey\"] = ssurgo_data.mukey.astype(int)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# load in source elevation data subset relevant for the vector data\n", + "elevation = rioxarray.open_rasterio(\n", + " \"https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/13/TIFF/current/n42w091/USGS_13_n42w091.tif\", masked=True\n", + ").rio.clip(\n", + " ssurgo_data.geometry.values, ssurgo_data.crs, from_disk=True\n", + ").sel(band=1).drop(\"band\")\n", + "elevation.name = \"elevation\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "out_grid = make_geocube(\n", + " vector_data=ssurgo_data,\n", + " measurements=[\"mukey\"],\n", + " like=elevation, # ensure the data are on the same grid\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:      (y: 178, x: 178)\n",
+       "Coordinates:\n",
+       "  * y            (y) float64 41.5 41.5 41.5 41.5 ... 41.48 41.48 41.48 41.48\n",
+       "  * x            (x) float64 -90.6 -90.6 -90.6 -90.6 ... -90.58 -90.58 -90.58\n",
+       "    spatial_ref  int64 0\n",
+       "Data variables:\n",
+       "    mukey        (y, x) float64 1.988e+05 1.988e+05 ... 1.987e+05 1.987e+05\n",
+       "    elevation    (y, x) float64 173.7 172.0 171.1 170.6 ... 181.0 181.2 181.4
" + ], + "text/plain": [ + "\n", + "Dimensions: (y: 178, x: 178)\n", + "Coordinates:\n", + " * y (y) float64 41.5 41.5 41.5 41.5 ... 41.48 41.48 41.48 41.48\n", + " * x (x) float64 -90.6 -90.6 -90.6 -90.6 ... -90.58 -90.58 -90.58\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " mukey (y, x) float64 1.988e+05 1.988e+05 ... 1.987e+05 1.987e+05\n", + " elevation (y, x) float64 173.7 172.0 171.1 170.6 ... 181.0 181.2 181.4" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# merge the two together\n", + "out_grid[\"elevation\"] = (elevation.dims, elevation.values, elevation.attrs, elevation.encoding)\n", + "out_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "out_grid.mukey.plot.imshow()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "out_grid.elevation.plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get the elevation statistics of each region using the mask" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "grouped_elevation = out_grid.drop(\"spatial_ref\").groupby(out_grid.mukey)\n", + "grid_mean = grouped_elevation.mean().rename({\"elevation\": \"elevation_mean\"})\n", + "grid_min = grouped_elevation.min().rename({\"elevation\": \"elevation_min\"})\n", + "grid_max = grouped_elevation.max().rename({\"elevation\": \"elevation_max\"})\n", + "grid_std = grouped_elevation.std().rename({\"elevation\": \"elevation_std\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "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", + "
elevation_meanelevation_minelevation_maxelevation_std
mukey
198692.0173.130925169.394562188.4425053.307044
198714.0175.045866170.214157179.7166752.150987
198724.0179.931131178.237244181.4903870.630699
198750.0176.187118167.951233190.1387633.815206
198754.0171.633084167.610321181.6112982.997591
271425.0167.974433167.951233168.6530150.079769
271431.0176.718101170.258133180.4602202.731732
\n", + "
" + ], + "text/plain": [ + " elevation_mean elevation_min elevation_max elevation_std\n", + "mukey \n", + "198692.0 173.130925 169.394562 188.442505 3.307044\n", + "198714.0 175.045866 170.214157 179.716675 2.150987\n", + "198724.0 179.931131 178.237244 181.490387 0.630699\n", + "198750.0 176.187118 167.951233 190.138763 3.815206\n", + "198754.0 171.633084 167.610321 181.611298 2.997591\n", + "271425.0 167.974433 167.951233 168.653015 0.079769\n", + "271431.0 176.718101 170.258133 180.460220 2.731732" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zonal_stats = xarray.merge([grid_mean, grid_min, grid_max, grid_std]).to_dataframe()\n", + "zonal_stats" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "ssurgo_data = ssurgo_data.merge(zonal_stats, on=\"mukey\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ssurgo_data.plot(column=\"elevation_mean\", legend=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ssurgo_data.plot(column=\"elevation_max\", legend=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/_sources/geocube.rst.txt b/refs/tags/0.7.0/_sources/geocube.rst.txt new file mode 100644 index 0000000..12ae28d --- /dev/null +++ b/refs/tags/0.7.0/_sources/geocube.rst.txt @@ -0,0 +1,38 @@ +Core +================== + +make_geocube +------------------------- + +.. autofunction:: geocube.api.core.make_geocube + + +rasterize +------------------------- + +.. autofunction:: geocube.rasterize.rasterize_image + +.. autofunction:: geocube.rasterize.rasterize_points_griddata + +.. autofunction:: geocube.rasterize.rasterize_points_radial + + +vectorize +------------------------- + +.. autofunction:: geocube.vector.vectorize + + +show_versions +------------------------- + +.. autofunction:: geocube.show_versions + + +exceptions +------------------------- + +.. automodule:: geocube.exceptions + :members: + :undoc-members: + :show-inheritance: diff --git a/refs/tags/0.7.0/_sources/getting_started.rst.txt b/refs/tags/0.7.0/_sources/getting_started.rst.txt new file mode 100644 index 0000000..e86596a --- /dev/null +++ b/refs/tags/0.7.0/_sources/getting_started.rst.txt @@ -0,0 +1,43 @@ +Getting Started +================ + +`geocube` combines the interfaces of: + +- `geopandas `__ +- `xarray `__ +- `rioxarray `__ + +and is powered by `GDAL `__ using: + +- `rasterio `__ +- `pyogrio `__ +- `odc-geo `__ + + +When getting started, the API documentation to start reading would be :func:`geocube.api.core.make_geocube`. + +The simplest example would be to rasterize a single column: + +.. code-block:: python + + from geocube.api.core import make_geocube + + out_grid = make_geocube( + vector_data="path_to_file.gpkg", + measurements=["column_name"], + resolution=(-0.0001, 0.0001), + ) + out_grid["column_name"].rio.to_raster("my_rasterized_column.tif") + + +You can also rasterize a `GeoDataFrame `__ +directly in the `vector_data` argument. This enables you to `load in subsets of data `__ +or perform various operations before rasterization. + +Once finished, you can write to anything supported by `rasterio `__ +using `rioxarray`'s `rio.to_raster() `__ method. +You can also write to a netCDF file using `xarray`'s `to_netcdf() `__. + +However, life is only this simple when your data is perfectly clean, geospatially unique, and numeric. +The good news is that geocube supports a variety of use cases and custom rasterization functions if your dataset +does not meet these criteria (see: :ref:`usage_examples`). diff --git a/refs/tags/0.7.0/_sources/history.rst.txt b/refs/tags/0.7.0/_sources/history.rst.txt new file mode 100644 index 0000000..4c6dcff --- /dev/null +++ b/refs/tags/0.7.0/_sources/history.rst.txt @@ -0,0 +1,150 @@ +History +======= + +0.7.0 +------ +- DEP: remove numpy<2 pin (pull #179) +- REF: Make kwargs required (pull #180) + +0.6.0 +------ +- DEP: Update to geopandas 1 (pull #176) + +0.5.3 +------ +- DEP: Pin geopandas<1 & numpy<2 (pull #175) +- MNT: Use pyproject.toml for project metadata (pull #172) + +0.5.2 +------ +- BUG: Recalc transform when vectorizing (issue #165) + +0.5.1 +------ +- Add default value in vectorize when dataarray has no name, and a warning (pull #166) + +0.5.0 +------ +- BUG: Ignore categorical columns not in measurements (pull #161) +- ENH: Read subset of measurements for efficiency (pull #161) + +0.4.3 +------- +- DEP: Support Python 3.10+ (pull #156) +- BUG: Update minimize dtype for int64 & int8 support (issue #139) +- BUG: Support pandas IntegerArray (pull #158) + +0.4.2 +------- +- BUG: Fix conversion to datetime64[ns] for naive datetimes (pull #145) + +0.4.1 +------- +- BUG: Fix conversion to datetime64[ns] (pull #143) +- BUG: Fix :func:`geocube.vector.vectorize` when nodata is None (pull #142) + +0.4.0 +------- +- DEP: Drop Python 3.8 Support (issue #136) +- ENH: Add :func:`geocube.vector.vectorize` (issue #65) + +0.3.3 +------ +- BUG: Allow resolution in list format (pull #122) + +0.3.2 +------ +- MNT: corrections to setup.cfg; use "pytest"; add "make dist" target (pull #111) +- BUG: Write transform on output dataset (pull #112) + +0.3.1 +------ +- TYPE: Modified NDArray import for typing (pull #106) + +0.3.0 +------- +- BUG: Handle input CRS without EPSG (pull #105) +- TYPE: Added type hints (pull #101) + +0.2.0 +------- +- DEP: Replace datacube with odc-geo (issue #90) + +0.1.2 +------ +- BUG: Fix width and height order to the one used in rioxarray (issue #93) + +0.1.1 +------- +- DEP: Drop Python 3.7 Support (issue #86) +- BUG: Updated logic to skip rasterizing strings for numpy 1.22+ (issue #88) + +0.1.0 +------ +- ENH: Minimize dtype when possible in `geocube.rasterize.rasterize_image` (issue #72) +- REF: remove unnecessary shapely.geometry.mapping in rasterize_image (#80) +- ENH: `vector_data` to read path-like objects (pull #81) + +0.0.18 +------ +- DEP: Explicitly add scipy as dependency (pull #75) + +0.0.17 +------ +- DEP: Python 3.7+ (#67) +- REF: Write grid_mapping to encoding instead of attrs (#66) + +0.0.16 +------ +- BUG: Compatibility with rioxarray 0.3 (#57) + +0.0.15 +------ +- Address xarray & numpy deprecations (#43) + +0.0.14 +------ +- Add "all_touched" keyword argument to geocube.rasterize.rasterize_image (pull #40) + +0.0.13 +------ +- Address deprecation warnings from datacube and rioxarray (issue #29) + +0.0.12 +------ +- ENH: Added :func:`geocube.show_versions` and cli `geocube --show-versions` (pull #23) +- Add compatibility between datacube and geopandas CRS versions (pull #24) + +0.0.11 +------ +- Drop Python 3.5 Support (issue #12) +- ENH: Update to support geopandas with pyproj.CRS (pull #18) +- BUG: Update timestamp handling to ensure correct format for dtype (pull #18) + +0.0.10 +------ +- Added filter_nan kwarg to filter out missing data when rasterizing (issue #9) +- Change default fill value to NaN when rasterizing (pull #11) + +0.0.9 +----- +- Added `rescale` kwarg to `geocube.rasterize.rasterize_points_griddata`. (pull #8) +- Removed `fillna(numpy.nan)` in `geocube.geo_utils.geobox.load_vector_data` as not necessary + and for compatibility with `geopandas==0.6.0`. (pull #8) + +0.0.8 +----- +- Add merge algorithm option for rasterization (issue #5) +- Drop Python 2 support (issue #6) + +0.0.7 +----- +- Remove geocube pin (pull #4) + +0.0.6 +----- +- Added additional methods for resampling points to a 2D grid (pull #3) + +0.0.5 +----- +- Fix converting to another projection to ensure bounds are correctly accounted for (pull #2) diff --git a/refs/tags/0.7.0/_sources/index.rst.txt b/refs/tags/0.7.0/_sources/index.rst.txt new file mode 100644 index 0000000..7d106db --- /dev/null +++ b/refs/tags/0.7.0/_sources/index.rst.txt @@ -0,0 +1,23 @@ +Welcome to geocube's documentation! +====================================== + +GitHub: http://github.com/corteva/geocube + +.. toctree:: + :maxdepth: 1 + :caption: Contents: + + readme + installation + getting_started + examples/examples + modules + contributing + authors + history + +Indices and tables +================== +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/refs/tags/0.7.0/_sources/installation.rst.txt b/refs/tags/0.7.0/_sources/installation.rst.txt new file mode 100644 index 0000000..4e549c8 --- /dev/null +++ b/refs/tags/0.7.0/_sources/installation.rst.txt @@ -0,0 +1,65 @@ +.. highlight:: shell + +============ +Installation +============ + + +Stable release +-------------- + +Use pip to install from `PyPI `__: + + +Install from pip: + +.. code-block:: bash + + python -m pip install geocube + + +Use `conda `__ with the `conda-forge `__ channel: + +.. code-block:: bash + + conda config --prepend channels conda-forge + conda config --set channel_priority strict + conda create -n geocube_env geocube + conda activate geocube_env + +- `geocube` `conda-forge repository `__ + +.. note:: + "... we recommend always installing your packages inside a + new environment instead of the base environment from + anaconda/miniconda. Using envs make it easier to + debug problems with packages and ensure the stability + of your root env." + -- https://conda-forge.org/docs/user/tipsandtricks.html + +.. warning:: + Avoid using `pip install` with a conda environment. If you encounter + a python package that isn't in conda-forge, consider submitting a + recipe: https://github.com/conda-forge/staged-recipes/ + + +From source +----------- + +The source for geocube can be installed from the `GitHub repo`_. + +.. code-block:: bash + + python -m pip install git+git://github.com/corteva/geocube.git#egg=geocube + + +To install for local development: + +.. code-block:: bash + + git clone git@github.com:corteva/geocube.git + cd geocube + python -m pip install -e .[dev] + + +.. _GitHub repo: https://github.com/corteva/geocube diff --git a/refs/tags/0.7.0/_sources/modules.rst.txt b/refs/tags/0.7.0/_sources/modules.rst.txt new file mode 100644 index 0000000..1461fbb --- /dev/null +++ b/refs/tags/0.7.0/_sources/modules.rst.txt @@ -0,0 +1,11 @@ +API Documentation +================= + +This page serves as the index for the lower level per-module documentation tree. + +.. toctree:: + :maxdepth: 6 + :caption: Contents: + + geocube + cli diff --git a/refs/tags/0.7.0/_sources/readme.rst.txt b/refs/tags/0.7.0/_sources/readme.rst.txt new file mode 100644 index 0000000..72a3355 --- /dev/null +++ b/refs/tags/0.7.0/_sources/readme.rst.txt @@ -0,0 +1 @@ +.. include:: ../README.rst diff --git a/refs/tags/0.7.0/_static/_sphinx_javascript_frameworks_compat.js b/refs/tags/0.7.0/_static/_sphinx_javascript_frameworks_compat.js new file mode 100644 index 0000000..8141580 --- /dev/null +++ b/refs/tags/0.7.0/_static/_sphinx_javascript_frameworks_compat.js @@ -0,0 +1,123 @@ +/* Compatability shim for jQuery and underscores.js. + * + * Copyright Sphinx contributors + * Released under the two clause BSD licence + */ + +/** + * small helper function to urldecode strings + * + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL + */ +jQuery.urldecode = function(x) { + if (!x) { + return x + } + return decodeURIComponent(x.replace(/\+/g, ' ')); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.className = className; + } + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + if (isInSVG) { + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + var bbox = node.parentElement.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} diff --git a/refs/tags/0.7.0/_static/basic.css b/refs/tags/0.7.0/_static/basic.css new file mode 100644 index 0000000..f316efc --- /dev/null +++ b/refs/tags/0.7.0/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/refs/tags/0.7.0/_static/css/badge_only.css b/refs/tags/0.7.0/_static/css/badge_only.css new file mode 100644 index 0000000..88ba55b --- /dev/null +++ b/refs/tags/0.7.0/_static/css/badge_only.css @@ -0,0 +1 @@ +.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions .rst-other-versions .rtd-current-item{font-weight:700}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}#flyout-search-form{padding:6px} \ No newline at end of file diff --git a/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Bold.woff b/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Bold.woff new file mode 100644 index 0000000..6cb6000 Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Bold.woff differ diff --git a/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Bold.woff2 b/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Bold.woff2 new file mode 100644 index 0000000..7059e23 Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Bold.woff2 differ diff --git a/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Regular.woff b/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Regular.woff new file mode 100644 index 0000000..f815f63 Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Regular.woff differ diff --git a/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Regular.woff2 b/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Regular.woff2 new file mode 100644 index 0000000..f2c76e5 Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/Roboto-Slab-Regular.woff2 differ diff --git a/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.eot b/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.eot differ diff --git a/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.svg b/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..855c845 --- /dev/null +++ b/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.ttf b/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.ttf differ diff --git a/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.woff b/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.woff differ diff --git a/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.woff2 b/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/fontawesome-webfont.woff2 differ diff --git a/refs/tags/0.7.0/_static/css/fonts/lato-bold-italic.woff b/refs/tags/0.7.0/_static/css/fonts/lato-bold-italic.woff new file mode 100644 index 0000000..88ad05b Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/lato-bold-italic.woff differ diff --git a/refs/tags/0.7.0/_static/css/fonts/lato-bold-italic.woff2 b/refs/tags/0.7.0/_static/css/fonts/lato-bold-italic.woff2 new file mode 100644 index 0000000..c4e3d80 Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/lato-bold-italic.woff2 differ diff --git a/refs/tags/0.7.0/_static/css/fonts/lato-bold.woff b/refs/tags/0.7.0/_static/css/fonts/lato-bold.woff new file mode 100644 index 0000000..c6dff51 Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/lato-bold.woff differ diff --git a/refs/tags/0.7.0/_static/css/fonts/lato-bold.woff2 b/refs/tags/0.7.0/_static/css/fonts/lato-bold.woff2 new file mode 100644 index 0000000..bb19504 Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/lato-bold.woff2 differ diff --git a/refs/tags/0.7.0/_static/css/fonts/lato-normal-italic.woff b/refs/tags/0.7.0/_static/css/fonts/lato-normal-italic.woff new file mode 100644 index 0000000..76114bc Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/lato-normal-italic.woff differ diff --git a/refs/tags/0.7.0/_static/css/fonts/lato-normal-italic.woff2 b/refs/tags/0.7.0/_static/css/fonts/lato-normal-italic.woff2 new file mode 100644 index 0000000..3404f37 Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/lato-normal-italic.woff2 differ diff --git a/refs/tags/0.7.0/_static/css/fonts/lato-normal.woff b/refs/tags/0.7.0/_static/css/fonts/lato-normal.woff new file mode 100644 index 0000000..ae1307f Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/lato-normal.woff differ diff --git a/refs/tags/0.7.0/_static/css/fonts/lato-normal.woff2 b/refs/tags/0.7.0/_static/css/fonts/lato-normal.woff2 new file mode 100644 index 0000000..3bf9843 Binary files /dev/null and b/refs/tags/0.7.0/_static/css/fonts/lato-normal.woff2 differ diff --git a/refs/tags/0.7.0/_static/css/theme.css b/refs/tags/0.7.0/_static/css/theme.css new file mode 100644 index 0000000..6843d97 --- /dev/null +++ b/refs/tags/0.7.0/_static/css/theme.css @@ -0,0 +1,4 @@ +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search .wy-dropdown>aactive,.wy-side-nav-search .wy-dropdown>afocus,.wy-side-nav-search>a:hover,.wy-side-nav-search>aactive,.wy-side-nav-search>afocus{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon,.wy-side-nav-search>a.icon{display:block}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.switch-menus{position:relative;display:block;margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-side-nav-search>div.switch-menus>div.language-switch,.wy-side-nav-search>div.switch-menus>div.version-switch{display:inline-block;padding:.2em}.wy-side-nav-search>div.switch-menus>div.language-switch select,.wy-side-nav-search>div.switch-menus>div.version-switch select{display:inline-block;margin-right:-2rem;padding-right:2rem;max-width:240px;text-align-last:center;background:none;border:none;border-radius:0;box-shadow:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-size:1em;font-weight:400;color:hsla(0,0%,100%,.3);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.wy-side-nav-search>div.switch-menus>div.language-switch select:active,.wy-side-nav-search>div.switch-menus>div.language-switch select:focus,.wy-side-nav-search>div.switch-menus>div.language-switch select:hover,.wy-side-nav-search>div.switch-menus>div.version-switch select:active,.wy-side-nav-search>div.switch-menus>div.version-switch select:focus,.wy-side-nav-search>div.switch-menus>div.version-switch select:hover{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.5)}.wy-side-nav-search>div.switch-menus>div.language-switch:has(>select):after,.wy-side-nav-search>div.switch-menus>div.version-switch:has(>select):after{display:inline-block;width:1.5em;height:100%;padding:.1em;content:"\f0d7";font-size:1em;line-height:1.2em;font-family:FontAwesome;text-align:center;pointer-events:none;box-sizing:border-box}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions .rst-other-versions .rtd-current-item{font-weight:700}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}#flyout-search-form{padding:6px}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel,.rst-content .menuselection{font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .guilabel,.rst-content .menuselection{border:1px solid #7fbbe3;background:#e7f2fa}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} \ No newline at end of file diff --git a/refs/tags/0.7.0/_static/doctools.js b/refs/tags/0.7.0/_static/doctools.js new file mode 100644 index 0000000..4d67807 --- /dev/null +++ b/refs/tags/0.7.0/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/refs/tags/0.7.0/_static/documentation_options.js b/refs/tags/0.7.0/_static/documentation_options.js new file mode 100644 index 0000000..3c89f43 --- /dev/null +++ b/refs/tags/0.7.0/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '0.7.0', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/refs/tags/0.7.0/_static/file.png b/refs/tags/0.7.0/_static/file.png new file mode 100644 index 0000000..a858a41 Binary files /dev/null and b/refs/tags/0.7.0/_static/file.png differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.eot b/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.eot new file mode 100644 index 0000000..3361183 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.eot differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.ttf b/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.ttf new file mode 100644 index 0000000..29f691d Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.ttf differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.woff b/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.woff new file mode 100644 index 0000000..c6dff51 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.woff differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.woff2 b/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.woff2 new file mode 100644 index 0000000..bb19504 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-bold.woff2 differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.eot b/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.eot new file mode 100644 index 0000000..3d41549 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.eot differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.ttf b/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.ttf new file mode 100644 index 0000000..f402040 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.ttf differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.woff b/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.woff new file mode 100644 index 0000000..88ad05b Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.woff differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.woff2 b/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.woff2 new file mode 100644 index 0000000..c4e3d80 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-bolditalic.woff2 differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.eot b/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.eot new file mode 100644 index 0000000..3f82642 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.eot differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.ttf b/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.ttf new file mode 100644 index 0000000..b4bfc9b Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.ttf differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.woff b/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.woff new file mode 100644 index 0000000..76114bc Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.woff differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.woff2 b/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.woff2 new file mode 100644 index 0000000..3404f37 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-italic.woff2 differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.eot b/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.eot new file mode 100644 index 0000000..11e3f2a Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.eot differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.ttf b/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.ttf new file mode 100644 index 0000000..74decd9 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.ttf differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.woff b/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.woff new file mode 100644 index 0000000..ae1307f Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.woff differ diff --git a/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.woff2 b/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.woff2 new file mode 100644 index 0000000..3bf9843 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/Lato/lato-regular.woff2 differ diff --git a/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot new file mode 100644 index 0000000..79dc8ef Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot differ diff --git a/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf new file mode 100644 index 0000000..df5d1df Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf differ diff --git a/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff new file mode 100644 index 0000000..6cb6000 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff differ diff --git a/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 new file mode 100644 index 0000000..7059e23 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 differ diff --git a/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot new file mode 100644 index 0000000..2f7ca78 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot differ diff --git a/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf new file mode 100644 index 0000000..eb52a79 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf differ diff --git a/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff new file mode 100644 index 0000000..f815f63 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff differ diff --git a/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 new file mode 100644 index 0000000..f2c76e5 Binary files /dev/null and b/refs/tags/0.7.0/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 differ diff --git a/refs/tags/0.7.0/_static/jquery.js b/refs/tags/0.7.0/_static/jquery.js new file mode 100644 index 0000000..c4c6022 --- /dev/null +++ b/refs/tags/0.7.0/_static/jquery.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0"),n("table.docutils.footnote").wrap("
"),n("table.docutils.citation").wrap("
"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t[0].scrollIntoView()}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t +
Languages
+ ${config.projects.translations + .map( + (translation) => ` +
+ ${translation.language.code} +
+ `, + ) + .join("\n")} + + `; + return languagesHTML; + } + + function renderVersions(config) { + if (!config.versions.active.length) { + return ""; + } + const versionsHTML = ` +
+
Versions
+ ${config.versions.active + .map( + (version) => ` +
+ ${version.slug} +
+ `, + ) + .join("\n")} +
+ `; + return versionsHTML; + } + + function renderDownloads(config) { + if (!Object.keys(config.versions.current.downloads).length) { + return ""; + } + const downloadsNameDisplay = { + pdf: "PDF", + epub: "Epub", + htmlzip: "HTML", + }; + + const downloadsHTML = ` +
+
Downloads
+ ${Object.entries(config.versions.current.downloads) + .map( + ([name, url]) => ` +
+ ${downloadsNameDisplay[name]} +
+ `, + ) + .join("\n")} +
+ `; + return downloadsHTML; + } + + document.addEventListener("readthedocs-addons-data-ready", function (event) { + const config = event.detail.data(); + + const flyout = ` +
+ + Read the Docs + v: ${config.versions.current.slug} + + +
+
+ ${renderLanguages(config)} + ${renderVersions(config)} + ${renderDownloads(config)} +
+
On Read the Docs
+
+ Project Home +
+
+ Builds +
+
+ Downloads +
+
+
+
Search
+
+
+ +
+
+
+
+ + Hosted by Read the Docs + +
+
+ `; + + // Inject the generated flyout into the body HTML element. + document.body.insertAdjacentHTML("beforeend", flyout); + + // Trigger the Read the Docs Addons Search modal when clicking on the "Search docs" input from inside the flyout. + document + .querySelector("#flyout-search-form") + .addEventListener("focusin", () => { + const event = new CustomEvent("readthedocs-search-show"); + document.dispatchEvent(event); + }); + }) +} + +if (themeLanguageSelector || themeVersionSelector) { + function onSelectorSwitch(event) { + const option = event.target.selectedIndex; + const item = event.target.options[option]; + window.location.href = item.dataset.url; + } + + document.addEventListener("readthedocs-addons-data-ready", function (event) { + const config = event.detail.data(); + + const versionSwitch = document.querySelector( + "div.switch-menus > div.version-switch", + ); + if (themeVersionSelector) { + let versions = config.versions.active; + if (config.versions.current.hidden || config.versions.current.type === "external") { + versions.unshift(config.versions.current); + } + const versionSelect = ` + + `; + + versionSwitch.innerHTML = versionSelect; + versionSwitch.firstElementChild.addEventListener("change", onSelectorSwitch); + } + + const languageSwitch = document.querySelector( + "div.switch-menus > div.language-switch", + ); + + if (themeLanguageSelector) { + if (config.projects.translations.length) { + // Add the current language to the options on the selector + let languages = config.projects.translations.concat( + config.projects.current, + ); + languages = languages.sort((a, b) => + a.language.name.localeCompare(b.language.name), + ); + + const languageSelect = ` + + `; + + languageSwitch.innerHTML = languageSelect; + languageSwitch.firstElementChild.addEventListener("change", onSelectorSwitch); + } + else { + languageSwitch.remove(); + } + } + }); +} + +document.addEventListener("readthedocs-addons-data-ready", function (event) { + // Trigger the Read the Docs Addons Search modal when clicking on "Search docs" input from the topnav. + document + .querySelector("[role='search'] input") + .addEventListener("focusin", () => { + const event = new CustomEvent("readthedocs-search-show"); + document.dispatchEvent(event); + }); +}); \ No newline at end of file diff --git a/refs/tags/0.7.0/_static/language_data.js b/refs/tags/0.7.0/_static/language_data.js new file mode 100644 index 0000000..367b8ed --- /dev/null +++ b/refs/tags/0.7.0/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, if available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/refs/tags/0.7.0/_static/minus.png b/refs/tags/0.7.0/_static/minus.png new file mode 100644 index 0000000..d96755f Binary files /dev/null and b/refs/tags/0.7.0/_static/minus.png differ diff --git a/refs/tags/0.7.0/_static/nbsphinx-broken-thumbnail.svg b/refs/tags/0.7.0/_static/nbsphinx-broken-thumbnail.svg new file mode 100644 index 0000000..4919ca8 --- /dev/null +++ b/refs/tags/0.7.0/_static/nbsphinx-broken-thumbnail.svg @@ -0,0 +1,9 @@ + + + + diff --git a/refs/tags/0.7.0/_static/nbsphinx-code-cells.css b/refs/tags/0.7.0/_static/nbsphinx-code-cells.css new file mode 100644 index 0000000..a3fb27c --- /dev/null +++ b/refs/tags/0.7.0/_static/nbsphinx-code-cells.css @@ -0,0 +1,259 @@ +/* remove conflicting styling from Sphinx themes */ +div.nbinput.container div.prompt *, +div.nboutput.container div.prompt *, +div.nbinput.container div.input_area pre, +div.nboutput.container div.output_area pre, +div.nbinput.container div.input_area .highlight, +div.nboutput.container div.output_area .highlight { + border: none; + padding: 0; + margin: 0; + box-shadow: none; +} + +div.nbinput.container > div[class*=highlight], +div.nboutput.container > div[class*=highlight] { + margin: 0; +} + +div.nbinput.container div.prompt *, +div.nboutput.container div.prompt * { + background: none; +} + +div.nboutput.container div.output_area .highlight, +div.nboutput.container div.output_area pre { + background: unset; +} + +div.nboutput.container div.output_area div.highlight { + color: unset; /* override Pygments text color */ +} + +/* avoid gaps between output lines */ +div.nboutput.container div[class*=highlight] pre { + line-height: normal; +} + +/* input/output containers */ +div.nbinput.container, +div.nboutput.container { + display: -webkit-flex; + display: flex; + align-items: flex-start; + margin: 0; + width: 100%; +} +@media (max-width: 540px) { + div.nbinput.container, + div.nboutput.container { + flex-direction: column; + } +} + +/* input container */ +div.nbinput.container { + padding-top: 5px; +} + +/* last container */ +div.nblast.container { + padding-bottom: 5px; +} + +/* input prompt */ +div.nbinput.container div.prompt pre, +/* for sphinx_immaterial theme: */ +div.nbinput.container div.prompt pre > code { + color: #307FC1; +} + +/* output prompt */ +div.nboutput.container div.prompt pre, +/* for sphinx_immaterial theme: */ +div.nboutput.container div.prompt pre > code { + color: #BF5B3D; +} + +/* all prompts */ +div.nbinput.container div.prompt, +div.nboutput.container div.prompt { + width: 4.5ex; + padding-top: 5px; + position: relative; + user-select: none; +} + +div.nbinput.container div.prompt > div, +div.nboutput.container div.prompt > div { + position: absolute; + right: 0; + margin-right: 0.3ex; +} + +@media (max-width: 540px) { + div.nbinput.container div.prompt, + div.nboutput.container div.prompt { + width: unset; + text-align: left; + padding: 0.4em; + } + div.nboutput.container div.prompt.empty { + padding: 0; + } + + div.nbinput.container div.prompt > div, + div.nboutput.container div.prompt > div { + position: unset; + } +} + +/* disable scrollbars and line breaks on prompts */ +div.nbinput.container div.prompt pre, +div.nboutput.container div.prompt pre { + overflow: hidden; + white-space: pre; +} + +/* input/output area */ +div.nbinput.container div.input_area, +div.nboutput.container div.output_area { + -webkit-flex: 1; + flex: 1; + overflow: auto; +} +@media (max-width: 540px) { + div.nbinput.container div.input_area, + div.nboutput.container div.output_area { + width: 100%; + } +} + +/* input area */ +div.nbinput.container div.input_area { + border: 1px solid #e0e0e0; + border-radius: 2px; + /*background: #f5f5f5;*/ +} + +/* override MathJax center alignment in output cells */ +div.nboutput.container div[class*=MathJax] { + text-align: left !important; +} + +/* override sphinx.ext.imgmath center alignment in output cells */ +div.nboutput.container div.math p { + text-align: left; +} + +/* standard error */ +div.nboutput.container div.output_area.stderr { + background: #fdd; +} + +/* ANSI colors */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-default-inverse-fg { color: #FFFFFF; } +.ansi-default-inverse-bg { background-color: #000000; } + +.ansi-bold { font-weight: bold; } +.ansi-underline { text-decoration: underline; } + + +div.nbinput.container div.input_area div[class*=highlight] > pre, +div.nboutput.container div.output_area div[class*=highlight] > pre, +div.nboutput.container div.output_area div[class*=highlight].math, +div.nboutput.container div.output_area.rendered_html, +div.nboutput.container div.output_area > div.output_javascript, +div.nboutput.container div.output_area:not(.rendered_html) > img{ + padding: 5px; + margin: 0; +} + +/* fix copybtn overflow problem in chromium (needed for 'sphinx_copybutton') */ +div.nbinput.container div.input_area > div[class^='highlight'], +div.nboutput.container div.output_area > div[class^='highlight']{ + overflow-y: hidden; +} + +/* hide copy button on prompts for 'sphinx_copybutton' extension ... */ +.prompt .copybtn, +/* ... and 'sphinx_immaterial' theme */ +.prompt .md-clipboard.md-icon { + display: none; +} + +/* Some additional styling taken form the Jupyter notebook CSS */ +.jp-RenderedHTMLCommon table, +div.rendered_html table { + border: none; + border-collapse: collapse; + border-spacing: 0; + color: black; + font-size: 12px; + table-layout: fixed; +} +.jp-RenderedHTMLCommon thead, +div.rendered_html thead { + border-bottom: 1px solid black; + vertical-align: bottom; +} +.jp-RenderedHTMLCommon tr, +.jp-RenderedHTMLCommon th, +.jp-RenderedHTMLCommon td, +div.rendered_html tr, +div.rendered_html th, +div.rendered_html td { + text-align: right; + vertical-align: middle; + padding: 0.5em 0.5em; + line-height: normal; + white-space: normal; + max-width: none; + border: none; +} +.jp-RenderedHTMLCommon th, +div.rendered_html th { + font-weight: bold; +} +.jp-RenderedHTMLCommon tbody tr:nth-child(odd), +div.rendered_html tbody tr:nth-child(odd) { + background: #f5f5f5; +} +.jp-RenderedHTMLCommon tbody tr:hover, +div.rendered_html tbody tr:hover { + background: rgba(66, 165, 245, 0.2); +} + diff --git a/refs/tags/0.7.0/_static/nbsphinx-gallery.css b/refs/tags/0.7.0/_static/nbsphinx-gallery.css new file mode 100644 index 0000000..365c27a --- /dev/null +++ b/refs/tags/0.7.0/_static/nbsphinx-gallery.css @@ -0,0 +1,31 @@ +.nbsphinx-gallery { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); + gap: 5px; + margin-top: 1em; + margin-bottom: 1em; +} + +.nbsphinx-gallery > a { + padding: 5px; + border: 1px dotted currentColor; + border-radius: 2px; + text-align: center; +} + +.nbsphinx-gallery > a:hover { + border-style: solid; +} + +.nbsphinx-gallery img { + max-width: 100%; + max-height: 100%; +} + +.nbsphinx-gallery > a > div:first-child { + display: flex; + align-items: start; + justify-content: center; + height: 120px; + margin-bottom: 5px; +} diff --git a/refs/tags/0.7.0/_static/nbsphinx-no-thumbnail.svg b/refs/tags/0.7.0/_static/nbsphinx-no-thumbnail.svg new file mode 100644 index 0000000..9dca758 --- /dev/null +++ b/refs/tags/0.7.0/_static/nbsphinx-no-thumbnail.svg @@ -0,0 +1,9 @@ + + + + diff --git a/refs/tags/0.7.0/_static/plus.png b/refs/tags/0.7.0/_static/plus.png new file mode 100644 index 0000000..7107cec Binary files /dev/null and b/refs/tags/0.7.0/_static/plus.png differ diff --git a/refs/tags/0.7.0/_static/pygments.css b/refs/tags/0.7.0/_static/pygments.css new file mode 100644 index 0000000..0d49244 --- /dev/null +++ b/refs/tags/0.7.0/_static/pygments.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #eeffcc; } +.highlight .c { color: #408090; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #007020; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #007020 } /* Comment.Preproc */ +.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #333333 } /* Generic.Output */ +.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #007020 } /* Keyword.Pseudo */ +.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #902000 } /* Keyword.Type */ +.highlight .m { color: #208050 } /* Literal.Number */ +.highlight .s { color: #4070a0 } /* Literal.String */ +.highlight .na { color: #4070a0 } /* Name.Attribute */ +.highlight .nb { color: #007020 } /* Name.Builtin */ +.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ +.highlight .no { color: #60add5 } /* Name.Constant */ +.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #007020 } /* Name.Exception */ +.highlight .nf { color: #06287e } /* Name.Function */ +.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ +.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #bb60d5 } /* Name.Variable */ +.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #208050 } /* Literal.Number.Bin */ +.highlight .mf { color: #208050 } /* Literal.Number.Float */ +.highlight .mh { color: #208050 } /* Literal.Number.Hex */ +.highlight .mi { color: #208050 } /* Literal.Number.Integer */ +.highlight .mo { color: #208050 } /* Literal.Number.Oct */ +.highlight .sa { color: #4070a0 } /* Literal.String.Affix */ +.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ +.highlight .sc { color: #4070a0 } /* Literal.String.Char */ +.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */ +.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4070a0 } /* Literal.String.Double */ +.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ +.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ +.highlight .sx { color: #c65d09 } /* Literal.String.Other */ +.highlight .sr { color: #235388 } /* Literal.String.Regex */ +.highlight .s1 { color: #4070a0 } /* Literal.String.Single */ +.highlight .ss { color: #517918 } /* Literal.String.Symbol */ +.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #06287e } /* Name.Function.Magic */ +.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ +.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ +.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ +.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */ +.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/refs/tags/0.7.0/_static/searchtools.js b/refs/tags/0.7.0/_static/searchtools.js new file mode 100644 index 0000000..b08d58c --- /dev/null +++ b/refs/tags/0.7.0/_static/searchtools.js @@ -0,0 +1,620 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms, highlightTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = contentRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = contentRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) { + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms, anchor) + ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + "Search finished, found ${resultCount} page(s) matching the search query." + ).replace('${resultCount}', resultCount); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms, + highlightTerms, +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms, highlightTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString, anchor) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + for (const removalQuery of [".headerlink", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent) return docContent.textContent; + + console.warn( + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + _parseQuery: (query) => { + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename]. + const normalResults = []; + const nonMainIndexResults = []; + + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase().trim(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + const score = Math.round(Scorer.title * queryLower.length / title.length); + const boost = titles[file] === title ? 1 : 0; // add a boost for document titles + normalResults.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score + boost, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } + } + } + } + + // lookup as object + objectTerms.forEach((term) => + normalResults.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } + + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms, highlightTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/refs/tags/0.7.0/_static/sphinx_highlight.js b/refs/tags/0.7.0/_static/sphinx_highlight.js new file mode 100644 index 0000000..8a96c69 --- /dev/null +++ b/refs/tags/0.7.0/_static/sphinx_highlight.js @@ -0,0 +1,154 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); + parent.insertBefore( + span, + parent.insertBefore( + rest, + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/refs/tags/0.7.0/authors.html b/refs/tags/0.7.0/authors.html new file mode 100644 index 0000000..3a32b0b --- /dev/null +++ b/refs/tags/0.7.0/authors.html @@ -0,0 +1,149 @@ + + + + + + + + + Contributors ✨ — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Contributors ✨

+

Thanks goes to these wonderful people (emoji key):

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Alan D. Snow

💻 🤔 💬 🐛 📖 💡 🚧 👀 ⚠️

Alfredo Delos Santos

🤔 👀

Justin Gruca

👀

Jordan Cook

📖

LiamRMoore

💻 ⚠️

Rambaud Pierrick

📖

Mike Taves

💻 📖 🚧

BENR0

🐛

Kirill Kouzoubov

👀

Sangzi Liang

👀

Ray Bell

📖

Mussab Abdalla

📖

Imanol

💻 ⚠️

RichardScottOZ

📖

Wei Ji

🚧
+ + + + +

This project follows the all-contributors specification. Contributions of any kind welcome!

+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/cli.html b/refs/tags/0.7.0/cli.html new file mode 100644 index 0000000..45cf5a4 --- /dev/null +++ b/refs/tags/0.7.0/cli.html @@ -0,0 +1,233 @@ + + + + + + + + + geocube.cli package — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

geocube.cli package

+
+

geocube

+

Top-level command and entry point into the GeoCube CLI

+
geocube [OPTIONS] COMMAND [ARGS]...
+
+
+

Options

+
+
+-v, --version
+

Show the current version

+
+ +
+
+--show-versions
+

Show debugging version information

+
+ +

Commands

+
+
+make-geocube
+

Utility to load vector data into the…

+
+ +
+
+

geocube make_geocube

+

Utility to load vector data into the xarray raster format.

+
geocube make_geocube [OPTIONS] VECTOR_DATA OUTPUT_FILE
+
+
+

Options

+
+
+-i, --interpolate-na-method <interpolate_na_method>
+

This is the method for interpolation to use to fill in the nodata.

+
+
Options:
+

linear | nearest | cubic

+
+
+
+ +
+
+-gb, --group-by <group_by>
+

When specified, perform basic combining/reducing of the data on this column.

+
+ +
+
+-f, --fill <fill>
+

The value to fill in the grid with for nodata. Default is NaN.

+
+ +
+
+-l, --like <like>
+

Uses the netCDF file output of a previous load() to form the basis of a request for another product.

+
+ +
+
+-g, --geom <geom>
+

GeoJSON string for the bounding box of the data used to construct the grid.

+
+ +
+
+-a, --align <align>
+

Load data such that point ‘align’ lies on the pixel boundary. Default is (0, 0).

+
+ +
+
+-r, --resolution <resolution>
+

A tuple of the spatial resolution of the returned data. Ex. -r -10 10.

+
+ +
+
+-c, --output-crs <output_crs>
+

The CRS of the returned data. (e.g. epsg:4326). If no CRS is supplied, the CRS of the input data is used.

+
+ +
+
+-m, --measurements <measurements>
+

Measurement subset to load in.

+
+ +

Arguments

+
+
+VECTOR_DATA
+

Required argument

+
+ +
+
+OUTPUT_FILE
+

Required argument

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/contributing.html b/refs/tags/0.7.0/contributing.html new file mode 100644 index 0000000..afc37da --- /dev/null +++ b/refs/tags/0.7.0/contributing.html @@ -0,0 +1,243 @@ + + + + + + + + + Contributing — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Contributing

+

Contributions are welcome, and they are greatly appreciated! Every little bit +helps, and credit will always be given.

+

You can contribute in many ways:

+
+

Types of Contributions

+
+

Report Bugs

+

Report bugs at https://github.com/corteva/geocube/issues.

+

If you are reporting a bug, please include:

+
    +
  • Your operating system name and version.

  • +
  • Any details about your local setup that might be helpful in troubleshooting.

  • +
  • Detailed steps to reproduce the bug.

  • +
+
+
+

Fix Bugs

+

Look through the GitLab issues for bugs. Anything tagged with “bug” and “help +wanted” is open to whoever wants to implement it.

+
+
+

Implement Features

+

Look through the GitLab issues for features. Anything tagged with “enhancement” +and “help wanted” is open to whoever wants to implement it.

+
+
+

Write Documentation

+

geocube could always use more documentation, whether as part of the +official geocube docs, in docstrings, or even on the web in blog posts, +articles, and such.

+
+
+

Submit Feedback

+

The best way to send feedback is to file an issue at https://github.com/corteva/geocube/issues.

+

If you are proposing a feature:

+
    +
  • Explain in detail how it would work.

  • +
  • Keep the scope as narrow as possible, to make it easier to implement.

  • +
  • Remember that this is a volunteer-driven project, and that contributions +are welcome :)

  • +
+
+
+
+

Get Started!

+

Ready to contribute? Here’s how to set up geocube for local development.

+
    +
  1. Fork the geocube repo on GitHub.

  2. +
  3. Clone your fork locally:

    +
    $ git clone git@github.com:your_name_here/geocube.git
    +
    +
    +
  4. +
  5. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development:

    +
    $ python -m venv geocube_env
    +$ cd geocube/
    +$ pip install -e .[dev]
    +
    +
    +
  6. +
  7. Setup pre-commit hooks:

    +
    $ pre-commit install
    +$ pre-commit autoupdate
    +
    +
    +
  8. +
  9. Create a branch for local development:

    +
    $ git checkout -b name-of-your-bugfix-or-feature
    +
    +
    +

    Now you can make your changes locally.

    +
  10. +
  11. When you’re done making changes, check that your changes pass flake8, are black formatter, +and the tests pass:

    +
    $ make check
    +$ make test
    +
    +
    +

    Or, if you cannot run makefile commands:

    +
    $ flake8 geocube/ test/
    +$ black --check .
    +$ pytest
    +
    +
    +
  12. +
  13. Commit your changes and push your branch to GitLab:

    +
    $ git add .
    +$ git commit -m "Your detailed description of your changes."
    +$ git push origin name-of-your-bugfix-or-feature
    +
    +
    +
  14. +
  15. Submit a pull request through the GitHub website.

  16. +
+
+
+

Pull Request Guidelines

+

Before you submit a pull request, check that it meets these guidelines:

+
    +
  1. The pull request should include tests.

  2. +
  3. If the pull request adds functionality, the docs should be updated. Put +your new functionality into a function with a docstring, and add the +feature to the list in README.rst.

  4. +
  5. The pull request should work for Python 3.10-3.12.

  6. +
+
+
+

Tips

+

To run a subset of tests:

+
$ pytest test/unit/cli/test_geocube.py::test_check_version
+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/examples/categorical.html b/refs/tags/0.7.0/examples/categorical.html new file mode 100644 index 0000000..417e89e --- /dev/null +++ b/refs/tags/0.7.0/examples/categorical.html @@ -0,0 +1,675 @@ + + + + + + + + + Example - Categorical Data — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Example - Categorical Data

+
+
[1]:
+
+
+
import geopandas
+import pandas
+
+from geocube.api.core import make_geocube
+
+%matplotlib inline
+
+
+
+
+

Load in soil data

+
+
[2]:
+
+
+
ssurgo_data = geopandas.read_file("../../test/test_data/input/soil_data_group.geojson")
+
+
+
+
+
[3]:
+
+
+
# original data
+ssurgo_data[ssurgo_data.hzdept_r==15].plot(column='sandtotal_r')
+
+
+
+
+
[3]:
+
+
+
+
+<matplotlib.axes._subplots.AxesSubplot at 0x7f9e210d3be0>
+
+
+
+
+
+
+../_images/examples_categorical_4_1.png +
+
+
+
+

Generate categories for categorical data

+

If your data is only a subset of all of the data, the list of categories you get will likely not be complete.

+

NOTE: The categories will be made unique and sorted internally if they are not already.

+
+
[4]:
+
+
+
# this is only a subset of all of the classes
+ssurgo_data.drclassdcd.drop_duplicates().values.tolist()
+
+
+
+
+
[4]:
+
+
+
+
+['Somewhat poorly drained',
+ 'Poorly drained',
+ 'Well drained',
+ 'Excessively drained']
+
+
+
+
[5]:
+
+
+
# complete list of categories
+drclasses_complete = [
+    'Poorly drained',
+    'Somewhat poorly drained',
+    'Excessively drained',
+    'Subaqueous',
+    'Well drained',
+    'Somewhat excessively drained',
+    'Very poorly drained',
+    'Moderately well drained'
+]
+
+
+
+
+
[6]:
+
+
+
categorical_enums = {'drclassdcd': drclasses_complete}
+
+
+
+
+
+

Convert data to grid

+

See docs for make_geocube

+
+
[7]:
+
+
+
out_grid = make_geocube(
+    vector_data=ssurgo_data,
+    output_crs="epsg:32615",
+    group_by='hzdept_r',
+    resolution=(-100, 100),
+    categorical_enums=categorical_enums
+)
+
+
+
+
+
[8]:
+
+
+
out_grid
+
+
+
+
+
[8]:
+
+
+
+
<xarray.Dataset>
+Dimensions:                (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)
+Coordinates:
+  * y                      (y) float64 4.597e+06 4.597e+06 ... 4.595e+06
+  * x                      (x) float64 7.004e+05 7.004e+05 ... 7.018e+05
+  * hzdept_r               (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0
+  * drclassdcd_categories  (drclassdcd_categories) object 'Excessively drained' ... 'nodata'
+    spatial_ref            int64 0
+Data variables:
+    drclassdcd             (hzdept_r, y, x) float64 -1.0 -1.0 -1.0 ... 7.0 7.0
+    hzdepb_r               (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0
+    claytotal_r            (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0
+    sandtotal_r            (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0
+    silttotal_r            (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0
+Attributes:
+    grid_mapping:  spatial_ref
+
+
+
[9]:
+
+
+
# mask nodata and plot
+clay_slice = out_grid.claytotal_r.sel(hzdept_r=15)
+clay_slice.where(clay_slice!=out_grid.claytotal_r.rio.nodata).plot()
+
+
+
+
+
[9]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x7f9e1e823748>
+
+
+
+
+
+
+../_images/examples_categorical_13_1.png +
+
+
+
+

Dealing with categorical data

+

Because the data needs to be numerical for conversion from vector to raster, the code displays the categories as numbers. To convert back to strings, you will need to use the categories provided to convert back.

+
+
[10]:
+
+
+
drclassdcd_slice = out_grid.drclassdcd.sel(hzdept_r=15)
+drclassdcd_slice.where(drclassdcd_slice!=out_grid.drclassdcd.rio.nodata).plot()
+
+
+
+
+
[10]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x7f9e1e76bc50>
+
+
+
+
+
+
+../_images/examples_categorical_16_1.png +
+
+
+
[11]:
+
+
+
drclassdcd_string = out_grid['drclassdcd_categories'][out_grid['drclassdcd'].astype(int)]\
+    .drop('drclassdcd_categories')
+
+
+
+
+
[12]:
+
+
+
out_grid['drclassdcd'] = drclassdcd_string
+out_grid
+
+
+
+
+
[12]:
+
+
+
+
<xarray.Dataset>
+Dimensions:                (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)
+Coordinates:
+  * y                      (y) float64 4.597e+06 4.597e+06 ... 4.595e+06
+  * x                      (x) float64 7.004e+05 7.004e+05 ... 7.018e+05
+  * hzdept_r               (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0
+  * drclassdcd_categories  (drclassdcd_categories) object 'Excessively drained' ... 'nodata'
+    spatial_ref            int64 0
+Data variables:
+    drclassdcd             (hzdept_r, y, x) object 'nodata' ... 'Well drained'
+    hzdepb_r               (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0
+    claytotal_r            (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0
+    sandtotal_r            (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0
+    silttotal_r            (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0
+Attributes:
+    grid_mapping:  spatial_ref
+
+
+
[13]:
+
+
+
pdf = out_grid.drop(['spatial_ref', 'drclassdcd_categories']).to_dataframe()
+pdf.head()
+
+
+
+
+
[13]:
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
drclassdcdhzdepb_rclaytotal_rsandtotal_rsilttotal_r
hzdept_rxy
0.0700350.04597050.0nodataNaNNaNNaNNaN
4596950.0Well drained5.026.038.036.0
4596850.0Well drained5.026.038.036.0
4596750.0Well drained5.026.038.036.0
4596650.0Well drained5.026.038.036.0
+
+
+
+

Make sure all categories are represented

+

To do this, convert the column type to categorical beforehand and make sure that you include all of the possible categories.

+
+
[14]:
+
+
+
cat_dtype = pandas.api.types.CategoricalDtype(out_grid.drclassdcd_categories.values)
+pdf['drclassdcd'] = pdf['drclassdcd'].astype(cat_dtype)
+
+
+
+
+
[15]:
+
+
+
training_df = pandas.get_dummies(pdf, columns=['drclassdcd'])
+training_df.head()
+
+
+
+
+
[15]:
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hzdepb_rclaytotal_rsandtotal_rsilttotal_rdrclassdcd_Excessively draineddrclassdcd_Moderately well draineddrclassdcd_Poorly draineddrclassdcd_Somewhat excessively draineddrclassdcd_Somewhat poorly draineddrclassdcd_Subaqueousdrclassdcd_Very poorly draineddrclassdcd_Well draineddrclassdcd_nodata
hzdept_rxy
0.0700350.04597050.0NaNNaNNaNNaN000000001
4596950.05.026.038.036.0000000010
4596850.05.026.038.036.0000000010
4596750.05.026.038.036.0000000010
4596650.05.026.038.036.0000000010
+
+
+
+
[16]:
+
+
+
training_df.columns
+
+
+
+
+
[16]:
+
+
+
+
+Index(['hzdepb_r', 'claytotal_r', 'sandtotal_r', 'silttotal_r',
+       'drclassdcd_Excessively drained', 'drclassdcd_Moderately well drained',
+       'drclassdcd_Poorly drained', 'drclassdcd_Somewhat excessively drained',
+       'drclassdcd_Somewhat poorly drained', 'drclassdcd_Subaqueous',
+       'drclassdcd_Very poorly drained', 'drclassdcd_Well drained',
+       'drclassdcd_nodata'],
+      dtype='object')
+
+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/examples/categorical.ipynb b/refs/tags/0.7.0/examples/categorical.ipynb new file mode 100644 index 0000000..580303f --- /dev/null +++ b/refs/tags/0.7.0/examples/categorical.ipynb @@ -0,0 +1,783 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Categorical Data" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "import pandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load in soil data" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "ssurgo_data = geopandas.read_file(\"../../test/test_data/input/soil_data_group.geojson\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# original data\n", + "ssurgo_data[ssurgo_data.hzdept_r==15].plot(column='sandtotal_r')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Generate categories for categorical data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If your data is only a subset of all of the data, the list of categories you get will likely not be complete.\n", + "\n", + "NOTE: The categories will be made unique and sorted internally if they are not already." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Somewhat poorly drained',\n", + " 'Poorly drained',\n", + " 'Well drained',\n", + " 'Excessively drained']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# this is only a subset of all of the classes\n", + "ssurgo_data.drclassdcd.drop_duplicates().values.tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# complete list of categories\n", + "drclasses_complete = [\n", + " 'Poorly drained',\n", + " 'Somewhat poorly drained',\n", + " 'Excessively drained',\n", + " 'Subaqueous',\n", + " 'Well drained',\n", + " 'Somewhat excessively drained',\n", + " 'Very poorly drained',\n", + " 'Moderately well drained'\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "categorical_enums = {'drclassdcd': drclasses_complete}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert data to grid\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "out_grid = make_geocube(\n", + " vector_data=ssurgo_data,\n", + " output_crs=\"epsg:32615\",\n", + " group_by='hzdept_r',\n", + " resolution=(-100, 100),\n", + " categorical_enums=categorical_enums\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<xarray.Dataset>\n",
+       "Dimensions:                (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n",
+       "Coordinates:\n",
+       "  * y                      (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n",
+       "  * x                      (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n",
+       "  * hzdept_r               (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n",
+       "  * drclassdcd_categories  (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n",
+       "    spatial_ref            int64 0\n",
+       "Data variables:\n",
+       "    drclassdcd             (hzdept_r, y, x) float64 -1.0 -1.0 -1.0 ... 7.0 7.0\n",
+       "    hzdepb_r               (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n",
+       "    claytotal_r            (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n",
+       "    sandtotal_r            (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n",
+       "    silttotal_r            (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n",
+       "Attributes:\n",
+       "    grid_mapping:  spatial_ref
" + ], + "text/plain": [ + "\n", + "Dimensions: (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n", + "Coordinates:\n", + " * y (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n", + " * x (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n", + " * hzdept_r (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n", + " * drclassdcd_categories (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " drclassdcd (hzdept_r, y, x) float64 -1.0 -1.0 -1.0 ... 7.0 7.0\n", + " hzdepb_r (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n", + " claytotal_r (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n", + " sandtotal_r (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n", + " silttotal_r (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "clay_slice = out_grid.claytotal_r.sel(hzdept_r=15)\n", + "clay_slice.where(clay_slice!=out_grid.claytotal_r.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Dealing with categorical data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because the data needs to be numerical for conversion from vector to raster, the code displays the categories as numbers. To convert back to strings, you will need to use the categories provided to convert back." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "drclassdcd_slice = out_grid.drclassdcd.sel(hzdept_r=15)\n", + "drclassdcd_slice.where(drclassdcd_slice!=out_grid.drclassdcd.rio.nodata).plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "drclassdcd_string = out_grid['drclassdcd_categories'][out_grid['drclassdcd'].astype(int)]\\\n", + " .drop('drclassdcd_categories')" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<xarray.Dataset>\n",
+       "Dimensions:                (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n",
+       "Coordinates:\n",
+       "  * y                      (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n",
+       "  * x                      (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n",
+       "  * hzdept_r               (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n",
+       "  * drclassdcd_categories  (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n",
+       "    spatial_ref            int64 0\n",
+       "Data variables:\n",
+       "    drclassdcd             (hzdept_r, y, x) object 'nodata' ... 'Well drained'\n",
+       "    hzdepb_r               (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n",
+       "    claytotal_r            (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n",
+       "    sandtotal_r            (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n",
+       "    silttotal_r            (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n",
+       "Attributes:\n",
+       "    grid_mapping:  spatial_ref
" + ], + "text/plain": [ + "\n", + "Dimensions: (drclassdcd_categories: 9, hzdept_r: 11, x: 15, y: 19)\n", + "Coordinates:\n", + " * y (y) float64 4.597e+06 4.597e+06 ... 4.595e+06\n", + " * x (x) float64 7.004e+05 7.004e+05 ... 7.018e+05\n", + " * hzdept_r (hzdept_r) float64 0.0 5.0 15.0 ... 105.0 120.0 150.0\n", + " * drclassdcd_categories (drclassdcd_categories) object 'Excessively drained' ... 'nodata'\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " drclassdcd (hzdept_r, y, x) object 'nodata' ... 'Well drained'\n", + " hzdepb_r (hzdept_r, y, x) float64 nan nan nan ... 180.0 180.0\n", + " claytotal_r (hzdept_r, y, x) float64 nan nan nan ... 21.0 21.0\n", + " sandtotal_r (hzdept_r, y, x) float64 nan nan nan ... 10.0 10.0\n", + " silttotal_r (hzdept_r, y, x) float64 nan nan nan ... 69.0 69.0\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out_grid['drclassdcd'] = drclassdcd_string\n", + "out_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "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", + "
drclassdcdhzdepb_rclaytotal_rsandtotal_rsilttotal_r
hzdept_rxy
0.0700350.04597050.0nodataNaNNaNNaNNaN
4596950.0Well drained5.026.038.036.0
4596850.0Well drained5.026.038.036.0
4596750.0Well drained5.026.038.036.0
4596650.0Well drained5.026.038.036.0
\n", + "
" + ], + "text/plain": [ + " drclassdcd hzdepb_r claytotal_r sandtotal_r \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 nodata NaN NaN NaN \n", + " 4596950.0 Well drained 5.0 26.0 38.0 \n", + " 4596850.0 Well drained 5.0 26.0 38.0 \n", + " 4596750.0 Well drained 5.0 26.0 38.0 \n", + " 4596650.0 Well drained 5.0 26.0 38.0 \n", + "\n", + " silttotal_r \n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 NaN \n", + " 4596950.0 36.0 \n", + " 4596850.0 36.0 \n", + " 4596750.0 36.0 \n", + " 4596650.0 36.0 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pdf = out_grid.drop(['spatial_ref', 'drclassdcd_categories']).to_dataframe()\n", + "pdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Make sure all categories are represented\n", + "\n", + "To do this, convert the column type to categorical beforehand and make sure that\n", + "you include all of the possible categories." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "cat_dtype = pandas.api.types.CategoricalDtype(out_grid.drclassdcd_categories.values)\n", + "pdf['drclassdcd'] = pdf['drclassdcd'].astype(cat_dtype)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "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", + " \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", + "
hzdepb_rclaytotal_rsandtotal_rsilttotal_rdrclassdcd_Excessively draineddrclassdcd_Moderately well draineddrclassdcd_Poorly draineddrclassdcd_Somewhat excessively draineddrclassdcd_Somewhat poorly draineddrclassdcd_Subaqueousdrclassdcd_Very poorly draineddrclassdcd_Well draineddrclassdcd_nodata
hzdept_rxy
0.0700350.04597050.0NaNNaNNaNNaN000000001
4596950.05.026.038.036.0000000010
4596850.05.026.038.036.0000000010
4596750.05.026.038.036.0000000010
4596650.05.026.038.036.0000000010
\n", + "
" + ], + "text/plain": [ + " hzdepb_r claytotal_r sandtotal_r silttotal_r \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 NaN NaN NaN NaN \n", + " 4596950.0 5.0 26.0 38.0 36.0 \n", + " 4596850.0 5.0 26.0 38.0 36.0 \n", + " 4596750.0 5.0 26.0 38.0 36.0 \n", + " 4596650.0 5.0 26.0 38.0 36.0 \n", + "\n", + " drclassdcd_Excessively drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Moderately well drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Poorly drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Somewhat excessively drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Somewhat poorly drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Subaqueous \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Very poorly drained \\\n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 \n", + " 4596950.0 0 \n", + " 4596850.0 0 \n", + " 4596750.0 0 \n", + " 4596650.0 0 \n", + "\n", + " drclassdcd_Well drained drclassdcd_nodata \n", + "hzdept_r x y \n", + "0.0 700350.0 4597050.0 0 1 \n", + " 4596950.0 1 0 \n", + " 4596850.0 1 0 \n", + " 4596750.0 1 0 \n", + " 4596650.0 1 0 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "training_df = pandas.get_dummies(pdf, columns=['drclassdcd'])\n", + "training_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['hzdepb_r', 'claytotal_r', 'sandtotal_r', 'silttotal_r',\n", + " 'drclassdcd_Excessively drained', 'drclassdcd_Moderately well drained',\n", + " 'drclassdcd_Poorly drained', 'drclassdcd_Somewhat excessively drained',\n", + " 'drclassdcd_Somewhat poorly drained', 'drclassdcd_Subaqueous',\n", + " 'drclassdcd_Very poorly drained', 'drclassdcd_Well drained',\n", + " 'drclassdcd_nodata'],\n", + " dtype='object')" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "training_df.columns" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/examples/examples.html b/refs/tags/0.7.0/examples/examples.html new file mode 100644 index 0000000..cc51e6f --- /dev/null +++ b/refs/tags/0.7.0/examples/examples.html @@ -0,0 +1,154 @@ + + + + + + + + + Usage Examples — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + +
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/examples/grid_to_vector_map.html b/refs/tags/0.7.0/examples/grid_to_vector_map.html new file mode 100644 index 0000000..1275dde --- /dev/null +++ b/refs/tags/0.7.0/examples/grid_to_vector_map.html @@ -0,0 +1,565 @@ + + + + + + + + + Example - Mapping Grid Data to Vector Data — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Example - Mapping Grid Data to Vector Data

+

This is useful in the case where you want to get statistics for a specific raster over a certain region. In this example, the vector data is a random region with soil information using SSURGO data.

+
+
[1]:
+
+
+
import json
+
+import geopandas
+
+from geocube.api.core import make_geocube
+
+%matplotlib inline
+
+
+
+
+
[2]:
+
+
+
ssurgo_data = geopandas.read_file("../../test/test_data/input/soil_data_group.geojson")
+
+
+
+
+
[3]:
+
+
+
ssurgo_data.head()
+
+
+
+
+
[3]:
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cokeymukeydrclassdcdhzdept_rchkeyhzdepb_rclaytotal_rsandtotal_rsilttotal_rgeometry
012577452271425Somewhat poorly drained0.01000340905.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
112577452271425Somewhat poorly drained5.010003409015.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
212577452271425Somewhat poorly drained15.010003409130.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
312577452271425Somewhat poorly drained30.010003409245.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
412577452271425Somewhat poorly drained45.010003409360.023.2316439.96194166.806416MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
+
+
+
+
[4]:
+
+
+
# convert the key to group to the vector data to an integer as that is one of the
+# best data types for this type of mapping. If your data is not integer,
+# then consider using a mapping of your data to an integer with something
+# like a categorical dtype.
+ssurgo_data["mukey"] = ssurgo_data.mukey.astype(int)
+
+
+
+
+

Convert data to grid

+

See docs for make_geocube

+
+
[5]:
+
+
+
out_grid = make_geocube(
+    vector_data=ssurgo_data,
+    group_by='hzdept_r',
+    resolution=(-0.0001, 0.0001)
+)
+out_grid
+
+
+
+
+
[5]:
+
+
+
+
+<xarray.Dataset>
+Dimensions:      (hzdept_r: 11, x: 165, y: 165)
+Coordinates:
+  * y            (y) float64 41.5 41.5 41.5 41.5 ... 41.48 41.48 41.48 41.48
+  * x            (x) float64 -90.6 -90.6 -90.6 -90.6 ... -90.58 -90.58 -90.58
+  * hzdept_r     (hzdept_r) float64 0.0 5.0 15.0 30.0 ... 90.0 105.0 120.0 150.0
+    spatial_ref  int64 0
+Data variables:
+    mukey        (hzdept_r, y, x) float64 1.988e+05 1.988e+05 ... 1.987e+05
+    hzdepb_r     (hzdept_r, y, x) float64 5.0 5.0 5.0 5.0 ... 180.0 180.0 180.0
+    claytotal_r  (hzdept_r, y, x) float64 26.0 26.0 26.0 26.0 ... 21.0 21.0 21.0
+    sandtotal_r  (hzdept_r, y, x) float64 38.0 38.0 38.0 38.0 ... 10.0 10.0 10.0
+    silttotal_r  (hzdept_r, y, x) float64 36.0 36.0 36.0 36.0 ... 69.0 69.0 69.0
+Attributes:
+    grid_mapping:  spatial_ref
+
+
+
+

Get the mean/median of each region using the unique ID

+
+
[6]:
+
+
+
grid_mean = out_grid.sel(hzdept_r=15).groupby(out_grid.mukey.sel(hzdept_r=15)).mean()
+grid_mean.to_dataframe()
+
+
+
+
+
[6]:
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hzdept_rspatial_refhzdepb_rclaytotal_rsandtotal_rsilttotal_r
mukey
198692.015.0030.023.0000007.00000070.000000
198714.015.0030.05.00000087.0000008.000000
198724.015.0030.021.00000010.00000069.000000
198750.015.0030.012.00000063.00000025.000000
198754.015.0030.026.00000038.00000036.000000
271425.015.0030.023.0676759.97833866.953987
271431.015.0030.014.00000055.00000031.000000
+
+
+
+
[7]:
+
+
+
grid_median = out_grid.sel(hzdept_r=75).groupby(out_grid.mukey.sel(hzdept_r=75)).median()
+grid_median.to_dataframe()
+
+
+
+
+
[7]:
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hzdept_rspatial_refhzdepb_rclaytotal_rsandtotal_rsilttotal_r
mukey
198692.075.0090.023.0000007.00000070.000000
198714.075.0090.07.80000086.4666675.733333
198724.075.0090.021.00000010.00000069.000000
198750.075.0090.012.00000063.00000025.000000
198754.075.0090.026.00000038.00000036.000000
271425.075.0090.024.56496610.12049765.314537
271431.075.0090.08.33333374.66666717.000000
+
+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/examples/grid_to_vector_map.ipynb b/refs/tags/0.7.0/examples/grid_to_vector_map.ipynb new file mode 100644 index 0000000..1ccc2c5 --- /dev/null +++ b/refs/tags/0.7.0/examples/grid_to_vector_map.ipynb @@ -0,0 +1,559 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Mapping Grid Data to Vector Data\n", + "\n", + "This is useful in the case where you want to get statistics for a specific raster\n", + "over a certain region. In this example, the vector data is a random region with\n", + "soil information using SSURGO data." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "\n", + "import geopandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "ssurgo_data = geopandas.read_file(\"../../test/test_data/input/soil_data_group.geojson\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
cokeymukeydrclassdcdhzdept_rchkeyhzdepb_rclaytotal_rsandtotal_rsilttotal_rgeometry
012577452271425Somewhat poorly drained0.01000340905.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
112577452271425Somewhat poorly drained5.010003409015.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
212577452271425Somewhat poorly drained15.010003409130.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
312577452271425Somewhat poorly drained30.010003409245.023.0676759.97833866.953987MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
412577452271425Somewhat poorly drained45.010003409360.023.2316439.96194166.806416MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ...
\n", + "
" + ], + "text/plain": [ + " cokey mukey drclassdcd hzdept_r chkey hzdepb_r \\\n", + "0 12577452 271425 Somewhat poorly drained 0.0 100034090 5.0 \n", + "1 12577452 271425 Somewhat poorly drained 5.0 100034090 15.0 \n", + "2 12577452 271425 Somewhat poorly drained 15.0 100034091 30.0 \n", + "3 12577452 271425 Somewhat poorly drained 30.0 100034092 45.0 \n", + "4 12577452 271425 Somewhat poorly drained 45.0 100034093 60.0 \n", + "\n", + " claytotal_r sandtotal_r silttotal_r \\\n", + "0 23.067675 9.978338 66.953987 \n", + "1 23.067675 9.978338 66.953987 \n", + "2 23.067675 9.978338 66.953987 \n", + "3 23.067675 9.978338 66.953987 \n", + "4 23.231643 9.961941 66.806416 \n", + "\n", + " geometry \n", + "0 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "1 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "2 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "3 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... \n", + "4 MULTIPOLYGON (((-90.59735 41.49255, -90.59730 ... " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ssurgo_data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# convert the key to group to the vector data to an integer as that is one of the\n", + "# best data types for this type of mapping. If your data is not integer,\n", + "# then consider using a mapping of your data to an integer with something\n", + "# like a categorical dtype.\n", + "ssurgo_data[\"mukey\"] = ssurgo_data.mukey.astype(int)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert data to grid\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Dimensions: (hzdept_r: 11, x: 165, y: 165)\n", + "Coordinates:\n", + " * y (y) float64 41.5 41.5 41.5 41.5 ... 41.48 41.48 41.48 41.48\n", + " * x (x) float64 -90.6 -90.6 -90.6 -90.6 ... -90.58 -90.58 -90.58\n", + " * hzdept_r (hzdept_r) float64 0.0 5.0 15.0 30.0 ... 90.0 105.0 120.0 150.0\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " mukey (hzdept_r, y, x) float64 1.988e+05 1.988e+05 ... 1.987e+05\n", + " hzdepb_r (hzdept_r, y, x) float64 5.0 5.0 5.0 5.0 ... 180.0 180.0 180.0\n", + " claytotal_r (hzdept_r, y, x) float64 26.0 26.0 26.0 26.0 ... 21.0 21.0 21.0\n", + " sandtotal_r (hzdept_r, y, x) float64 38.0 38.0 38.0 38.0 ... 10.0 10.0 10.0\n", + " silttotal_r (hzdept_r, y, x) float64 36.0 36.0 36.0 36.0 ... 69.0 69.0 69.0\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out_grid = make_geocube(\n", + " vector_data=ssurgo_data,\n", + " group_by='hzdept_r',\n", + " resolution=(-0.0001, 0.0001)\n", + ")\n", + "out_grid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get the mean/median of each region using the unique ID" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + "
hzdept_rspatial_refhzdepb_rclaytotal_rsandtotal_rsilttotal_r
mukey
198692.015.0030.023.0000007.00000070.000000
198714.015.0030.05.00000087.0000008.000000
198724.015.0030.021.00000010.00000069.000000
198750.015.0030.012.00000063.00000025.000000
198754.015.0030.026.00000038.00000036.000000
271425.015.0030.023.0676759.97833866.953987
271431.015.0030.014.00000055.00000031.000000
\n", + "
" + ], + "text/plain": [ + " hzdept_r spatial_ref hzdepb_r claytotal_r sandtotal_r \\\n", + "mukey \n", + "198692.0 15.0 0 30.0 23.000000 7.000000 \n", + "198714.0 15.0 0 30.0 5.000000 87.000000 \n", + "198724.0 15.0 0 30.0 21.000000 10.000000 \n", + "198750.0 15.0 0 30.0 12.000000 63.000000 \n", + "198754.0 15.0 0 30.0 26.000000 38.000000 \n", + "271425.0 15.0 0 30.0 23.067675 9.978338 \n", + "271431.0 15.0 0 30.0 14.000000 55.000000 \n", + "\n", + " silttotal_r \n", + "mukey \n", + "198692.0 70.000000 \n", + "198714.0 8.000000 \n", + "198724.0 69.000000 \n", + "198750.0 25.000000 \n", + "198754.0 36.000000 \n", + "271425.0 66.953987 \n", + "271431.0 31.000000 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid_mean = out_grid.sel(hzdept_r=15).groupby(out_grid.mukey.sel(hzdept_r=15)).mean()\n", + "grid_mean.to_dataframe()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "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", + "
hzdept_rspatial_refhzdepb_rclaytotal_rsandtotal_rsilttotal_r
mukey
198692.075.0090.023.0000007.00000070.000000
198714.075.0090.07.80000086.4666675.733333
198724.075.0090.021.00000010.00000069.000000
198750.075.0090.012.00000063.00000025.000000
198754.075.0090.026.00000038.00000036.000000
271425.075.0090.024.56496610.12049765.314537
271431.075.0090.08.33333374.66666717.000000
\n", + "
" + ], + "text/plain": [ + " hzdept_r spatial_ref hzdepb_r claytotal_r sandtotal_r \\\n", + "mukey \n", + "198692.0 75.0 0 90.0 23.000000 7.000000 \n", + "198714.0 75.0 0 90.0 7.800000 86.466667 \n", + "198724.0 75.0 0 90.0 21.000000 10.000000 \n", + "198750.0 75.0 0 90.0 12.000000 63.000000 \n", + "198754.0 75.0 0 90.0 26.000000 38.000000 \n", + "271425.0 75.0 0 90.0 24.564966 10.120497 \n", + "271431.0 75.0 0 90.0 8.333333 74.666667 \n", + "\n", + " silttotal_r \n", + "mukey \n", + "198692.0 70.000000 \n", + "198714.0 5.733333 \n", + "198724.0 69.000000 \n", + "198750.0 25.000000 \n", + "198754.0 36.000000 \n", + "271425.0 65.314537 \n", + "271431.0 17.000000 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid_median = out_grid.sel(hzdept_r=75).groupby(out_grid.mukey.sel(hzdept_r=75)).median()\n", + "grid_median.to_dataframe()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.10.6 64-bit", + "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.10.6" + }, + "vscode": { + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/examples/rasterize_function.html b/refs/tags/0.7.0/examples/rasterize_function.html new file mode 100644 index 0000000..76d5189 --- /dev/null +++ b/refs/tags/0.7.0/examples/rasterize_function.html @@ -0,0 +1,224 @@ + + + + + + + + + Example - Use a rasterize function when creating a raster — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Example - Use a rasterize function when creating a raster

+
+
[18]:
+
+
+
import geopandas
+
+from functools import partial
+from geocube.rasterize import rasterize_image
+
+from geocube.api.core import make_geocube
+
+%matplotlib inline
+
+
+
+
+
[19]:
+
+
+
gdf = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))
+
+
+
+
+
[22]:
+
+
+
geo_grid = make_geocube(
+    vector_data=gdf,
+    measurements=['pop_est'],
+    resolution=(-3.0, 3.0),
+)
+geo_grid["pop_est"].plot()
+
+
+
+
+
[22]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x190f9eeb0>
+
+
+
+
+
+
+../_images/examples_rasterize_function_3_1.png +
+
+
+
[23]:
+
+
+
geo_grid = make_geocube(
+    vector_data=gdf,
+    measurements=['pop_est'],
+    resolution=(-3.0, 3.0),
+    rasterize_function=partial(rasterize_image, all_touched=True),
+)
+geo_grid["pop_est"].plot()
+
+
+
+
+
[23]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x1910469d0>
+
+
+
+
+
+
+../_images/examples_rasterize_function_4_1.png +
+
+
+
[ ]:
+
+
+

+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/examples/rasterize_function.ipynb b/refs/tags/0.7.0/examples/rasterize_function.ipynb new file mode 100644 index 0000000..53b7229 --- /dev/null +++ b/refs/tags/0.7.0/examples/rasterize_function.ipynb @@ -0,0 +1,144 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Use a rasterize function when creating a raster" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "\n", + "from functools import partial\n", + "from geocube.rasterize import rasterize_image\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "gdf = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['pop_est'],\n", + " resolution=(-3.0, 3.0),\n", + ")\n", + "geo_grid[\"pop_est\"].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['pop_est'],\n", + " resolution=(-3.0, 3.0),\n", + " rasterize_function=partial(rasterize_image, all_touched=True),\n", + ")\n", + "geo_grid[\"pop_est\"].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.9.13 ('main')", + "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.9.13" + }, + "vscode": { + "interpreter": { + "hash": "f7286e25aede83087e9621ce0e75f07eda2aa917ee0205c1a0b96e7ba4f20042" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/refs/tags/0.7.0/examples/rasterize_point_data.html b/refs/tags/0.7.0/examples/rasterize_point_data.html new file mode 100644 index 0000000..13353ca --- /dev/null +++ b/refs/tags/0.7.0/examples/rasterize_point_data.html @@ -0,0 +1,456 @@ + + + + + + + + + Example - Rasterizing Point Data — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Example - Rasterizing Point Data

+
+
[1]:
+
+
+
import json
+from functools import partial
+
+import geopandas
+from shapely.geometry import box, mapping
+
+from geocube.api.core import make_geocube
+from geocube.rasterize import rasterize_points_griddata, rasterize_points_radial
+
+%matplotlib inline
+
+
+
+
+

Load in geopackage data and add CRS

+
+
[2]:
+
+
+
gdf = geopandas.read_file(
+    "../../test/test_data/input/time_vector_data.geojson",
+    crs="epsg:4326"
+)
+
+
+
+
+
[3]:
+
+
+
gdf.head()
+
+
+
+
+
[3]:
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
test_attrtest_str_attrtest_time_attrgeometry
01.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
11.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
21.9dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
31.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
41.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26679 44.21932)
+
+
+
+
+

Convert to raster with GeoCube

+

See docs for make_geocube

+
+
+

Load into grid with griddata nearest resampling

+
+
[4]:
+
+
+
geo_grid = make_geocube(
+    vector_data=gdf,
+    measurements=['test_attr'],
+    resolution=(-0.1, 0.00001),
+    rasterize_function=rasterize_points_griddata,
+)
+
+
+
+
+
[5]:
+
+
+
geo_grid
+
+
+
+
+
[5]:
+
+
+
+
<xarray.Dataset>
+Dimensions:      (x: 12, y: 11)
+Coordinates:
+  * y            (y) float64 45.25 45.15 45.05 44.95 ... 44.55 44.45 44.35 44.25
+  * x            (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27
+    spatial_ref  int64 0
+Data variables:
+    test_attr    (y, x) float64 1.3 1.3 1.3 1.2 1.3 1.3 ... 2.3 1.3 1.9 1.3 1.3
+Attributes:
+    grid_mapping:  spatial_ref
+
+
+
[6]:
+
+
+
# mask nodata and plot
+geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()
+
+
+
+
+
[6]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x7f91dda7e710>
+
+
+
+
+
+
+../_images/examples_rasterize_point_data_9_1.png +
+
+
+
+

Load into grid with griddata cubic resampling

+
+
[7]:
+
+
+
geo_grid = make_geocube(
+    vector_data=gdf,
+    measurements=['test_attr'],
+    resolution=(-0.1, 0.00001),
+    rasterize_function=partial(rasterize_points_griddata, method="cubic"),
+)
+
+
+
+
+
[8]:
+
+
+
# mask nodata and plot
+geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()
+
+
+
+
+
[8]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x7f91d9b1f2b0>
+
+
+
+
+
+
+../_images/examples_rasterize_point_data_12_1.png +
+
+
+
+

Load into user-defined grid with radial linear resampling

+
+
[9]:
+
+
+
geo_grid = make_geocube(
+    vector_data=gdf,
+    measurements=['test_attr'],
+    geom=json.dumps(mapping(box(-48, 44, -47, 45))),
+    output_crs="epsg:3857",
+    resolution=(-300, 300),
+    rasterize_function=rasterize_points_radial,
+)
+
+
+
+
+
[10]:
+
+
+
# mask nodata and plot
+geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()
+
+
+
+
+
[10]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x7f91d9ac8320>
+
+
+
+
+
+
+../_images/examples_rasterize_point_data_15_1.png +
+
+
+
+

Load into user-defined grid with radial cubic resampling

+

Note: This example is simply to demonstrate the option and and would need to be adjusted for better results. As seen in the plot below, the values swelled quite a bit due to the input generating an ill-conditioned matrix.

+
+
[11]:
+
+
+
geo_grid = make_geocube(
+    vector_data=gdf,
+    measurements=['test_attr'],
+    geom=json.dumps(mapping(box(-48, 44, -47, 45))),
+    output_crs="epsg:3857",
+    resolution=(-300, 300),
+    rasterize_function=partial(rasterize_points_radial, method="cubic", filter_nan=True),
+)
+
+
+
+
+
+
+
+
+/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/scipy/interpolate/rbf.py:268: LinAlgWarning: Ill-conditioned matrix (rcond=3.16678e-18): result may not be accurate.
+  self.nodes = linalg.solve(self.A, self.di)
+
+
+
+
[12]:
+
+
+
# mask nodata and plot
+geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()
+
+
+
+
+
[12]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x7f91d99fcdd8>
+
+
+
+
+
+
+../_images/examples_rasterize_point_data_18_1.png +
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/examples/rasterize_point_data.ipynb b/refs/tags/0.7.0/examples/rasterize_point_data.ipynb new file mode 100644 index 0000000..50ba524 --- /dev/null +++ b/refs/tags/0.7.0/examples/rasterize_point_data.ipynb @@ -0,0 +1,450 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Rasterizing Point Data" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "from functools import partial\n", + "\n", + "import geopandas\n", + "from shapely.geometry import box, mapping\n", + "\n", + "from geocube.api.core import make_geocube\n", + "from geocube.rasterize import rasterize_points_griddata, rasterize_points_radial\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load in geopackage data and add CRS" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "gdf = geopandas.read_file(\n", + " \"../../test/test_data/input/time_vector_data.geojson\",\n", + " crs=\"epsg:4326\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
test_attrtest_str_attrtest_time_attrgeometry
01.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
11.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
21.9dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
31.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
41.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26679 44.21932)
\n", + "
" + ], + "text/plain": [ + " test_attr test_str_attr test_time_attr \\\n", + "0 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "1 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "2 1.9 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "3 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "4 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "\n", + " geometry \n", + "0 POINT (-47.26681 44.21932) \n", + "1 POINT (-47.26680 44.21932) \n", + "2 POINT (-47.26681 44.21932) \n", + "3 POINT (-47.26680 44.21932) \n", + "4 POINT (-47.26679 44.21932) " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert to raster with GeoCube\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into grid with griddata nearest resampling" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " resolution=(-0.1, 0.00001),\n", + " rasterize_function=rasterize_points_griddata,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<xarray.Dataset>\n",
+       "Dimensions:      (x: 12, y: 11)\n",
+       "Coordinates:\n",
+       "  * y            (y) float64 45.25 45.15 45.05 44.95 ... 44.55 44.45 44.35 44.25\n",
+       "  * x            (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n",
+       "    spatial_ref  int64 0\n",
+       "Data variables:\n",
+       "    test_attr    (y, x) float64 1.3 1.3 1.3 1.2 1.3 1.3 ... 2.3 1.3 1.9 1.3 1.3\n",
+       "Attributes:\n",
+       "    grid_mapping:  spatial_ref
" + ], + "text/plain": [ + "\n", + "Dimensions: (x: 12, y: 11)\n", + "Coordinates:\n", + " * y (y) float64 45.25 45.15 45.05 44.95 ... 44.55 44.45 44.35 44.25\n", + " * x (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " test_attr (y, x) float64 1.3 1.3 1.3 1.2 1.3 1.3 ... 2.3 1.3 1.9 1.3 1.3\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "geo_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into grid with griddata cubic resampling" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " resolution=(-0.1, 0.00001),\n", + " rasterize_function=partial(rasterize_points_griddata, method=\"cubic\"),\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEWCAYAAABliCz2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8GearUAAAgAElEQVR4nO3deZxkVX3+8c8zwzIsMzAsKjCOoyCgqJAwKP5wQYioaNAoCCgiGEWTqKhBgSQiIiaKUUFJgiMRVMAFlAQxgiwSIoI6w77KJrLKvisM08/vj3tKiqa6+3Z13Z6q7uc9r/vquqfuPfdbNd3funXuuefINhERMfXNWN4BRETE5EjCj4iYJpLwIyKmiST8iIhpIgk/ImKaSMKPiJgmkvCjb0k6StIna257jqT3NhDD30j6vaSHJa3d6/ojJlMSfvQFSXtJ+nl7me0P2P7McoxpReBLwA62V7d9Tw/r3l7S1ZIelfQzSc/pVd0RI0nCj2lL0gpjbPJMYBZwRY+Puw7wQ+CTwFrAYuB7vTxGRCdJ+DFukvaXdKukhyRdI2n7Un6wpJMkfa88d6Gkzdv2O0DS9eW5KyX9VSl/AXAU8PLSdHJ/KT9W0qHl8VxJp0q6S9J95fG8cca9l6TzJH1Z0j3AwZJWlvSvkn5Xmm6OkrSKpI2Ba8qu90s6e8Jv3JPeClxh+0TbfwQOBjaXtGkPjxHxNEn4MS6SNgE+CGxlezbwOuC3bZu8GTiR6sz1BOC/StMIwPXAK4E1gE8Dx0laz/ZVwAeA80vTyZodDj0DOAZ4DjAf+ANwZBcv4WXADVRn758FPgdsDGwBbARsABxk+zfAZmWfNW1v16kySfePshwwQgybAZe0Vmw/QvXebDbC9hE9kYQf47UMWBl4oaQVbf/W9vVtzy+xfZLtpVTt37OArQHKGe1ttodsfw+4FnhpnYPavsf2D2w/avshqmT96i7iv832V20/AfwR2Af4qO17S73/DOxWtzLba46yfG6E3VYHHhhW9gAwu4vXE1FbEn6Mi+3rgI9QNUPcKem7ktZv2+Tmtm2HgFuA9QEk7Snp4tYZMPAiYJ06x5W0qqSvSbpJ0oPAucCakmaO8yXc3PZ4XWBVYElbTKeV8iY9DMwZVjYHeKjh48Y0l4Qf42b7BNuvoGpeMfD5tqef3XogaQYwD7it9EL5OlVz0Nql2eZyQK1qxzjs3wObAC+zPQd4Vesw4w2/7fHdVE1Dm7Wdla9he/W6lZVrDiMt/zDCblcA7dc2VgM2pMcXhyOGS8KPcZG0iaTtJK1M1STyB2CobZMtJb219ID5CPAYcAGwGlWyvavUszfVGX7L74F5klYa4dCzy7Hul7QW8KmJvpbyDeTrwJclPaPEtYGk142jjtVHWf55hN1OBl4k6W2SZgEHAZfavnqiryliNEn4MV4rU13ovBu4A3gGcGDb8/8N7ArcB7wLeKvtpbavBL4InE+V3F8MnNe239lUZ7h3SLq7w3EPB1Ypx72AqumlF/YHrgMuKE1FZ1J9k2iM7buAt1Fdh7iP6kJy7esGEd1SJkCJXpF0MLCR7T2WdywR8XQ5w4+ImCaS8GNKKTdOdbqAetTyji1ieUuTTkREH5C0JnA0VWcGA++xfX4vjzHWWCIRETE5jgBOs71z6a22aq8PMGXO8NdZZx0vWLBgeYcREQNgyZIld9ue0A12r3vNar7n3mX1jnfpY6fbfv1Iz0taA7gYeJ4bTMpT5gx/wYIFLF68eHmHEREDQNJNE63jnnuX8avT59faduZ6124qqT1BLbK9qG39uVT3qBxTBhxcAuxbxlnqmSmT8CMiJpOBoafccziqu20vHOX5FYA/Bz5k+5eSjgAOoBpCu2eS8CMiumDMUtdr0qnhFuAW278s6ydRJfyeSrfMiIguDdX8NxbbdwA3l+HHAbYHrux1vDnDj4jogjHLent99UPA8aWHzg3A3r2sHJLwIyK6NjTmIK/12b4YGK2df8KS8CMiumBgWQ8T/mRIwo+I6FIvz/AnQxJ+REQXDCwdsBtXk/AjIrpgnCadiIhpwbBssPJ9En5ERDeqO20HSxJ+RERXxDK0vIMYlyT8iIguVBdtk/AjIqa8qh9+En5ExLQwNGBn+I0PniZppqSLJJ1a1o+VdKOki8uyRYd9tpB0vqQrJF0qadem44yIGI/WGX6dpV9Mxhn+vsBVwJy2so/bPmmUfR4F9rR9raT1gSWSTrd9f5OBRkTUZcSyARtwuNFoJc0D3kg1MW9ttn9j+9ry+DbgTmBC05FFRPTakFVr6RdNn+EfDnwCmD2s/LOSDgLOAg6w/dhIFUh6KbAScH2H5/YB9gGYP7/eVGPj9frN/rGRegHU1G3Zf3y8mXrdXK9jz1mtkXqXXXZ1I/XOfMHGjdQL8Fc//Hkj9b5vjdsbqXfDE9/fSL0AN37o7xure6KMeNwzl3cY49LYGb6kNwF32l4y7KkDgU2BrYC1gP1HqWM94NvA3vbTs43tRbYX2l647rr5AhARk6e68WpGraVfNHmGvw2wk6QdgVnAHEnH2d6jPP+YpGOA/TrtLGkO8GPgH21f0GCcERFd6acLsnU09tFj+0Db82wvAHYDzra9RzlrR5KAtwCXD9+3zPhyMvCtMS7uRkQsF7ZY5hm1ln6xPCI5XtJlwGXAOsChAJIWSmpd3H078Cpgr9G6b0ZELE9DqNbSLyblxivb5wDnlMfbjbDNYuC95fFxwHGTEVtERDeqi7aDde/qYEUbEdEnWhdtB0kSfkREl5b1UR/7OpLwIyK6MIh32ibhR0R0aaiPeuDUkYQfEdGFavC0JPyIiCnPiKUDNrRCEn5ERBds+uqmqjqS8CMiutJfN1XVkYQfEdEFkzP8iIhpIxdtIyKmAdNfk5vUkYQfEdEFA0szlk5ExHTQXxOU15GEP5YVmmuj81AzUwZqRkO/hE80NCVjg2ausUYzFTf4e3H2vS9opN4FK93VSL2z7hqsduxeMb2901bSb4GHgGXAE7YX9qzyIgk/IqJLDZzhv8b23b2utCUJPyKiC7Yylk5ExHRQXbStPbTCOpIWt60vsr2oQ5U/lWTgax2en7Ak/IiIrmg8N17dXaNN/hW2b5X0DOAMSVfbPndiMT7VYH0fiYjoE9VFW9VaatVn31p+3gmcDLy01zEn4UdEdGkZM2otY5G0mqTZrcfADsDlvY43TToREV3o8Z22zwROlgRVXj7B9mm9qrwlCT8ioku9msTc9g3A5j2pbBRjJnxJbwU+DzwDUFlse07DsUVE9C0blg4NVqt4nTP8w4C/tH1V08FERAyKqkln6iX83yfZR0Q83VQcS2expO8B/wU81iq0/cPGooqI6HOtbpmDpE7CnwM8StVNqMVAEn5ETGNTsEnH9t6TEUhExKAZtDltx/x4kjRP0smS7izLDyTNm4zgIiL6VdVLZ2atpV/U+T5yDHAKsH5ZflTKIiKmrdaNV70aWmEy1En469o+xvYTZTkWWLfhuCIi+t4QqrX0izoJ/x5Je0iaWZY9gHvqHqDsc5GkU8v6sZJulHRxWbYYYb93S7q2LO+ue7yIiMnQ68HTJkOdXjrvAb4KfJnqNf4CGM+F3H2Bq6h6+7R83PZJI+0gaS3gU8DCcswlkk6xfd84jhsR0aip2EvnJmCnbiovF3ffCHwW+Ng4dn0dcIbte0s9ZwCvB77TTRx9a0ZDvyxq6IxiWTNz8ALQ1Py+a8xupN6hFZu7EHfpHes1Uu8Zq764kXpn1f6+P7XY4ompkvAlfcL2YZK+SnWW/RS2P1yj/sOBTwDD/+o+K+kg4CzgANuPDXt+A+DmtvVbStnwGPcB9gGYP39+jXDG77RLPtNIvQCv3/yTjdUdEc3rp+aaOkb7eGoNp7AYWNJhGZWkNwF32h6+7YHApsBWwFrA/uOM+U9sL7K90PbCddfNdeSImDxTqg3f9o/Kw0dtn9j+nKRdatS9DbCTpB2BWcAcScfZ3qM8/5ikY4D9Oux7K7Bt2/o84Jwax4yImDT9lMzrqNMAdWDNsqewfaDtebYXALsBZ9veQ9J6AKpG+n8LnWd1OR3YQdJcSXOphnU4vUasERGTYhD74Y/Whv8GYEdgA0lfaXtqDvDEBI55vKR1qcbVvxj4QDneQuADtt9r+15JnwF+XfY5pHUBNyKiX/RTH/s6RuulcxtV+/1OPLXN/iHgo+M5iO1zKE0ytrcbYZvFwHvb1r8BfGM8x4mImCw2PDFVJkCxfQlwiaSTgUdsL4PqRipg5UmKLyKib/VTc00ddT6efgqs0ra+CnBmM+FERAyGKdWG32aW7YdbK7YflrRqgzFFRAwE91Eyr6POGf4jkv68tSJpS+APzYUUETEYBm3wtDpn+B8BTpR0G1XPmmcBuzYaVUREn7MHrw2/zlg6v5a0KbBJKbrG9tJmw4qI6Hdi2VTppdNS2us/BjzH9vskPV/SJrZPbT68iIj+NRXb8I8BHgdeXtZvBQ5tLKKIiAEwiGPp1En4G9o+DFgKYPtR6KOrEBERy4Ordvw6S7+oc9H2cUmrUIZIlrQhMHw444iIaaefeuDUUSfhfwo4DXi2pOOpRsHcq8mgIiL6nafiRVvbZ0i6ENiaqilnX9t3Nx5ZRESf66fmmjpGGy1zU9tXt910dXv5OV/Ss4F7y/SHERHT0qD10hntDP9jVNMHfnGE59eWdIntd/U+rOnBKzTzdVBNzWnb4OmMnmhmTlvPbmYUEDc4p+0ffr/K2Bt14YLZz2mk3ln3NjjXcR+rLshOkYRve5/y8zUjbSPpp00EFRExCHrZ5bKMRLwYuNX2m3pWcZs6N16tCPwN8KpSdA7wNdtLbe/QRFAREYOgx19696WaS3xOT2ttU6dN4T+ALYF/L8uWpSwiYtoyYmhoRq1lLJLmAW8Ejm4y5jrdMreyvXnb+tmSLmkqoIiIQTGOE/x1JC1uW19ke1Hb+uHAJ4DZvYmsszoJf5mkDW1fDyDpecCyJoOKiOh747toe7fthZ2ekPQm4E7bSyRt26vwOqmT8PcDfibpBqp++M8B9m4yqIiIgdCbNvxtgJ0k7QjMAuZIOs72Hj2pvc2oCb9cNd4ceD5PHR45QytExLTXi26Ztg8EDgQoZ/j7NZHsYYyLtmXi8t1tP2b70rIk2UfEtGdgaEi1ln5Rp0nnPElHAt8DHmkV2r6wsagiIvqdgR7feGX7HKqu742ok/C3KD8PaSszsF3vw4mIGBxTZiydltHutI2ImNYmMeGrGjNlnu2bu61jzDsCJK0t6SuSLpS0RNIRktbu9oAREVODsOstvWDbwP9MpI46d9p+F7gLeBuwc3n8vYkcNCJiSnDNpXculLRVtzvXacNfz/Zn2tYPlbRrtweMiJgSDJ78HjgvA94p6SaqTjSiOvl/SZ2d6yT8n0raDfh+Wd8ZOL2bSCMippZJT/ivm8jOdZp03gecQDWP7WNUTTzvl/SQpAcncvCIiIE2+U06h9q+qX0BDq2785gJ3/Zs2zNsr1iWGaVstu0xh/GUNFPSRZJOHVb+FUkPj7DPipK+KekySVdJOrDuC4qImDSTn/A3a18poyFsWXfnyZiBtzXG859IWgjMHWWfXYCVbb+Y6sW8X9KCpgKMiBi31o1XdZYJknSgpIeAl0h6sCwPAXcCp9Stp9GE32mM5/KJ9AWqoUBHYmA1SSsAqwCPA2k+ioi+Uk1zOPYy8eP4X2zPBr5ge05ZZtte2/YBdesZbRLz59q+cYJxdhrj+YPAKbZvH2Xu1ZOAN1NNnL4q8FHb93aIcR+qeXeZP3/+BEOdQlZoaL7VJm8rXPpEI9UOrdnM5EFDKzZ3rrTyXc38/92y2lqN1Lvg/mk8Wvrk99J56fACSWfZ3r7OzqP10jkJ2HI8lQ0L4mljPEtan6q5Ztsxdn8p1Zj761M1/fyfpDNt39C+UZlAYBHAwoULB+wmZzh9yacbqfcNL/yHRuqNiKfSJGUdSbOA1agmUpnLk92D5gAb1K1ntIQ/Q9I/ABtL+tjwJ21/aYy6nzbGM3AFVU+f68rZ/aqSrrO90bB93wGcZnspcKek84CFwA1ERPSD3l+QHc37gY9QnQQv4cmE/yBwZN1KRvteuhvVWfYKVE0yw5dR2T7Q9jzbC0pdZ9uea/tZtheU8kc7JHuA31EGZ5O0GrA1cHXdFxUR0byaF2x7M2b+EbafSzVW/vNsP7csm9uunfBHPMO3fQ3weUmX2v7JhCMeg6SdgIW2DwL+DThG0hVUn2TH2L606RgiIsZlkhuSbX9V0ouAF1K1nLTKv1Vn/zp32v5C0peAV5X1/wUOsf3AOII8hw5jPNteve3xKZTuRbYfpmrrj4joX0OTezhJn6K6BvpCqoHU3gD8HKiV8Ot0NfgG8BDw9rI8CBzTRawREVPHJPbDb7MzsD1wh+29qaagXaPuznXO8De0/ba29U9Lunh8MUZETD2T1UunzR9sD0l6QtIcqhuvnl135zpn+H+Q9IrWiqRtgD+MP86IiClm8odWWCxpTeDrVL11LgTOr7tznTP8DwDfktT62nAf8O7xRhkRERNj+2/Lw6MknQbMae/QImkz21eMtH+dKQ4vATYvXx+wnSEOIiJYLk06f2L7tx2Kvw38+Uj71DnDb1WeRB8R0WKWx9AKYxk1oNoJPyIihum/AV1GjSgJPyKiS8uzSacbY/bSkbSqpE9K+npZf34ZGC0iYnqb/F46Y3l8tCfrdMs8hmrAs5eX9VsZx5RaERFT1iQnfElnjVZme+vR9q9749WuknYvFT6qUQayj4iYDuRJHx55VRocHrnlcUmrUD6nJG1IdcYfETG9TV4vnZ4Mj1wn4R8MnAY8W9LxVOPc7z2eSCMipqLJOsO3fQRwhKQP2f5qt/XUufHqp5KWUI1JL2Bf23d3e8BonldoZvq9Rs9lHl/aSLXLZg1eR7RZ9zRT77JZKzVS74oPPtpIvQNh8nvp3CFptu2HJP0T1U1Wh9q+sM7OdXrpnGX7Hts/tn2q7bs7XTiIiJhW/GQ7/lhLD32yJPtXAH8B/CfwH3V3HjHhS5olaS3KRQJJa5VlAeO4SBARMWVNfrfM1ozxbwQW2f4xUPur22jfd3tykSAiYqpSjyZAKb1wzgVWpsrLJ9n+VIdNb5X0NeC1VDMSrky97vXA6FMc9uQiQUREjOkxYDvbD0taEfi5pJ/YvmDYdm8HXg/8q+37Ja0HfLzuQepctJ3QHIoREVNWj5prbBt4uKyuWJan1V7ug7oTeAVwLfBE+VnLmAl/onMoRkRMSeO7ILuOpMVt64tsL2rfQNJMqubzjYB/s/3L4ZWUfLwQ2IRqFIQVgeOousuPqU6ftZ2p5k28yPbekp5ZDhARMb3VT/h32144alX2MmCLMqPVyZJeZPvyYZv9FfBnVDNdYfs2SbPrBlFrikPbQ0BXcyhGRExZDfTSsX0/8DOqtvrhHi/NP62RD1YbT911Ev6E5lCMiJiKRNVLp84yZl3SuiXPUoayeS1wdYdNv1966awp6X3AmVS5uZY6F21HnUMxImJa6u1NVesB3yzt+DOA79s+tcN26wInUXWP3wQ4iOoGrFpq3XcuaQPgOa3tJb3K9rl1DxIRMSX1rpfOpVRt82N5re39gTNaBZK+COxf5zh1eul8HtgVuJIn7/Iy1U0CERHT1+QNj/w3wN8Cz5PU3sIyGzivbj11zvDfAmxiO0MiR0S0mcQpDk8AfgL8C3BAW/lDtu+tW0mdhH8DVV/PJPyIiHaTNzzyA8ADwO4TqadOwn8UuLiMkPmnpG/7wxM5cETEQHPvxtKZLHUS/illiYiIdpM/Hv6E1OmW+c3JCCQiYtBMYht+T4w2Hv73y8/LJF06fKl7AEkzJV0k6dRh5V+R9PAo+71E0vmSrigxzBpp24iI5WLyx8OfkNHO8PctP980wWPsC1xFNbs6AJIWAnNH2kHSClTj9bzL9iWS1gaamQMvIqIbfZbM6xhtPPzby8+buq1c0jyqmVk+C3yslM0EvgC8g2ogoE52AC61fUmJoaFZPqcmz5zZSL2Nzmm7tJnP86EVm5nft0mz7mkmiwyt0Mz/4IxHp+e5mBi8Jp0RE76khxjl88v2nJGea3M48AmqmwNaPgicYvt2acRfwI0BSzqd6lbi79o+rEOM+wD7AMyfP79GOBERvTNlEr7t2QCSPgPcDnyb6kPtnVTjPoxK0puAO20vkbRtKVsf2IVqfP2x4noFsBVVt9CzJC2x/ZTJ08t40osAFi5cOGBvfUQMvAHLOnW6Ze5ke/O29f+QdAnVoD2j2QbYSdKOVDNlzQGuoOrLf105u19V0nW2Nxq27y3AubbvBpD0P8CfA2cREdEvBizh12ngfETSO0tvmxmS3gk8MtZOtg+0Pc/2AmA34Gzbc20/y/aCUv5oh2QPcDrwYkmrlgu4r6Yayycioj+U0TLrLP2iTsJ/B9XEub8vyy6lrKck7STpEADb9wFfAn4NXAxcaPvHvT5mRMSETKFuma0eNR+0/eaJHMT2OcA5HcpXb3v8lDt6bR9HplKMiD42pYZWsL1M0ismK5iIiEHST801ddS5aHuRpFOAE2lru7f9w8aiiojod33WXFNHnYQ/C7gH2K6tzEASfkRMb1Mt4dveezICiYgYJIN4p+2YvXQkzZN0sqQ7y/KDMmRCRMS0piHXWvpFnW6Zx1D1nlm/LD8qZRER01fdLpn9k+9rJfx1bR9j+4myHEs1vk1ExLQ2FW+8ukfSHuVO25mS9qC6iBsRMb1NwTP891DdaXtHWXYGciE3Iqa9QTvDr9NL5yZgp0mIJSJisPRRMq8jvXQiIrrhamiFOku/SC+diIgutPrhD1KTTnrpRER0y6639Ik6QyvcU3rmfKes70566UxPI09JOWFuaE7bpibidYMT/M6654mGaq7z5z5+erypePtfP52911HnN+A9wFeBL1NdovgF6aXT106/6NON1PuGeR9upN6IgdRnXS7rSC+diIgu9dMF2Trq9NL5pqQ129bnSvpGs2FFRPS/qdhL5yW272+tlOkH/6y5kCIiBoDp2UVbSc+W9DNJV0q6QtK+TYRcpw1/hqS5JdEjaa2a+0VETGk9vGj7BPD3ti+UNBtYIukM21f27AjUS9xfBM6XdGJZ3wX4bC+DiIgYSD1K+LZvB24vjx+SdBWwATC5Cd/2tyQt5skZr97a60+diIhBM84JUNYpebRlke1FHeuVFlA1m/9yAuF1VKtppiT4JPmIiBaPa3KTu20vHGsjSasDPwA+YvvBiYTXSdriIyK61cN++JJWpEr2x9tuZM7wJPyIiC716qKtJAH/CVxl+0u9qfXp6vTD/5CkuU0FEBExkAwMud4ytm2AdwHbSbq4LDv2OuQ6Z/jPBH4t6ULgG8Dpdh+NBhQRsbz0rpfOz2ls5KcnjXmGb/ufgOdTfd3YC7hW0j9L2rDh2CIi+tpUHB6ZckbfmuLwCWAucJKkwxqMLSKir2nItZZ+MWaTTrnFd0/gbuBo4OO2l0qaAVwLfKLZECMi+tBUHC0TWIvqZqub2gttD0l6UzNhRUT0t+rGq8HK+HXa8D81PNm3PXfVWPtLminpIkmnDiv/iqSHx9h3vqSHJe031nEiIibdUM2lT0xGP/x9gauAOa0CSQuprgOM5UvATxqKKyJiQqbcGf5ESJoHvJGq7b9VNhP4AmO0/Ut6C3AjcEWTMUZEdMXjWPpE02f4h1Ml9tltZR8ETrF9u0aYI7WMJ7E/8FpgxOYcSfsA+wDMnz+/RyHHiGY0eH6wtKF5URv6Y/MKzXWZXvnexxqpd+bSZtoWNNRHbRaTqr964NTR2F9wuaB7p+0lbWXrUw2v/NUxdj8Y+LLtUdv4bS+yvdD2wnXXXXeiIUdEjE+PJkCZLE2e4W8D7FRuD55F1YZ/BfAYcF05u19V0nW2Nxq278uAnUs//zWBIUl/tH1kg/FGRNTn/pq+sI7GEr7tA4EDASRtC+xn+yndOCU93CHZY/uVbdscDDycZB8RfaePzt7raPSi7XhI2knSIcs7joiI2nLR9ulsnwOc06F89bbHpwCndNjm4AZDi4jo2qBdsM54+BER3TB9dVNVHUn4ERFdEB64G6+S8CMiupWEHxExTSThR0RMA2nDj4iYPtJLJyJiWuivYRPqSMKPiOiGScKPiJg2BqtFJwk/IqJb6YcfETFdJOFHREwDNiwbrDadJPyIiG7lDD8iYppIwo8pa4Xmfl28bFkj9WpZM3+QntXcVBIz7xl1Zs+uzXh0pUbqZcDmde0ZM3CvPQk/IqIrBqcNPyJi6jO5aBsRMW2kDT8iYpoYsITfN5OYR0QMljJ4Wp1lDJK+IelOSZc3GXESfkRENwwMDdVbxnYs8PpG4yVNOhER3etRk47tcyUt6Ello0jCj4joyriGVlhH0uK29UW2FzUQ1KiS8CMiumFw/X74d9te2GQ4dSThR0R0K3faRkRME+mWGRExDdg966Uj6TvA+cAmkm6R9NdNhJwz/IiIbvWul87uPaloDEn4ERFdcWOjvDYlCT8iohsZHjkiYhoZsOGRG79oK2mmpIsknTqs/CuSOs70IOm1kpZIuqz83K7pOCMixsOAh1xr6ReTcYa/L3AVMKdVIGkhMHeUfe4G/tL2bZJeBJwObNBolBER4+HBmwCl0TN8SfOANwJHt5XNBL4AfGKk/WxfZPu2snoFsIqklZuMNSJivLxsWa2lXzR9hn84VWKf3Vb2QeAU27dLqlPH24ALbT82/AlJ+wD7lNXHmh5atAHrUH2bGSSDFfPZAxZvJTEX0ud7XWXLJhOt4CHuO/1Mn7ROzc374v+zsYQv6U3AnbaXSNq2lK0P7AJsW7OOzYDPAzt0er4MPrSobLu4H8aqGI/E3LxBixcS82QYNpBZV2w3PpxxrzV5hr8NsJOkHYFZVG34VwCPAdeVs/tVJV1ne6PhO5fmoJOBPW1f32CcERHTQmNt+LYPtD3P9gJgN+Bs23NtP8v2glL+6AjJfk3gx8ABts9rKsaIiOmkb8bSkbSTpEPK6geBjYCDJF1clmeMUcWkjy3dA4m5eYMWLyTmyTBo8faEPGCjvUVERHf65gw/IiKalYQfETFd2O6LBYRGKRQAAAvCSURBVFgLOAO4tvycO8J27y7bXAu8u618S+Ay4DrgKzzZXNWxXqo7fU8GLgV+Bbyora7XA9eUug7oo5jXAH4EXELV42nvtroOK2VXtdfVx/HOB35a4r0SWNDv73F5fg5wC3BkP8cLbEE1vvoVVL/juw7I73HHY/RBzB8HLi7L5cAyYK3y3EfL67gc+A4wa7z5b7KW5R5A23/AYZTkChwAfH6E/+Qbys+55XHrP+RXwNaAgJ8AbxitXqq7fT9VHm8KnFUezwSuB54HrFR+KV/YJzH/Q9vjdYF7S4z/DzivxD6T6g99236Nt6yfA7y2PF4dWLWf3+O2Yx0BnMDICb8v4gU2Bp5fytcHbgfW7POYRzzG8o55WL1/SdXrEKohX24EVinr3wf26lVe7PWy3ANoexOvAdYrj9cDrumwze7A19rWv1bK1gOu7rTdSPVSdft8Zds+1wPPBF4OnN5WfiBwYJ/EfCDw7+WX9LlUZyczSsxLgFWAVYHFwAv6ON4XAj/v09+LjjGX57YEvgvsxcgJv2/iHXbMSygfAP0a80jH6IeYh9V7AvC+8ngD4GaqD5UVgFOBHer8bi+PpZ/a8J9p+/by+A6q5Dtc681tuaWUbVAeDy8frd5LgLcCSHop8Bxg3ijH6IeYjwReANxG9XV0X9tDts8HfkZ1Fnc71QfWVf0aL9XZ5/2SflhGUv1CGWOpk76IWdIM4IvAfiPE2Vfxth+s/H6vRHVS088x9/PfHgCSVqVq8v0BgO1bgX8Ffkf1t/eA7Z+OEPNyN6nj4Us6E3hWh6f+sX3FtiW518cfVu/ngCMkXUz1S3cRVbvccPsD67WGh2izPGJ+HVUb4nbAhsAZkv4PeAbVH9A8qrbRj0raHXi0T+NdAXgl8GdUfyi3Au+QdN+w6vop5j2B/7F9i6SPA8/q598J2w8CSFoP+DbwAHBph/Gr+ibmDrvtRXU3/l7DypdHzC1/CZxn+14ASXOBN1N9U7kfOFHSHraP63U8vTCpCd/2X4z0nKTfS1rP1aBq6wF3dtjsVp46Ds88qrbgW8vj9vJby+OO9ZY/iL3LsUXVDncDVbPIs9vqOr5s/y/LO+YS7+dcfZe8TtKNVNcfXg1cYPth4DWSDgL+aPuwPo33FuBi2zeUuPYDtrb9d8OD6aOYXw68UtLfUl1zWBE41fYBfRrvryTNoWq6/EfbJ3WIo99iHn6MM4FzbH+nD2Ju2Y3qwmzLXwA32r6rxPVDqmtqfZnw+6lJ5xSqK+qUn//dYZvTgR0kzS2frDtQNV/cDjwoaeuSvPds279jvZLWlLRSKX8vcG75EPg18HxJzy3P71bqWO4xU50Nb1/ifybViH83lPJXS1pB0opUHwCdmnT6Jd5fA2tKWrdstx1VT51O+iJm2++0Pd/VkCD7Ad8anuz7Kd7yu3tyiXPEZN9PMY90jD6JGUlrUP1ttR/rd8DWklYtdW1P57+9/tD0RYK6C7A2cBZVd6gzebLL00Lg6Lbt3kN1kec6ntqdayFVt6jrqdoINUa9Lwd+Q3WR5oe09QYAdizPXU91dtQvMa9P1ZXxsrLfHqV8JtUFqVYXxy/1c7zluddSdRe8DDiWtp4w/RpzW517MfJF276IF9gDWMqTXQkvBrbo55hHO8byjrnt//27HWL5NHB1qe/bwMrLK4+OtWRohYiIaaKfmnQiIqJBSfgREdNEEn5ExDSRhB8RMU0k4UfEhEj6e0mW9LQJvSW9Rk9OYnSxpD9Kekt57nhJ10i6XNI3Spfi1n7blu2vkPS/beVrSjpJ0tWSrpL08jFie5WkCyU9IWnnXr7uQZSEH5NG0sPl5/qSxuobPlo9H1F1i3svYtq0JJaLJG3Yizrb6j5a0gu72G8LVXNBt9Z3ktSpz/9yJ+nZVP3bf9fpeds/s72F7S2o7rd4lKpLJlQ3NW4KvJjqhsf3ljrXpBprZyfbmwG7tFV5BHCa7U2BzRm7z/vvqLpTnjDuFzcFJeFHIySNeBe37dtsT+Rs6yNUg8T1wluAk2z/me2RxpoZ0Riv8722R7qhbDRbUN0L0qrnFNuf66KeyfBl4BNAnf7dOwM/sf0ogO3/cUE1emXr7td3AD+0/buy3Z3wpxufXgX8Zyl/3Pb95bkNJZ0maYmk/5O0adnmt7YvBZ4yvtB0lYQ/xUnaStKlkmZJWq18RX5Rh+32LNtdIunbpWyBpLNL+VmS5o9RfqykoyT9Ejis3K18vqTLJB3adqwFki4vj/dSNYjaaZKulXRY23b/IWlxifnTpezDVDfu/EzSz0rZDuU4F0o6UdLqHV7fFpIuKDGfXO6+3JHqw+NvWnUN2+dhSV8uxz9L5c5gSedIOlzSYmBfSduXbwiXlaaJldu2WzhajOX/5xflff9VSWqHALuWbx67lvfoyBrv/VdKXTdMRvOFpDcDt9q+pOYuw4claNWzIvAu4LRStDEwt7x/SyTtWcqfC9wFHFPe76MlrVaeWwR8yPaWVHdC/3t3r2qKW953fmVpfgEOpRrR79/oMNQzsBnVncXrlPXWXYs/okwaQXXH4n+NUX4s1fCwM8v6KcCe5fHfAQ+XxwuAy8vjvahuq18DmAXcBDx7WBwzqcZAeUlZ/21brOsA5wKrlfX9gYM6vMZLgVeXx4cAh5fHBwP7jfC+GXhneXwQ5e7aEsu/l8ezqEZk3Lisfwv4SNt2C0eKkWoEyxuArUr5HKrxrfai7U7e9vUx3vsTeXL46et69LtzJtUdpMOXNwO/BNYY/n8yQj3rUSXrFTs89/XW/0dZPxK4AFitvHfXUn0ILASeAF5WtjsC+AzV2EZ/4Kl3FV817BjHAjsv77/F5b1M6uBpsdwcQjV+zR+BD3d4fjvgRNt3A7iMBEg1/MRby+NvU00OMVo5pZ7WqKPbAG9r2+7zI8R3lu0HACRdSTVU9c3A2yXtQ5UE16NKZJcO23frUn6eqpEgV6KaAOZPylnzmrZbF/++SZUcxzIEfK88Po5qCI6WVvkmVINn/aat7r8DDq8R4ybA7bZ/DX8a0A89fUTLdqO99//lapjhK1WNUTNhHmHAQ0kvpjrjvqTEOw+4UNJLbd/RYZe3AyfbXjqsnk9RTYLy/rbiW4B7bD8CPCLpXKr2+v8DbrH9y7LdSVSTlMwA7nd1nSBGkYQ/PazNkyM8zgIeafBYw+uu07b7WNvjZcAKkp5L9dV8K9v3STqWKvbhBJxhe/dugh2n9tcynvewY4wlafZS+/s46qfGRNm+jGpY7upg0m+Bha2Thg52p5r45E8kvZdqqOTt/dQx/P8bOLJcH1kJeBnwZdt3SLpZ0ia2r6EaqOxK2w9KulHSLrZPVPUJ9BLXb2qaNtKGPz18DfgkVa+ITmfZZwO7SFobQNJapfwXVO2uAO+kOsMarXy484ZtNx5zqJLqA+Vs9Q1tzz0EzC6PLwC2kbRRiX01SRu3V1S+Pdwn6ZWl6F3A/zK2GVQXGqG6kPjzDttcAyxoHX+EukeK8RqquRa2KuWzS5Jrf33D1X3vlxtJCyUd3ba+gGrI8eHvy1FUE4ycX65XHATgavKe03hyvumjbV9e9vkQcLykS6kubv9zKX8n8NeSWvPkvrkceytJt1D19PmapCt6/HIHSs7wp7hywWup7RNUzSr1C0nb2T67tY3tKyR9FvhfScuoJoPZi+qP6xhVE37cRZk/YJTy4fYFTpC0P52Hrx2R7UskXUQ1CuHNVB8eLYuA0yTdZvs1qibI+E7rYinwT1TXJNq9GzhKVXfOG0aJud0jwEsl/RPVuOi7dojzj5L2ppr4YgWqprOjnrqJ7+oUo+3fSNoV+KqkVajaof+CavayA1RNzjN8Hoa67/2kcjVsdOvxYkoXy7L+WzrMXGV7tB5OX6Cad3p4+cVUbfnDy2+kmolqePmveerY99NaRsuMGIGkh20/rcfPOPa/jKov+Y09DCuia2nSiWiApDOAy5Lso5/kDD8iYprIGX5ExDSRhB8RMU0k4UdETBNJ+BER00QSfkTENPH/AaG8OGW1mBUsAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into user-defined grid with radial linear resampling" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " geom=json.dumps(mapping(box(-48, 44, -47, 45))),\n", + " output_crs=\"epsg:3857\",\n", + " resolution=(-300, 300),\n", + " rasterize_function=rasterize_points_radial,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load into user-defined grid with radial cubic resampling\n", + "\n", + "Note: This example is simply to demonstrate the option and and\n", + "would need to be adjusted for better results. As seen in the plot below,\n", + "the values swelled quite a bit due to the input generating an \n", + "ill-conditioned matrix." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/scipy/interpolate/rbf.py:268: LinAlgWarning: Ill-conditioned matrix (rcond=3.16678e-18): result may not be accurate.\n", + " self.nodes = linalg.solve(self.A, self.di)\n" + ] + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr'],\n", + " geom=json.dumps(mapping(box(-48, 44, -47, 45))),\n", + " output_crs=\"epsg:3857\",\n", + " resolution=(-300, 300),\n", + " rasterize_function=partial(rasterize_points_radial, method=\"cubic\", filter_nan=True),\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "geo_grid.test_attr.where(geo_grid.test_attr!=geo_grid.test_attr.rio.nodata).plot()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/examples/timestamp_missing_data.html b/refs/tags/0.7.0/examples/timestamp_missing_data.html new file mode 100644 index 0000000..e3de5dd --- /dev/null +++ b/refs/tags/0.7.0/examples/timestamp_missing_data.html @@ -0,0 +1,436 @@ + + + + + + + + + Example - Filling in missing data & dealing with timestamps — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Example - Filling in missing data & dealing with timestamps

+
+
[1]:
+
+
+
import geopandas
+
+from geocube.api.core import make_geocube
+
+%matplotlib inline
+
+
+
+
+

Load in geopackage data and add CRS

+
+
[2]:
+
+
+
gdf = geopandas.read_file(
+    "../../test/test_data/input/time_vector_data.geojson",
+    crs="epsg:4326",
+)
+
+
+
+
+
[3]:
+
+
+
gdf.head()
+
+
+
+
+
[3]:
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
test_attrtest_str_attrtest_time_attrgeometry
01.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
11.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
21.9dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
31.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
41.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26679 44.21932)
+
+
+
+
[4]:
+
+
+
gdf.head().plot(column='test_attr')
+
+
+
+
+
[4]:
+
+
+
+
+<matplotlib.axes._subplots.AxesSubplot at 0x7f2f1cd18240>
+
+
+
+
+
+
+../_images/examples_timestamp_missing_data_5_1.png +
+
+
+
+

Convert to raster with GeoCube

+

See docs for make_geocube

+
+

Load into grid basic

+
+
[5]:
+
+
+
geo_grid = make_geocube(
+    vector_data=gdf,
+    measurements=['test_attr', "test_time_attr"],
+    datetime_measurements=["test_time_attr"],
+    resolution=(-0.1, 0.00001),
+    group_by="test_time_attr",
+)
+
+
+
+
+
+
+
+
+/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/xarray/core/variable.py:151: FutureWarning: Converting timezone-aware DatetimeArray to timezone-naive ndarray with 'datetime64[ns]' dtype. In the future, this will return an ndarray with 'object' dtype where each element is a 'pandas.Timestamp' with the correct 'tz'.
+        To accept the future behavior, pass 'dtype=object'.
+        To keep the old behavior, pass 'dtype="datetime64[ns]"'.
+  return np.asarray(pd.Series(values.ravel())).reshape(values.shape)
+
+
+
+
[6]:
+
+
+
geo_grid
+
+
+
+
+
[6]:
+
+
+
+
+<xarray.Dataset>
+Dimensions:         (test_time_attr: 2, x: 12, y: 11)
+Coordinates:
+  * y               (y) float64 45.25 45.15 45.05 44.95 ... 44.45 44.35 44.25
+  * x               (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27
+  * test_time_attr  (test_time_attr) datetime64[ns] 2016-05-21T15:09:21 2016-05-22T15:09:22
+    spatial_ref     int64 0
+Data variables:
+    test_attr       (test_time_attr, y, x) float64 nan nan nan ... nan nan nan
+Attributes:
+    grid_mapping:  spatial_ref
+
+
+
+
[7]:
+
+
+
# mask nodata and plot
+grid_time_1 = geo_grid.isel(test_time_attr=0)
+grid_time_1.test_attr.where(grid_time_1.test_attr!=grid_time_1.test_attr.rio.nodata).plot()
+
+
+
+
+
[7]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x7f2f19274128>
+
+
+
+
+
+
+../_images/examples_timestamp_missing_data_10_1.png +
+
+
+
+

Load into UTM grid followed by interpolation for missing values

+

See docs for make_geocube

+
+
[8]:
+
+
+
geo_grid_interp = make_geocube(
+    vector_data=gdf,
+    measurements=['test_attr', "test_time_attr"],
+    datetime_measurements=["test_time_attr"],
+    resolution=(-0.1, 0.00001),
+    group_by="test_time_attr",
+    interpolate_na_method='nearest'
+)
+
+
+
+
+
+
+
+
+/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/xarray/core/variable.py:151: FutureWarning: Converting timezone-aware DatetimeArray to timezone-naive ndarray with 'datetime64[ns]' dtype. In the future, this will return an ndarray with 'object' dtype where each element is a 'pandas.Timestamp' with the correct 'tz'.
+        To accept the future behavior, pass 'dtype=object'.
+        To keep the old behavior, pass 'dtype="datetime64[ns]"'.
+  return np.asarray(pd.Series(values.ravel())).reshape(values.shape)
+
+
+
+
[9]:
+
+
+
geo_grid_interp
+
+
+
+
+
[9]:
+
+
+
+
+<xarray.Dataset>
+Dimensions:         (test_time_attr: 2, x: 12, y: 11)
+Coordinates:
+  * y               (y) float64 45.25 45.15 45.05 44.95 ... 44.45 44.35 44.25
+  * x               (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27
+  * test_time_attr  (test_time_attr) datetime64[ns] 2016-05-21T15:09:21 2016-05-22T15:09:22
+    spatial_ref     int64 0
+Data variables:
+    test_attr       (test_time_attr, y, x) float64 1.3 1.3 1.3 ... 1.3 1.3 1.3
+Attributes:
+    grid_mapping:   spatial_ref
+    creation_date:  2019-12-12 19:57:17.046150
+
+
+
+
[10]:
+
+
+
geo_grid_interp.test_attr.isel(test_time_attr=0).plot()
+
+
+
+
+
[10]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x7f2f191bc0f0>
+
+
+
+
+
+
+../_images/examples_timestamp_missing_data_14_1.png +
+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/examples/timestamp_missing_data.ipynb b/refs/tags/0.7.0/examples/timestamp_missing_data.ipynb new file mode 100644 index 0000000..3a97693 --- /dev/null +++ b/refs/tags/0.7.0/examples/timestamp_missing_data.ipynb @@ -0,0 +1,398 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Filling in missing data & dealing with timestamps" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load in geopackage data and add CRS" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "gdf = geopandas.read_file(\n", + " \"../../test/test_data/input/time_vector_data.geojson\",\n", + " crs=\"epsg:4326\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
test_attrtest_str_attrtest_time_attrgeometry
01.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
11.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
21.9dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26681 44.21932)
31.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26680 44.21932)
41.3dcf866195/21/2016 10:09:21 AM -05:00POINT (-47.26679 44.21932)
\n", + "
" + ], + "text/plain": [ + " test_attr test_str_attr test_time_attr \\\n", + "0 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "1 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "2 1.9 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "3 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "4 1.3 dcf86619 5/21/2016 10:09:21 AM -05:00 \n", + "\n", + " geometry \n", + "0 POINT (-47.26681 44.21932) \n", + "1 POINT (-47.26680 44.21932) \n", + "2 POINT (-47.26681 44.21932) \n", + "3 POINT (-47.26680 44.21932) \n", + "4 POINT (-47.26679 44.21932) " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gdf.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "gdf.head().plot(column='test_attr')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert to raster with GeoCube\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Load into grid basic" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/xarray/core/variable.py:151: FutureWarning: Converting timezone-aware DatetimeArray to timezone-naive ndarray with 'datetime64[ns]' dtype. In the future, this will return an ndarray with 'object' dtype where each element is a 'pandas.Timestamp' with the correct 'tz'.\n", + "\tTo accept the future behavior, pass 'dtype=object'.\n", + "\tTo keep the old behavior, pass 'dtype=\"datetime64[ns]\"'.\n", + " return np.asarray(pd.Series(values.ravel())).reshape(values.shape)\n" + ] + } + ], + "source": [ + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr', \"test_time_attr\"],\n", + " datetime_measurements=[\"test_time_attr\"],\n", + " resolution=(-0.1, 0.00001),\n", + " group_by=\"test_time_attr\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Dimensions: (test_time_attr: 2, x: 12, y: 11)\n", + "Coordinates:\n", + " * y (y) float64 45.25 45.15 45.05 44.95 ... 44.45 44.35 44.25\n", + " * x (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n", + " * test_time_attr (test_time_attr) datetime64[ns] 2016-05-21T15:09:21 2016-05-22T15:09:22\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " test_attr (test_time_attr, y, x) float64 nan nan nan ... nan nan nan\n", + "Attributes:\n", + " grid_mapping: spatial_ref" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "geo_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# mask nodata and plot\n", + "grid_time_1 = geo_grid.isel(test_time_attr=0)\n", + "grid_time_1.test_attr.where(grid_time_1.test_attr!=grid_time_1.test_attr.rio.nodata).plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Load into UTM grid followed by interpolation for missing values\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/snowal/miniconda/envs/geocube/lib/python3.6/site-packages/xarray/core/variable.py:151: FutureWarning: Converting timezone-aware DatetimeArray to timezone-naive ndarray with 'datetime64[ns]' dtype. In the future, this will return an ndarray with 'object' dtype where each element is a 'pandas.Timestamp' with the correct 'tz'.\n", + "\tTo accept the future behavior, pass 'dtype=object'.\n", + "\tTo keep the old behavior, pass 'dtype=\"datetime64[ns]\"'.\n", + " return np.asarray(pd.Series(values.ravel())).reshape(values.shape)\n" + ] + } + ], + "source": [ + "geo_grid_interp = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['test_attr', \"test_time_attr\"],\n", + " datetime_measurements=[\"test_time_attr\"],\n", + " resolution=(-0.1, 0.00001),\n", + " group_by=\"test_time_attr\",\n", + " interpolate_na_method='nearest'\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Dimensions: (test_time_attr: 2, x: 12, y: 11)\n", + "Coordinates:\n", + " * y (y) float64 45.25 45.15 45.05 44.95 ... 44.45 44.35 44.25\n", + " * x (x) float64 -47.27 -47.27 -47.27 ... -47.27 -47.27 -47.27\n", + " * test_time_attr (test_time_attr) datetime64[ns] 2016-05-21T15:09:21 2016-05-22T15:09:22\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " test_attr (test_time_attr, y, x) float64 1.3 1.3 1.3 ... 1.3 1.3 1.3\n", + "Attributes:\n", + " grid_mapping: spatial_ref\n", + " creation_date: 2019-12-12 19:57:17.046150" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "geo_grid_interp" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEWCAYAAABi5jCmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de5wcVZ338c+XJBAuiVwSuQUIIOgCj4BGFOFR5CISWFwXRHwERHY3oqviKiIRFXS9XwAV1xhRkIuwyE3AIIIaBRSQhCTcRBEjhARCQEgCiCT5Pn+c00lNp7unpqd7pnvm93696jXdVXWqflXT1afPOVXnyDYhhBBCxTqDHUAIIYTOEhlDCCGEHiJjCCGE0ENkDCGEEHqIjCGEEEIPkTGEEELoITKGKpLulbTfYMcRQqitL9eoJEt6WZtDGnI6JmOQNF/SgS3YzvGSbim57vmSPlecZ3tX2zP7G0erVJ8XSRPzh33kAO3/Y5LukbRM0l8kfaxq+URJv5L0nKQ/VMW6paRrJC3MMU+ssf0DJc2W9KykRyQd1SCW9ST9QNJSSY9J+kjVcuftLM/TuQ22tbOkn0h6QtJTkm6Q9PLC8t3yvCWSXJV2eWFaJen5wvt3NUqb08+U9PdCmgfqxZnXPyCf2+fyud6usGxjST+UtDhPZzTYzkslXZL/H89IulXSawvLe/1/DbRuuEaHoo7JGELrtDjTEHAcsAnwFuADko4uLL8EuAvYDDgNuFzS+LxsFfAz4Ig6ce4C/CinewmwBzCrQSxnADsB2wFvAk6R9JaqdXa3vVGe/r3BtjYGrgFeDmwO3AH8pLD8ReAy4N+qExa2vxHwMPDPhXkXN0pb8IFCmpfXW0nSOOBK4FPApsCdwP8WVjkL2ACYCOwFHCvpPXU2txHwe+DVeVs/BH4qaaO8vOH/a7iQNGKwYxh0tgd9Ai4kfSifB5YDp+T5rwN+CzwNzAX2K6Q5HngIWAb8BXgX8E/A34GVeTtPN9jnFNIF/I+87rV5/nzgwPz6DODHwEV5P3cDOwNTgcXAI8CbC9t8CfB9YBHwKPA5YEQvx74j8EvgSWAJcDGwcb3zQvoicn6/HNg7n4tbSV8STwGfa+P/6pvAt/LrnYEXgDGF5TcDJ1alGZljnlg1/0fAf/dh349Wne//Bi4tvDfwsiaPa9OcfrOq+S9Ll0nddKs/LzWW1UwLzAT+vWRcU4DfFt5vmD8Pr8jvlwCvKSz/BHBzH457KfDqMv+vXrYzOl8nT5Ku198DmxeO94ukzPcZUga8aSHtj4HH8rLfALsWjr23a3Qv4Hd5n4uAc4B1+/KZAM4HvgPMAJ6t9/8cTtOgB1D45/S4wICt84dsMqlkc1B+Pz5fHEuBl+d1tyx8mI4Hbim5z/Op+hJl7Yzh78DB+WK5gJQJnQaMAv4D+Esh7dXAd3N8L80Xwnt7ieFl+djWy8f2G+DsBudlYv6wjyzMOx5YAXwwx7l+jf38v3zx1Ju2LXG+RCodnJjfvw24v2qdc8gZR2FevYzhIdKX+935or6IwhdG1bqb5G1sXph3JHB34b2BhaQvmSur99fLsf0LsKjO/8dlP7dl0pK+KJ8gfanfSuEHT17+NLBvfv0N4DtVy+8BjsivlwB7FZadBvyt8P464NQ68e2RP98vKfP/6uX8vRe4llR6GUEqlYwtHO+jwG6ka+MK4KJC2hOAMfkaOBuY04dr9NWkH5AjSdfG/cCHqz4TZTKGZ4B9SN81o8se91CdOrkq6Rhghu0ZtlfZvpFUjJ6cl68CdpO0vu1Ftu9tUxw3277B9grSL5vxwJdsvwhcCkzM9bybA4eQPpTP2l5M+gV/dN0tA7YftH2j7RdsPwGcCbyxiTgX2v6W7RW2n6+xnx/Z3rjB9HCJfZxBunDOy+83Il1QRc+QLvIyJgDHkqoudgLWB75VZ91KdUdxf9X7eiPpy+EVpAziujLVapImAN8GPtLbui3ycWAH0o+f6cC1knasLMz/j0o7WW/n+GfAqZLG5EbWE0hfzpVtHWb7S9UBSBpLKpF+xnb19pvxIqk68WW2V9qeZXtpYfmFtu+x/SypWuyoSpWN7R/YXmb7BdJnbHdJLymz07yf2/Lnfj7ph1kz189PbN+av2v+3kT6IaWTM4btgLdLeroyAfsCW+YP1zuAE4FFkn4q6RVtiuPxwuvngSW2VxbeQ7p4tyOVIhYV4v0uqeRQV24QvFTSo5KWkn41j2sizkeaSFOapA+Q2hoOzRcwpOL92KpVx5Kq3cp4HjjP9h9tLwe+QM74JU0rNM5+Iu+rsv2a+7L9G9v/sP00cBKwPal6sbrBeNvCcY0Hfg78j+1LSsbdL7Zvr3wR2v4hqdQwuc7qvZ3jD5HO459IVTSXAAsa7V/S+qRf97fZ/mJzR7GWC4EbgEtz4/VXJI0qLC9+Pv9KulbGSRoh6UuS/pw///PzOqWugXwTwXX5ZoSlpM9Qx10/3aaTMobquzceIf3KKP6q3bDy6yf/ij+IVI30B+B7dbbTl332xyOk+vZxhXjH2t61l3RfzHG80vZYUklJDWKsF3PDY8l3yyxvMG3bIO0JwKnAAbaLXzr3AjtIKv5q3z3PL2Nevbhtn+g1jbNfsP03UnXT7n3Yl8nnsrCtjSqlI0mbkDKFa2x/vmTM7bA6zhrupXDMkjYktUvdC2D7Kdvvsr1F/qytQ6rCrEnSeqQqz0dJ1T8tYftF25+xvQvweuAw0g+Jim0Kr7cllTCWkKo43wocSGqjm1gJtbLpXnb9HdL1v1O+fj5B/XPZ8BCaSDNkdVLG8DipeF1xEfDPkg7OvypGS9pP0gRJm0s6PF8kL5B+Va0sbGeCpHWb2GfTbC8ifcl8XdJYSetI2lFSb8XaMeSGcklbAx+rWl4d4xOkarQ+xW374qovx+qpZlWSpHeRfoUdZPuhqm3+EZgDnJ7/P28DXkmqQ66kH02qOwZYL7+vOA94j6QdJG1AqmK5rsFhXAB8UtImuYT4H6T6YSTtKmmP/FnZCPg66cvv/jrHNZb0C/dW26fWWK4c67qV48hfqr1qlDZXOx6c543M5/cNOZZariJVmR6Rt/lpYJ7tP+Tt7Shps3zch5AabD9Xa0P5F/zlpBLGcbZX1Vin7v9L0hmSZtbZ9psk/Z9cPbSU9MW/srDKMZJ2yf/nzwKX55L3GNI1/CSpCuwLVZvu7Rodk/e3PH8m3tdg3VBWqxstmp1IvxoeJjW8nZznvRb4NelOmyeAn5J+bWyZ5z+T158J7JLTrJvXe4pU7dNonzuRvtieBq722g1bZ9CzkexAYH7hfaWRbkJ+/xLSL5gFOba7gKN7iWFX0i2ay3MsHwUW9HJePpvPx9OkhrfjKdng3sT/5S+ki3x5YZpWWD4xn//ngQeoaojN56fHVLX8M/lYniBVR2zSIJb1gB+QvggeBz5SWLZ/3v+zpDvGrib9iqy3rXfneJ6tOrZtC8dVHfv8GttZ/XmpOic105LaqH5Pqgp6GriNlOkW0y8H/m/V5+4P+RzPpNAoDBxFak95Ln9+Dq7a1vXAJ/LrN+ZYnqs65uK+6v6/SHfcfb7O+Xxn4fw/Trp7bWReNpM1dyUtJVVjjcvLNiJVgS0jVTEdR6HBmN6v0Tfkc7OcdEfcZylcC8VtNfgsnM/aDdyfIt8Fld//nDV3S47I+9u7HddcJ0zKBxpCCA1JmkOqTnyyj+lmkn5g1X3gMHSWAXl6NoTQ/WzvMdgxhIHRSW0MbaHUr0qtxtZ3DWAM0+rEMG2gYghhOOuE74FuElVJIYQQehjyJYYQQgh9M6TaGNbVeh7NhoMdRgj9svMrnxvsEPrkj/M26H2lDrOMvy2xPb73Nes7+E0b+smnVva+IjBr3gs32K7u8LFjDamMYTQb8lodMNhhhNAvN9wwd7BD6JODt9q995U6zE2+/K/93caTT63kjhvqPhfaw4gt/9TM09iDZkhlDCGEMFAMrGKtZwSHhMgYQgihCca86HJVSd0mMoYQQmhSlBhCCCGsZszKIXq7f2QMIYTQpFVDtFPWyBhCCKEJBlZGxhBCCKEoSgwhhBBWM/BitDGEEEKoMI6qpBBCCAWGlUMzX4iMIYQQmpGefB6aImMIIYSmiJVosINoi8gYQgihCanxuXUZg6T5pLGvVwIrbE+qWi7gG8Bk0rjdx9ue3bIACiJjCCGEJqTnGFpeYniT7SV1lh0C7JSn1wLfyX9bLjKGEEJo0qoWlhhKeCtwgdOwm7dJ2ljSlrYXtXpHbR/BTdIISXdJui6/P0PSo5Lm5GlyjTTbSPqVpPvzWK0ntTvOEELoi0qJocwEjJN0Z2GaUmeTP5c0q87yrYFHCu8X5HktNxAlhpOA+4GxhXln2f5agzQrgI/ani1pDDBL0o2272tnoCGEUJYRK8v/tl5S3WZQwz62F0p6KXCjpD/Y/k1hea3iSVtumG1riUHSBOBQ4Ny+pLO9qNKoYnsZKWNpS84YQgjNWmWVmsqwvTD/XQxcBexVtcoCYJvC+wnAwhYcxlraXZV0NnAKa9/u+wFJ8yT9QNImjTYgaSKwJ3B7neVTKsWzF3mhBSGHEELvjPiHR5SaeiNpw1w7gqQNgTcD91Stdg1wnJLXAc+0o30B2pgxSDoMWGx7VtWi7wA7AnsAi4CvN9jGRsAVwIdtL621ju3ptifZnjSK9VoTfAgh9CI94LZOqamEzYFbJM0F7gB+avtnkk6UdGJeZwbwEPAg8D3g/W04LKC9bQz7AIfnxuXRwFhJF9k+prKCpO8B19VKLGkUKVO42PaVbYwzhBCa0qrbVW0/BOxeY/60wmsD/9mSHfaibSUG21NtT7A9ETga+KXtYyRtWVjtbaxdXKo8yPF94H7bZ7YrxhBCaJYtVnqdUlO3GYyIvyLpbknzgDcB/wUgaStJM/I6+wDHAvs3uq01hBAG0ypUauo2A/KAm+2ZwMz8+tg66ywkPeqN7VuofWtWCCF0hNT4PDSfER6aRxVCCG1WaXweiiJjCCGEJq0c2C4xBkxkDCGE0IQ+PvncVSJjCCGEJq3qwjuOyoiMIYQQmpA60YuMIYQQQmbEiyW6u+hGkTGEEEITbLry4bUyImMIIYSmdOfDa2VExhBCCE0wUWIIIYRQJRqfQwghrGbKD8LTbSJjCCGEJhh4MfpKCiGEsIZaNh5Dp4mMIYQQmmDiyecQQghVhmqJYWhmdyGE0Ga2WOV1Sk1lSBoh6S5Jaw13LGk/Sc8UBi77dMsPqCBKDCGE0ITU+NzSLjFOAu4HxtZZfrPtw1q5w3qixBBCCE1p3ZjPkiYAhwLntj3sEiJjCCGEJqTGZ5WagHGS7ixMU6o2dzZwCrCqwS73ljRX0vWSdm3TYQFRlRRCCE3rw5PPS2xPqrVA0mHAYtuzJO1XJ/1sYDvbyyVNBq4GduprvGVFiSGEEJpQefK5ZImhkX2AwyXNBy4F9pd0UY992UttL8+vZwCjJI1rw2EBJUsMkl4PTCyub/uCNsUUQghdYVULflvbngpMhXT3EXCy7WOK60jaAnjctiXtRfpR/2S/d15HrxmDpAuBHYE5wMo820BkDCGEYcuGF1e1r9JF0olpP54GHAm8T9IK4HngaNtu177LlBgmAbu0M4gQQug2qSqptRmD7ZnAzPx6WmH+OcA5Ld1ZA2UyhnuALYBFbY4lhBC6ylB98rlMxjAOuE/SHcALlZm2D29bVCGE0OEqt6sORWUyhjPaHUQIIXSf1lcldYpeMwbbv5a0OfCaPOsO24vbG1YIIXS+oTrmc6/ZnaSjgDuAtwNHAbdLOrLdgYUQQidLdyWNKDV1mzJVSacBr6mUEiSNB24CLm9nYCGE0MmG+9Ce61RVHT1JPDEdQgjDtyoJ+JmkGyQdL+l44KfAjLI7qO5jXNIZkh4t9Cs+uU66t0h6QNKDkk4tu78QQhgIfexEr6uUaXz+mKQjSP15CJhu+6o+7KNWH+Nn2f5avQSSRgDfBg4CFgC/l3SN7fv6sN8QQmirYXtXEoDtK4Ar+rrxQh/jnwc+0oekewEP2n4ob+dS4K1AZAwhhI5gixVDNGOoe1SSbsl/l0laWpiWSVpacvv1+hj/gKR5kn4gaZMa6bYGHim8X5Dn1YpzSqWP8xfXPH8XQghtN1SrkupmDLb3zX/H2B5bmMbYrjf03GrFPsarFn2H1CnfHqRuNr5eK3mtkOrEOd32JNuTRrFeb2GFEEJLDOU2hjLPMVxYZl4NNfsYt/247ZW2VwHfI1UbVVsAbFN4PwFYWGKfIYQwYIZtxgD0GEJO0kjg1b0lsj3V9gTbE4GjgV/aPkbSloXV3kbqpK/a74GdJG0vad2c/poSsYYQwoBo4UA9HadRG8NUScuAVxbbF4DHgZ/0Y59fkXS3pHnAm4D/yvvbStIMANsrgA8AN5DuaLrM9r392GcIIbTcKlRq6jZ170qy/UXgi5K+mEcYalpVH+PH1llnITC58H4GfXheIoQQBpINK9o4UM9gKnNUd0h6SeWNpI0l/UsbYwohhK4w7KqSCk63/Uzlje2ngdPbF1IIIXS+YdnG0Ms6pR6MCyGEocxWqamM6u6DqpZJ0jdzF0HzJL2q5QdTUCZjuFPSmZJ2lLSDpLOA6mcTQghh2Glx43Ol+6BaDgF2ytMU0vNgbVMmY/gg8A/gf4HLgOeB/2xnUCGE0Ons1rUxFLoPOrfOKm8FLnByG7Bx1a3/LVWmE71ngVMlbWR7ebsCCSGE7iJWlr8raZykOwvvp9ueXnhf6T5oTJ309boJWlQ2gL7oNWOQ9HpSLrYRsK2k3YH32n5/OwIKIYRuUbb9AFhie1KtBcXugyTtVyd96W6CWqFMdncWcDBpgB5szwXe0K6AQgihG7Swr6Sa3QdVrTOg3QSVKgfZfqRq1so2xBJCCN3DqZ2hzNRwM3W6D6pa7RrguHx30uuAZ2y3pRoJyt12+kiuTnLut+hD1G85DyGEYaOd3V1IOhHA9jRSLxCTgQeB54D3tG3HlMsYTgS+QWroWAD8nLgrKYQwzLlvjc/lttmz+6BphflmAL93y9yVtAR41wDEEkIIXaW3aqJuVTdjkHSK7a9I+hZrt34beAq4yPaf2xlgCCF0qj7cldRVGpUYKu0Id9ZZvhlwJbB7SyMKIYQukBqWh1nGYPva/PeHAJLGpLdrHnKT9GzbIwwhhA7VjR3klVFmaM/dJN1FGmntPkmzJO0KYPu77Q4whBA6VStuV+1EZe5Kmg58xPavAPKTed8DXt/GuEIIoaMZsWqIDtRTJmPYsJIpQLqdStKGbYwphBC6QhcWBkopkzE8JOlTwIX5/THAX9oXUgghdIEh3Phcphx0AjCedAfSlcA42vzUXQghdAWXnLpMwxKDpBHAJ2x/aIDiCSGErjFUSwwNMwbbKyW9eqCCCSGEbmFg1aphmDFkd0m6BvgxsPq5BdtXti2qEELodAaGY4kh25Q0FsP+hXkmtTeEEMKw1Y3PKJRRphO9aGgOIYRaOjBjkCRgQo1xdEor8+TzDpKulfSEpMWSfiJp+2Z3GEIIQ4Owy00DKXfRfXV/tlHmdtUfAZcBWwJbkdoaLu3PTkMIYUjo3NtVb5P0mmYTl8kYZPtC2yvydBEdWYAKIYQBZPAqlZoGwZuA30n6s6R5ku6WNK9s4jKNz7+SdCqplGDgHcBPJW0KYPupZqIOIYTu17F3JR3Sn8RlMoZ35L/vrZp/Aimj2KE/AYQQQtdqUd2JpNHAb4D1SN/Ll9s+vWqd/YCfsKZLoittf7bOJj9n+9iq9BcCx9ZZv4cydyX1q6E5Pz19J/Co7cMK808GvgqMz8OHVqf7L+DfSaf+buA9tv/en1hCCKGlWlep/gKwv+3lkkYBt0i63vZtVevdXPwebWDX4pv8PVz6YeWB6DP2JNaMBgeApG2Ag4CHayWQtDXwIWCS7d2AEcDRbY4zhBDKqzzgVmbqbVNJZRC0UXnqc7YjaaqkZcArJS3N0zJgMXBN2e20NWOQNAE4FDi3atFZwCk0PvCRwPqSRgIbAAvbEmQIITSpDwP1jJN0Z2GaUr0tSSMkzSF9id9o+/Yau9xb0lxJ11cGTOsZj79oewzwVdtj8zTG9ma2Ty17XHWrkiTtY/tWSevZfqHsBqucTcoAxhS2ezipWmlueg5jbbYflfQ1UonieeDntn9eJ84pwBSA0WzQZJghDH0HbxXDs7dc+TuOltie1GgF2yuBPSRtDFwlaTfb9xRWmQ1sl6ubJpOeVdipzub2qp4h6Re2DygTbKMSwzfz39+V2VCNIA4DFtueVZi3AXAa8Ole0m4CvBXYnvTsxIaSjqm1ru3ptifZnjSK9ZoJNYQQmiKXm/rC9tPATOAtVfOXVqqbbM8ARkka1yMeabSkzUgllE0kbZqniaTv0lIaNT6/KOk8YGtJ36xeWKIr7n2Aw3PONhoYSxrsZ3ugUlqYAMyWtJftxwppDwT+YvsJAElXkoYSvajcYYUQQpu18OE1SeOBF20/LWl90nfgl6vW2QJ43LYl7UX6Yf9k1abeC3yYlAnMYs39tEuBb5eNp1HGcFgObv+8gz6xPRWYCqtvszrZ9hHFdSTNJzUwV9+V9DDwulzCeB44gHRnUwghdIhyDcslbQn8MN89tA5wme3rJJ0IYHsacCTwPkkrSN+LR+fuL1az/Q3gG5I+aPtbzQZTN2PIX9aXSrrf9txmd1CWpK2Ac21Ptn27pMtJdWorgLuA6e2OIYQQ+qRFJQbb84A9a8yfVnh9DnBOye19S9JuwC6kGpvK/AvKpC/zgNuTkq4iVQ0ZuAU4yfaCMjvIwcwk1ZlVz59YeL0QmFx4fzpwenWaEELoGKsGO4DaJJ0O7EfKGGaQnoS+BSiVMZS5XfU80v2vWwFbA9fmeSGEMHy18DmGNjiSVAX/WB46YXcof3dOmYzhpbbPK3Sidz4wvqlQQwhhCGnHXUkt8rztVcAKSWNJz0aU7r6oTMbwhKRj8sMXI/Jto9Ut4SGEMPx0brfbd+bnIb5HunloNnBH2cRl2hhOIDV4nEU6xN/meSGEEDqQ7ffnl9Mk/QwYmxu4AZC0q+1766Uv04new8Dh/Y40hBCGmEGqJuoT2/NrzL4QeFW9NGVKDCGEEKqZvnSJ0WkaBh4ZQwghNKsLSgx1NIw8MoYQQmhSN1QlNaPXu5IkbS7p+5Kuz+93kfRv7Q8thBA6XOfeldSbfzRaWOZ21fOBG1jTM98fSZ00hRDC8NahGYOkXzSaZ/t1jdKXyRjG2b6M/PC37RXAyj7GGUIIQ0rZh9sGsropd7u9KW3sdrvi2dy/t/OOXwc800TMIYQwtHTeXUlt73a74iOkvpJ2lHQrqTuMt/cp1BBCGII6rfG57d1uF9wLvBF4OSn3eYA2jxUdwnAWQ3B2kQ7LGAoekzTG9jJJnyQ9zPY527PLJC7zBf+73Hnevbbvsf0iTQ73GUIIQ0YHtjEUfCpnCvsCBwM/BL5TNnHdEkMeRm5rYH1Je7KmrmossEHz8YYQwhDRuSWGyg1ChwLfsf0TSWeUTdyoKulg4HjSuMxnFuYvAz7RtxhDCGHoUYcO1AM8Kum75LGjJa1HH5oAGg3t+UPSGKRH2L6i/3GGEEKoRdJo4DekwXRGApfnUSyL6wj4Bmmky+eA4xu0GRwFvAX4mu2nJW0JfKxsPGV6V71C0qHArvQcO/SzZXcSQghDUuuqkl4A9re9XNIo4BZJ19u+rbDOIcBOeXotqc3gtTXDsp+TtBjYF/gTsCL/LaVMlxjTgHcAHyS1M7wd2K7sDkIIYUhqYeOzk+X57ag8Vad8K3BBXvc2YONcElhLHvP548DUwjYvKntoZeqcXm/7OOBvtj8D7A1sU3YHIYQwZJXvEmOcpDsL05TqTeURMueQhuG80fbtVatsDTxSeL8gz6vlbaRxdJ4FsL0QGFP2sMo8x/B8/vucpK1Iw3puX3YHIYQwZJWvSlpie1LDTdkrgT3ykJxXSdrN9j2FVWo9Zl0vgn/YtqRKjxUblo6UciWG63KgXyWNGzofuLQvOwkhhKFGpLuSykx9YftpYCap8bhoAT1rayYAC+ts5rJ8V9LGkv4DuIk0/nMpvWYMtv/b9tP5zqTtgFfY/lTZHYQQwpDUwjYGSePzD3AkrU+6zfQPVatdAxyn5HXAM7YX1dnkeOBy4ApSrxWfJmUkpZQaqEfS64GJlfUlYfuCsjsJIYQhqXV3JW1JejxgBOkH+2W2r5N0IoDtacAM0q2qD5JuV31Pg+0dZPvjwI2VGZK+TmqQ7lWvGYOkC4EdgTmseZrOQGQMIYThrUUZg+15wJ415k8rvDbwn422I+l9wPuBHSTNKywaA9xaNp4yJYZJwC45qBBCCFmn9a4K/Ai4HvgicGph/jLbT5XdSJmM4R5gC6BeXVYIIQxPHZYx2H6GNF7OO/uznTIZwzjgPkl3kJ7OqwRweH92HEIIXc0d3VdSv5TJGM5odxAhhNCVOqzE0Cpl+kr69UAEEkII3aYD2xhaou5zDJJuyX+XSVpamJZJWlp2B/kx77skXVc1/2RJljSuTrqNJV0u6Q+S7pe0d9l9hhDCgCjfJUZXadTt9r75b+n+Neo4CbifNMAPAJK2AQ4CHm6Q7hvAz2wfKWldYnCgEEIn6dIv/TIalRg2bTSV2bikCaQRhM6tWnQWcAp1TqukscAbgO8D2P5Hfkw8hBA6gujooT37pVEbwyzSF7eAbYG/5dcbk37pl+lI72xSBrC61CHpcOBR23PTuBM17QA8AZwnafccy0m2n61eMfdSOAVgdBQqQggDqBu/9MuoW2Kwvb3tHYAbgH+2Pc72ZsBhwJW9bVjSYcBi27MK8zYATiP129HISOBVpLFK9yR1HXtqrRVtT7c9yfakUazXW1ghhNA6Q7SNoUzvqq+xPaPyxvb1wBtLpNsHOFzSfFJvrPsDF5JKGnPz/AnAbElbVKVdACwo9Ed+OSmjCCGEzjGMM4Ylkj4paaKk7SSdRhqToSHbU21PsD0ROBr4pe0jbL/U9sQ8fwHwKtuPVaV9DHhE0svzrAOA+/pwXCGE0F4t7F2105TJGN5J6sL1qjyNp5+PW9ciaStJMwqzPghcnDuC2gP4Qqv3Gcm72S4AABRlSURBVEII/TJESwwNH3DLXcBOtX1Sf3ZieyZp4Inq+RMLrxeSupStvJ9D6sAvhBA60rDsEsP2SkmvHqhgQgihm3RjNVEZZfpKukvSNcCPyQNLA9ju9c6kEEIYsrq0mqiMMhnDpqTG5v0L80yJW1ZDCGFIG64Zg+1Gw8eFEMKwVHnyeSjq9a4kSRMkXSVpsaTHJV2Ru7oIIYRhTatcaup1O9I2kn6VOwy9V9JaN/xI2k/SM5Lm5Km3B4WbVqYq6TzScHFvz++PyfMOaldQIYTQ8VrbxrAC+Kjt2ZLGALMk3Wi7+vmtm20f1rK91lHmOYbxts+zvSJP55OeZQghhGGtVQ+42V5ke3Z+vYzUI/XW7Y2+vrJPPh+Tx1UYIekYSjz5HEIIQ14bHnCTNBHYE7i9xuK9Jc2VdL2kXZsNuzdlMoYTgKOAx/J0ZJ4XQgjDWh9KDOMk3VmYptTcnrQRcAXwYdvVA6LNBrazvTvwLeDqdh1XmbuSHgYOb1cAIYTQtcqXBpbYbtiTg6RRpEzh4lrPiRUzCtszJP2PpHG2l/Qh4lLirqQQQmiGU5cYZabeKA1O833gfttn1llni7wekvYifX+3pVo/7koKIYQmtPg5hn2AY4G7Jc3J8z5BGiQN29NI1fjvk7QCeB442nZbnqQokzGMt31e4f35kj7cjmBCCKGrtOh72fYtpLym0TrnAOe0ZIe9iLuSQgihScN5PIbiXUmLiLuSQgih/K2qXZgxxF1JIYTQpKE6HkOZu5J+KGnjwvtNJP2gvWGFEELna9VdSZ2mTOPzK20/XXlj+2+S9mxjTCGE0PlMyxqfO02ZNoZ1JG1SeSNpU8plKCGEMKQN1cbnMl/wXwd+K+lyUh55FPD5tkYVQgjdoAu/9Mso0/h8gaQ7SSO4CfjXGl3BhhDCsDKUB+opVSWUM4LIDEIIocLlBuHpRtFWEEIIzRqa+UJkDCGE0KyhWpVU5jmGDxTvSgohhEAqLaxyuanLlLlddQvg95Iuk/SWSrevIYQw7A3RLjF6zRhsfxLYidRX+PHAnyR9QdKObY4thBA62lB9jqFMiYHc53dlaM8VwCbA5ZK+0sbYQgiho2mVS03dptfGZ0kfAt4NLAHOBT5m+0VJ6wB/Ak5pb4ghhNCBurSaqIwydyWNIz3U9tfiTNurJB3WnrBCCKGzpQfchmbOUKaN4dPVmUJh2f29pc+D+9wl6bqq+SdLsqRxfU0bQggdYVXJqcuUamPop5OAHhmIpG1IY0Y/3Ne0IYTQKWSXmrpNWzMGSROAQ0ltE0Vnkdom6p6xBmlDCGHwtXAEN0nbSPqVpPsl3SvppBrrSNI3JT0oaZ6kV7XuYHpq95PPZ5MygDGVGZIOBx61PbeXRyLWSluLpCnAFIDRbNDfeEMIoaSW3nG0Avio7dmSxgCzJN1Y1WHpIaRHB3YCXgt8J/9tubaVGHLD9GLbswrzNgBOAz7d17T12J5ue5LtSaNYr79hhxBCeXa5qdfNeJHt2fn1MlIV+tZVq70VuMDJbcDGkrZs9SFBe0sM+wCHS5oMjAbGAhcC2wOV0sIEYLakvWw/1iitpItsH9PGeEMIoTz3adjOcXn4gorptqfXWlHSRGBP4PaqRVsDjxTeL8jzFpWOoqS2ZQy2pwJTASTtB5xs+4jiOpLmA5NsLymRNjKFEEJnKd+wvMT2pN5WkrQRcAXwYdtLqxfXiqBsAH0xEHcllSJpK0kzBjuOEEIorYV9JUkaRcoULrZ9ZY1VFgDbFN5PABY2GXlDA9Lttu2ZwMwa8ycWXi8EJpdNG0IIg02rWvOQQu6c9PvA/bbPrLPaNcAHJF1KanR+xnbLq5EgxmMIIYTmmFY+vLYPcCxwt6Q5ed4ngG0BbE8DZpB+PD8IPAe8p2V7rxIZQwghNEG07uE127dQuw2huI6B/2zJDnsRGUMIITSrC59qLiMyhhBCaFZkDCGEEFZrbRtDR4mMIYQQmtSqu5I6TWQMIYTQlHLdXXSjyBhCCKEZJjKGEEIIVYZmTVJkDCGE0KxuHISnjMgYQgihWZExhBBCWM2GlUOzLikyhhBCaFaUGEIIIfQQGUMIIYTVDLRuzOeOEhlDCCE0xeBoYwghhFBhovE5hBBClWhjCCGE0ENkDCGEENYYup3orTPYAYQQQlcysGpVuakXkn4gabGke+os30/SM5Lm5OnTrT6coigxhBBCs1pXYjgfOAe4oME6N9s+rFU7bCQyhhBCaErrusSw/RtJE1uysRaIqqQQQmiGwV5VagLGSbqzME1pYo97S5or6XpJu7b4aHqIEkMIITSr/JPPS2xP6seeZgPb2V4uaTJwNbBTP7bXUJQYQgihWXa5qd+78VLby/PrGcAoSeP6veE6osQQQgjNsEvdcdQKkrYAHrdtSXuRftQ/2a79RcYQQgjNatFdSZIuAfYjtUUsAE4HRqVdeBpwJPA+SSuA54Gj7fY9RBEZQwghNMV45crWbMl+Zy/LzyHdzjogImMIIYRmRLfbIYQQ1jJEu91u+11JkkZIukvSdVXzT5bkWi3rkraR9CtJ90u6V9JJ7Y4zhBD6woBXudTUbQaixHAScD8wtjJD0jbAQcDDddKsAD5qe7akMcAsSTfavq/t0YYQQhkeugP1tLXEIGkCcChwbtWis4BTSJnuWmwvsj07v15Gyli2bmOoIYTQZ165stTUbdpdYjiblAGMqcyQdDjwqO25knrdQO4/ZE/g9jrLpwCVx8tfuMmX1+ydsEONA5YMdhB91G0xd1u8EDEPhJf3dwPL+NsNN/nysg+ZddO5aV/GIOkwYLHtWZL2y/M2AE4D3lxyGxsBVwAftr201jq2pwPT8/p39vOx8wHVbfFC98XcbfFCxDwQJN3Z323YfksrYulE7Swx7AMcnvv1GE1qY7gQ2B6olBYmALMl7WX7sWJiSaNImcLFtq9sY5whhBAK2pYx2J4KTIU0yARwsu0jiutImg9Msr2kar6A7wP32z6zXTGGEEJYW8d0oidpK0kz8tt9gGOB/QsjFk0usZnp7YuwLbotXui+mLstXoiYB0K3xTug1MbuNkIIIXShjikxhBBC6AyRMYQQQuihYzIGSZtKulHSn/LfTeqs9xZJD0h6UNKpZdJLmprXf0DSwYX575A0L3e78ZXC/PUk/W9Oc3utsVgHKd53Sro7x/yzSncikrbNXYjclZfVbI/ppJjzsqMk3ZfP/4+6Iea8/Eil7lzWuj2zk+KV9JF8fudJ+oWk7Tr9HKvEtTcYMUsaozXtnXMkLZF0dl5W6vrrKrY7YgK+ApyaX58KfLnGOiOAPwM7AOsCc4FdGqUHdsnrrUe6VfbPeTubkbrkGJ/X+yFwQH79fmBafn008L8dEO9IYDEwrpD+jPx6OvC+Qvr5HXKOG8W8E3AXsEl+/9JOjzm/HwP8BriNdEddx8YLvAnYIL9+HzU+xx0Yc6/X3mDEXGPbs4A39OX666Zp0AMonOgHgC3z6y2BB2qsszdwQ+H9VGBqo/TFdfL7G/J2XgPcVJh/LPA/xXXy65GkpxY1yPGOAp4AtgMETAOm5HW+C3y8sM/fdsg5bhTzV4B/78DPRd2Y83pnA4cBM6mdMXRUvIX19wRu7fRzTIlrbzBirtruTsAjlbgoef1109QxVUnA5rYXQeorCXhpjXW2Jv1DKhawpg+leunrpXkQeIWkiZJGAv8CbFOdxvYK4BlSCWPQ4rX9IulX393AQtIvk+/ndc4AjlEa+WkG8MEasXRazDsDO0u6VdJtkuo9RdoxMUvaE9jGdo+egjs13ir/BlzfBTGXufYGPOaq7b6TVJJxfn8G5a6/rjGgGYOkmyTdU2N6a9lN1JjnGvN6TWP7b+TiNXAzMJ/Uq+vqNJV4SU9o3zyY8So9Cf4+0i+/rYB55AcISR/U821PIGV4t3bCOe4l5pGkX177kc77tbk+vCNjlrQOqfPHj0q6iVTivLRT4+2RUDqGVCJ+Zxd8Llanyee5+toblJir3h8NXFJ4X7z+JgMX5s9L1xrQgXpsH1hvmaTHJW1pe5GkLUl1kNUWsOZXPaQPzcL8ul76umlsXwtcm/c/BVhZTGP7wFyaeIxUN7n6AzII8e6RY/5z3v9lpLpRSL8G35KXv0bSQ8D+tnvE1GExLwBuy78e95X0C1Kd7+87NOYxwG6kKiRI9dcbkMbeXd3vTgfFW4nnQFL/ZDtVfx46NOZKmgWkz/Ra194gxVzZ7+7ASNuzCusUr7/fSRpN6lSw5vnuBp2Uq10DvDu/fjfwkxrr/B7YSdL2ktYl5dzX9JL+GuBopbsdtif9Sr0DQNJL899NSI1e59bY1pHAL6s/mIMQ76PALpLG5/UOInVHDqkR/YB8LP9E6pvqiRrxdFLMV5MaR1G6I2Vn4KFOjdn2M7bH2Z5oeyKp8fnwYqbQSfHC6qqv7+Y4G31JdUzMlLv2BiPminfSs7QA5a+/7jHYjRyViVSP+AvgT/nvpnn+VsCMwnqTgT+S7hY4rbf0edlpef0HgEMK8y8B7svT0YX5o4Efk6pl7gB26JB4TyRdQPNIJZ3N8vxdgFtJd1PMAd7cQee4XswCzszn/u7i+e/UmKvimkntxueOiRe4CXg8fybmANd0+jmmxLU3WDHnZQ8Br6iaV+r666YpusQIIYTQQydVJYUQQugAkTGEEELoITKGEEIIPUTGEEIIoYfIGEII/SLpZKVOBcfVWPZy9ex8bqmkD+dlX5X0B6WO566StHEh3Ssl/U6pg8W787MBSFpX0nRJf8xpj6jeZ9X+X5G384Kkk1t97ENVZAxhwEiarzW9aP62H9s5XtJWLYppvFIvnndJ+r+t2GZh24er0KNnH9N+oup90+ernSRtQ3oO4eFay20/YHsP23sArwaeA67Ki28EdrP9StItpZWhgEcCFwEn2t6V9HT8iznNacBi2zuTbhP9dS8hPgV8CPhaUwc4TEXGENoiX9x12X59PzZ/POl+9VY4APiD7T1t39zXxI2O0/Y1tr/UZFw9MoZ+nq92Ogs4hd67moB0rv9s+68Atn/u1B8SpAcGJ+TXbwbm2Z6b13vSdqVXghOAL+b5q5zHi88Z/BWSfp+nffI6i52epq9kLKGEyBiGOEmvyUX10ZI2zEXz3Wqsd1xeb66kC/O87ZT68a/0579tL/PPl3SmpF8BX5a0maSf51/j36VnPzjL89/9JM2UdHmuGrhYUqWvqk/ni/yeXH0gSUcCk4CLc9XE+pJeLenXkmZJukGpi4Pq41srZkl7kHp5nVzZVlWa+ZK+LOmOPL2sznFuKunqvO3bJL0yr3e8pHPy65pfXJI2knSe1oxNcISkLwHr55gurjpfUqqCuSeneUdv57FdJB0OPFr5Ai+huo+hohNY08nfzqQ+lW6QNFvSKXl/laqm/87zfyxp8zzvG8BZtl8DHMGaXgxCMwb7CbuY2j8BnyMVpb9NoUvhwvJdSU95VvrHrzxFei3w7vz6BODqXuafD1xH7r8e+Cbw6fz6UNKvyso+lue/+5F60JxA+qHyO2DfYhz59YXAP+fXM8lPHZO6cP4ta8bVeAfwgxrHWC/m44Fz6py3+eSnZYHjgOvqHOe3gNPz6/2BOdXbBn5UOK5tSd1sAHwZOLuwz02K56cwv3K+jiBVwYwANidV4WzZ6Dz287NzE3BPjemtwO3ASwrnalyD7axL6kJ78xrLTiNVL1UeuD0Z+Aupv6EN8rEckN8bOCKv9xHgwvx6MWue8J5D6nZjTGEfZwAnD/a12C3TgHaiFwbNZ0n9xvydVN9abX/gcudiue2n8vy9gX/Nry8k/bpuNB/gx15T7H9DZT3bP5X0tzrx3WF7AYCkOcBE4BbgTfnX4gbApsC95E4PC15O6tzuxvwDeQSwqMY+GsXcyCWFv2cV5hePc1/SFza2f5lLSi+p2s6BpP6BKu/HShqT5x9dmenU628j+wKX5H0/LunXpJ5el1L/PDbNdTq+lPR/SAPZzM3HNAGYLWkv24/VSHIIMNv241XbeTdpfIsDnL/BSR3Z/dprqolmAK8CfknPNoofkzqwg5QZ7m37+aYONPQQGcPwsCmwEenX9Wjg2arlolwdcb11ivOrt11muy8UXq8ERirdhfI/pJLBI5LOIMVeTcC9tvcusZ++xlW9Xr3jLNNVc80vrlzd05d+aRpVD611Hvuw3T6xfTeFMRAkzSf9r5bUSbJW53NKY3B8HHij7ecKi24ATpG0AfAP4I2kaiJLupZUOvolqRRxX07zc+ADwFfztvewPac/xzicRRvD8DAd+BRwManqotovgKMkbQZpPNw8/7es+TX7Ltb8+qw3v9pv8nIkHQLUHJe3jkomsETSRqSeNiuWkbrBhlQFNl7S3nk/oyTtWmN7ZWOu9o7C39/VWad4nPsBS2wvrVqn8sVFXm+POvMr5+hFpXELau3rHZJGKPVO+gZ69v456CRtlX/lV95vQLpz6cqqVc8h/R9vzO0p02B1qelMUil3Dqmk8dOc5uPAGZLmkcaY+Gie/yFgUm6nuY/USR+StlAaQOcjwCclLZA0tvVHPbREiWGIk3QcsML2jySNAH4raX/bv6ysY/teSZ8Hfi1pJWks5uNJF9sPJH2M1I3we3KSevOrfQa4RNJs0m2FNW9prMX205K+R+p5dT7pS6LifGCapOdJVURHAt/M1TcjScNv3lu1ybIxV1tP0u2kH1HvrLPOGcB5+cvqOdZ05wxrSgMfAr6d1xlJ+oI/kdT+822lAaFWks7ZlaTMfJ6k2bbfVdjeVfmY5+Ztn2L7MUmvKHk8beHUFXnl9UJSr6aV989RYxQ22y9rsL2LSLesVs//KykzrJ6/hDWZeHH+Y6y52ymUFL2rhlBHieqR3tJ/FBhr+/SWBhZCm0WJIYQ2kHQiqdT1r72sGkLHiRJDCCGEHqLxOYQQQg+RMYQQQughMoYQQgg9RMYQQgihh8gYQggh9PD/AWmf9u+WKdUJAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "geo_grid_interp.test_attr.isel(test_time_attr=0).plot()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/examples/vectorize.html b/refs/tags/0.7.0/examples/vectorize.html new file mode 100644 index 0000000..0cc31a0 --- /dev/null +++ b/refs/tags/0.7.0/examples/vectorize.html @@ -0,0 +1,212 @@ + + + + + + + + + Example - Raster DataArray to GeoDataFrame (vectorize) — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Example - Raster DataArray to GeoDataFrame (vectorize)

+
+
[1]:
+
+
+
import geopandas
+
+from geocube.api.core import make_geocube
+from geocube.vector import vectorize
+
+%matplotlib inline
+
+
+
+
+

Generate Raster DataArray

+
+
[2]:
+
+
+
gdf = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))
+geo_grid = make_geocube(
+    vector_data=gdf,
+    measurements=['pop_est'],
+    resolution=(-3.0, 3.0),
+)
+geo_grid["pop_est"].plot()
+
+
+
+
+
[2]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x7fd708913f40>
+
+
+
+
+
+
+../_images/examples_vectorize_3_1.png +
+
+
+
+

Convert to GeoDataFrame (vectorize)

+
+
[3]:
+
+
+
grid_gdf = vectorize(geo_grid.pop_est.astype("float32"))
+grid_gdf.plot(column="pop_est")
+
+
+
+
+
[3]:
+
+
+
+
+<AxesSubplot: >
+
+
+
+
+
+
+../_images/examples_vectorize_5_1.png +
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/examples/vectorize.ipynb b/refs/tags/0.7.0/examples/vectorize.ipynb new file mode 100644 index 0000000..331ba07 --- /dev/null +++ b/refs/tags/0.7.0/examples/vectorize.ipynb @@ -0,0 +1,132 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Raster DataArray to GeoDataFrame (vectorize)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "\n", + "from geocube.api.core import make_geocube\n", + "from geocube.vector import vectorize\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Generate Raster DataArray" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gdf = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))\n", + "geo_grid = make_geocube(\n", + " vector_data=gdf,\n", + " measurements=['pop_est'],\n", + " resolution=(-3.0, 3.0),\n", + ")\n", + "geo_grid[\"pop_est\"].plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Convert to GeoDataFrame (vectorize)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "grid_gdf = vectorize(geo_grid.pop_est.astype(\"float32\"))\n", + "grid_gdf.plot(column=\"pop_est\")" + ] + } + ], + "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.9.15" + }, + "vscode": { + "interpreter": { + "hash": "f7286e25aede83087e9621ce0e75f07eda2aa917ee0205c1a0b96e7ba4f20042" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/examples/zonal_statistics.html b/refs/tags/0.7.0/examples/zonal_statistics.html new file mode 100644 index 0000000..f615961 --- /dev/null +++ b/refs/tags/0.7.0/examples/zonal_statistics.html @@ -0,0 +1,874 @@ + + + + + + + + + Example - Zonal Statistics — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Example - Zonal Statistics

+

This is useful in the case where you want to get regional statistics for a raster.

+
+
[1]:
+
+
+
import geopandas
+import numpy
+import rioxarray
+import xarray
+
+from geocube.api.core import make_geocube
+
+%matplotlib inline
+
+
+
+
+

Create the data mask by rasterizing the unique ID of the vector data

+

See docs for make_geocube

+
+
[2]:
+
+
+
# This assumes you are running this example from a clone of
+# https://github.com/corteva/geocube/
+# You could also use the full path:
+# https://raw.githubusercontent.com/corteva/geocube/master/test/test_data/input/soil_data_group.geojson
+ssurgo_data = geopandas.read_file("../../test/test_data/input/soil_data_group.geojson")
+ssurgo_data = ssurgo_data.loc[ssurgo_data.hzdept_r==0]
+# convert the key to group to the vector data to an integer as that is one of the
+# best data types for this type of mapping. If your data is not integer,
+# then consider using a mapping of your data to an integer with something
+# like a categorical dtype.
+ssurgo_data["mukey"] = ssurgo_data.mukey.astype(int)
+
+
+
+
+
[3]:
+
+
+
# load in source elevation data subset relevant for the vector data
+elevation = rioxarray.open_rasterio(
+    "https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/13/TIFF/current/n42w091/USGS_13_n42w091.tif", masked=True
+).rio.clip(
+    ssurgo_data.geometry.values, ssurgo_data.crs, from_disk=True
+).sel(band=1).drop("band")
+elevation.name = "elevation"
+
+
+
+
+
[4]:
+
+
+
out_grid = make_geocube(
+    vector_data=ssurgo_data,
+    measurements=["mukey"],
+    like=elevation, # ensure the data are on the same grid
+)
+
+
+
+
+
[5]:
+
+
+
# merge the two together
+out_grid["elevation"] = (elevation.dims, elevation.values, elevation.attrs, elevation.encoding)
+out_grid
+
+
+
+
+
[5]:
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:      (y: 178, x: 178)
+Coordinates:
+  * y            (y) float64 41.5 41.5 41.5 41.5 ... 41.48 41.48 41.48 41.48
+  * x            (x) float64 -90.6 -90.6 -90.6 -90.6 ... -90.58 -90.58 -90.58
+    spatial_ref  int64 0
+Data variables:
+    mukey        (y, x) float64 1.988e+05 1.988e+05 ... 1.987e+05 1.987e+05
+    elevation    (y, x) float64 173.7 172.0 171.1 170.6 ... 181.0 181.2 181.4
+
+
+
[6]:
+
+
+
out_grid.mukey.plot.imshow()
+
+
+
+
+
[6]:
+
+
+
+
+<matplotlib.image.AxesImage at 0x7f2dd5398550>
+
+
+
+
+
+
+../_images/examples_zonal_statistics_7_1.png +
+
+
+
[7]:
+
+
+
out_grid.elevation.plot()
+
+
+
+
+
[7]:
+
+
+
+
+<matplotlib.collections.QuadMesh at 0x7f2dd5282ed0>
+
+
+
+
+
+
+../_images/examples_zonal_statistics_8_1.png +
+
+
+

Get the elevation statistics of each region using the mask

+
+
[8]:
+
+
+
grouped_elevation = out_grid.drop("spatial_ref").groupby(out_grid.mukey)
+grid_mean = grouped_elevation.mean().rename({"elevation": "elevation_mean"})
+grid_min = grouped_elevation.min().rename({"elevation": "elevation_min"})
+grid_max = grouped_elevation.max().rename({"elevation": "elevation_max"})
+grid_std = grouped_elevation.std().rename({"elevation": "elevation_std"})
+
+
+
+
+
[9]:
+
+
+
zonal_stats = xarray.merge([grid_mean, grid_min, grid_max, grid_std]).to_dataframe()
+zonal_stats
+
+
+
+
+
[9]:
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
elevation_meanelevation_minelevation_maxelevation_std
mukey
198692.0173.130925169.394562188.4425053.307044
198714.0175.045866170.214157179.7166752.150987
198724.0179.931131178.237244181.4903870.630699
198750.0176.187118167.951233190.1387633.815206
198754.0171.633084167.610321181.6112982.997591
271425.0167.974433167.951233168.6530150.079769
271431.0176.718101170.258133180.4602202.731732
+
+
+
+
[10]:
+
+
+
ssurgo_data = ssurgo_data.merge(zonal_stats, on="mukey")
+
+
+
+
+
[11]:
+
+
+
ssurgo_data.plot(column="elevation_mean", legend=True)
+
+
+
+
+
[11]:
+
+
+
+
+<AxesSubplot:>
+
+
+
+
+
+
+../_images/examples_zonal_statistics_13_1.png +
+
+
+
[12]:
+
+
+
ssurgo_data.plot(column="elevation_max", legend=True)
+
+
+
+
+
[12]:
+
+
+
+
+<AxesSubplot:>
+
+
+
+
+
+
+../_images/examples_zonal_statistics_14_1.png +
+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/examples/zonal_statistics.ipynb b/refs/tags/0.7.0/examples/zonal_statistics.ipynb new file mode 100644 index 0000000..6e34840 --- /dev/null +++ b/refs/tags/0.7.0/examples/zonal_statistics.ipynb @@ -0,0 +1,845 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example - Zonal Statistics\n", + "This is useful in the case where you want to get regional statistics for a raster." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas\n", + "import numpy\n", + "import rioxarray\n", + "import xarray\n", + "\n", + "from geocube.api.core import make_geocube\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create the data mask by rasterizing the unique ID of the vector data\n", + "\n", + "See docs for [make_geocube](../geocube.rst#make-geocube)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# This assumes you are running this example from a clone of\n", + "# https://github.com/corteva/geocube/\n", + "# You could also use the full path: \n", + "# https://raw.githubusercontent.com/corteva/geocube/master/test/test_data/input/soil_data_group.geojson\n", + "ssurgo_data = geopandas.read_file(\"../../test/test_data/input/soil_data_group.geojson\")\n", + "ssurgo_data = ssurgo_data.loc[ssurgo_data.hzdept_r==0]\n", + "# convert the key to group to the vector data to an integer as that is one of the\n", + "# best data types for this type of mapping. If your data is not integer,\n", + "# then consider using a mapping of your data to an integer with something\n", + "# like a categorical dtype.\n", + "ssurgo_data[\"mukey\"] = ssurgo_data.mukey.astype(int)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# load in source elevation data subset relevant for the vector data\n", + "elevation = rioxarray.open_rasterio(\n", + " \"https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/13/TIFF/current/n42w091/USGS_13_n42w091.tif\", masked=True\n", + ").rio.clip(\n", + " ssurgo_data.geometry.values, ssurgo_data.crs, from_disk=True\n", + ").sel(band=1).drop(\"band\")\n", + "elevation.name = \"elevation\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "out_grid = make_geocube(\n", + " vector_data=ssurgo_data,\n", + " measurements=[\"mukey\"],\n", + " like=elevation, # ensure the data are on the same grid\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:      (y: 178, x: 178)\n",
+       "Coordinates:\n",
+       "  * y            (y) float64 41.5 41.5 41.5 41.5 ... 41.48 41.48 41.48 41.48\n",
+       "  * x            (x) float64 -90.6 -90.6 -90.6 -90.6 ... -90.58 -90.58 -90.58\n",
+       "    spatial_ref  int64 0\n",
+       "Data variables:\n",
+       "    mukey        (y, x) float64 1.988e+05 1.988e+05 ... 1.987e+05 1.987e+05\n",
+       "    elevation    (y, x) float64 173.7 172.0 171.1 170.6 ... 181.0 181.2 181.4
" + ], + "text/plain": [ + "\n", + "Dimensions: (y: 178, x: 178)\n", + "Coordinates:\n", + " * y (y) float64 41.5 41.5 41.5 41.5 ... 41.48 41.48 41.48 41.48\n", + " * x (x) float64 -90.6 -90.6 -90.6 -90.6 ... -90.58 -90.58 -90.58\n", + " spatial_ref int64 0\n", + "Data variables:\n", + " mukey (y, x) float64 1.988e+05 1.988e+05 ... 1.987e+05 1.987e+05\n", + " elevation (y, x) float64 173.7 172.0 171.1 170.6 ... 181.0 181.2 181.4" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# merge the two together\n", + "out_grid[\"elevation\"] = (elevation.dims, elevation.values, elevation.attrs, elevation.encoding)\n", + "out_grid" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "out_grid.mukey.plot.imshow()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "out_grid.elevation.plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get the elevation statistics of each region using the mask" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "grouped_elevation = out_grid.drop(\"spatial_ref\").groupby(out_grid.mukey)\n", + "grid_mean = grouped_elevation.mean().rename({\"elevation\": \"elevation_mean\"})\n", + "grid_min = grouped_elevation.min().rename({\"elevation\": \"elevation_min\"})\n", + "grid_max = grouped_elevation.max().rename({\"elevation\": \"elevation_max\"})\n", + "grid_std = grouped_elevation.std().rename({\"elevation\": \"elevation_std\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "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", + "
elevation_meanelevation_minelevation_maxelevation_std
mukey
198692.0173.130925169.394562188.4425053.307044
198714.0175.045866170.214157179.7166752.150987
198724.0179.931131178.237244181.4903870.630699
198750.0176.187118167.951233190.1387633.815206
198754.0171.633084167.610321181.6112982.997591
271425.0167.974433167.951233168.6530150.079769
271431.0176.718101170.258133180.4602202.731732
\n", + "
" + ], + "text/plain": [ + " elevation_mean elevation_min elevation_max elevation_std\n", + "mukey \n", + "198692.0 173.130925 169.394562 188.442505 3.307044\n", + "198714.0 175.045866 170.214157 179.716675 2.150987\n", + "198724.0 179.931131 178.237244 181.490387 0.630699\n", + "198750.0 176.187118 167.951233 190.138763 3.815206\n", + "198754.0 171.633084 167.610321 181.611298 2.997591\n", + "271425.0 167.974433 167.951233 168.653015 0.079769\n", + "271431.0 176.718101 170.258133 180.460220 2.731732" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zonal_stats = xarray.merge([grid_mean, grid_min, grid_max, grid_std]).to_dataframe()\n", + "zonal_stats" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "ssurgo_data = ssurgo_data.merge(zonal_stats, on=\"mukey\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ssurgo_data.plot(column=\"elevation_mean\", legend=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ssurgo_data.plot(column=\"elevation_max\", legend=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/refs/tags/0.7.0/genindex.html b/refs/tags/0.7.0/genindex.html new file mode 100644 index 0000000..8a4f694 --- /dev/null +++ b/refs/tags/0.7.0/genindex.html @@ -0,0 +1,419 @@ + + + + + + + + Index — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ + +

Index

+ +
+ Symbols + | G + | M + | O + | R + | S + | V + +
+

Symbols

+ + + +
+ +

G

+ + + +
+ +

M

+ + + +
+ +

O

+ + +
+ +

R

+ + + +
+ +

S

+ + +
+ +

V

+ + + +
+ + + +
+
+
+ +
+ +
+

© Copyright 2019-2023, Corteva Agriscience™.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/geocube.html b/refs/tags/0.7.0/geocube.html new file mode 100644 index 0000000..51bf055 --- /dev/null +++ b/refs/tags/0.7.0/geocube.html @@ -0,0 +1,360 @@ + + + + + + + + + Core — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Core

+
+

make_geocube

+
+
+geocube.api.core.make_geocube(vector_data: str | PathLike | GeoDataFrame, *, measurements: list[str] | None = None, datetime_measurements: list[str] | None = None, output_crs: Any | None = None, resolution: float | Iterable[float] | None = None, align: tuple[float, float] | None = None, geom: str | dict | BaseGeometry | Geometry | None = None, like: Dataset | DataArray | None = None, fill: float = nan, group_by: str | None = None, interpolate_na_method: Literal['linear', 'nearest', 'cubic'] | None = None, categorical_enums: dict[str, list] | None = None, rasterize_function: Callable[[...], ndarray[Any, dtype[_ScalarType_co]] | None] | None = None) Dataset[source]
+

Rasterize vector data into an xarray object. Each attribute will be a data +variable in the xarray.Dataset.

+
+
Parameters:
+
    +
  • vector_data (str, path-like object or geopandas.GeoDataFrame) – A file path to an OGR supported source or GeoDataFrame containing +the vector data.

  • +
  • measurements (list(str), optional) – Attributes name or list of names to be included. If a list is specified, +the attributes will be returned in the order requested. +By default all available attributes are included.

  • +
  • datetime_measurements (list(str), optional) – Attributes that are temporal in nature and should be converted to the datetime +format. These are only included if listed in ‘measurements’.

  • +
  • output_crs (Any, optional) – The CRS of the returned data. Can be anything accepted by pyproj.CRS. +If no CRS is supplied, the CRS of the stored data is used.

  • +
  • resolution (Union[float, Iterable[float]], optional) – A tuple of the spatial resolution of the returned data (Y, X). +This includes the direction (as indicated by a positive or negative number). +Typically when using most CRSs, the first number would be negative.

  • +
  • align (tuple[float, float], optional) – Load data such that point ‘align’ lies on the pixel boundary. +Units are in the co-ordinate space of the output CRS. +Default is (0,0)

  • +
  • geom (Union[str, dict, shapely.geometry.base.BaseGeometry, odc.geo.geom.Geometry], optional) –

    A GeoJSON string for the bounding box of the data used to construct the +grid. It defaults to EPSG:4326 if a CRS is not provided. +Example of adding CRS:

    +
    {"type": "Polygon", "crs": {"properties": {"name": "EPSG:3857"}}}
    +
    +
    +

  • +
  • like (xarray.Dataset, optional) –

    Uses the output of a previous load() to form the basis of a request +for another product. +E.g.:

    +
    gcds = make_geocube(vector_data='my_vector.geopackage', like=other_gcds)
    +
    +
    +

  • +
  • fill (float, optional) – The value to fill in the grid with for nodata. Default is NaN.

  • +
  • group_by (str, optional) – When specified, perform basic combining/reducing of the data on this column.

  • +
  • interpolate_na_method ({'linear', 'nearest', 'cubic'}, optional) – This is the method for interpolation to use to fill in the nodata with +scipy.interpolate.griddata().

  • +
  • categorical_enums (dict, optional) – A dictionary of all categories for the table columns containing categorical +data. The categories will be made unique and sorted if they are not already. +E.g. {‘column_name’: [‘a’, ‘b’], ‘other_column’: [‘c’, ‘d’]}

  • +
  • rasterize_function (function, optional) – Function to rasterize geometries. Other options are available in +geocube.rasterize. Default is geocube.rasterize.rasterize_image().

  • +
+
+
Returns:
+

Requested data in a xarray.Dataset.

+
+
Return type:
+

xarray.Dataset

+
+
+
+ +
+
+

rasterize

+
+
+geocube.rasterize.rasterize_image(*, geometry_array: GeoSeries, data_values: ndarray[Any, dtype[_ScalarType_co]] | IntegerArray, geobox: GeoBox, fill: float, merge_alg: MergeAlg = MergeAlg.replace, filter_nan: bool = False, all_touched: bool = False, **ignored_kwargs) ndarray[Any, dtype[_ScalarType_co]] | None[source]
+

Rasterize a list of shapes+values for a given GeoBox.

+
+
Parameters:
+
    +
  • geometry_array (geopandas.GeoSeries) – A geometry array of points.

  • +
  • data_values (Union[NDArray, pandas.arrays.IntegerArray]) – Data values associated with the list of geojson shapes

  • +
  • geobox (odc.geo.geobox.GeoBox) – Transform of the resulting image.

  • +
  • fill (float) – The value to fill in the grid with for nodata.

  • +
  • merge_alg (rasterio.enums.MergeAlg, optional) – The algorithm for merging values into one cell. Default is MergeAlg.replace.

  • +
  • filter_nan (bool, optional) – If True, will remove nodata values from the data before rasterization. +Default is False.

  • +
  • all_touched (bool, optional) – Passed to rasterio.features.rasterize. If True, all pixels touched by +geometries will be burned in. If false, only pixels whose center is +within the polygon or that are selected by Bresenham’s line algorithm +will be burned in.

  • +
  • **ignored_kwargs – These are there to be flexible with additional rasterization methods and +will be ignored.

  • +
+
+
Returns:
+

The vector data in the rasterized format.

+
+
Return type:
+

numpy.ndarray or None

+
+
+
+ +
+
+geocube.rasterize.rasterize_points_griddata(*, geometry_array: GeoSeries, data_values: ndarray[Any, dtype[_ScalarType_co]], grid_coords: dict[str, ndarray[Any, dtype[_ScalarType_co]]], fill: float, method: str = 'nearest', rescale: bool = False, filter_nan: bool = False, **ignored_kwargs) ndarray[Any, dtype[_ScalarType_co]] | None[source]
+

This method uses scipy.interpolate.griddata to interpolate point data +to a grid.

+
+
Parameters:
+
    +
  • geometry_array (geopandas.GeoSeries) – A geometry array of points.

  • +
  • data_values (list) – Data values associated with the list of geojson shapes

  • +
  • grid_coords (dict) – Output from rioxarray.rioxarray.affine_to_coords

  • +
  • fill (float) – The value to fill in the grid with for nodata.

  • +
  • method ({'linear', 'nearest', 'cubic'}, optional) – The method to use for interpolation in scipy.interpolate.griddata.

  • +
  • rescale (bool, optional) – Rescale points to unit cube before performing interpolation. Default is false.

  • +
  • filter_nan (bool, optional) – If True, will remove nodata values from the data before rasterization. +Default is False.

  • +
  • **ignored_kwargs – These are there to be flexible with additional rasterization methods and +will be ignored.

  • +
+
+
Returns:
+

:class:`numpy.ndarray`

+
+
Return type:
+

An interpolated numpy.ndarray.

+
+
+
+ +
+
+geocube.rasterize.rasterize_points_radial(*, geometry_array: GeoSeries, data_values: ndarray[Any, dtype[_ScalarType_co]], grid_coords: dict[str, ndarray[Any, dtype[_ScalarType_co]]], method: str = 'linear', filter_nan=False, **ignored_kwargs) ndarray[Any, dtype[_ScalarType_co]] | None[source]
+

This method uses scipy.interpolate.Rbf to interpolate point data +to a grid.

+
+
Parameters:
+
    +
  • geometry_array (geopandas.GeoSeries) – A geometry array of points.

  • +
  • data_values (list) – Data values associated with the list of geojson shapes

  • +
  • grid_coords (dict) – Output from rioxarray.rioxarray.affine_to_coords

  • +
  • method (str, optional) – The function to use for interpolation in scipy.interpolate.Rbf. +{‘multiquadric’, ‘inverse’, ‘gaussian’, ‘linear’, +‘cubic’, ‘quintic’, ‘thin_plate’}

  • +
  • filter_nan (bool, optional) – If True, will remove nodata values from the data before rasterization. +Default is False.

  • +
  • **ignored_kwargs – These are there to be flexible with additional rasterization methods and +will be ignored.

  • +
+
+
Returns:
+

:class:`numpy.ndarray`

+
+
Return type:
+

An interpolated numpy.ndarray.

+
+
+
+ +
+
+

vectorize

+
+
+geocube.vector.vectorize(data_array: DataArray) GeoDataFrame[source]
+
+

Added in version 0.4.0.

+
+

Powered by: rasterio.features.shapes()

+

Convert 2D xarray.DataArray into +a geopandas.GeoDataFrame.

+

The nodata, CRS, and transform of the xarray.DataArray +are determined using rioxarray.

+

Helpful references:

+ +
+
Parameters:
+

data_array (xarray.DataArray) – Input 2D DataArray raster.

+
+
Return type:
+

geopandas.GeoDataFrame

+
+
+
+ +
+
+

show_versions

+
+
+geocube.show_versions()[source]
+
+

Added in version 0.0.12.

+
+

Print useful debugging information

+

Example

+

> python -c “import geocube; geocube.show_versions()”

+
+ +
+
+

exceptions

+

This contains exceptions for GeoCube.

+
+
+exception geocube.exceptions.GeoCubeError[source]
+

Bases: RuntimeError

+

Base GeoCube exception class.

+
+ +
+
+exception geocube.exceptions.VectorDataError[source]
+

Bases: GeoCubeError

+

This is for errors in the vector data passed into GeoCube.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/getting_started.html b/refs/tags/0.7.0/getting_started.html new file mode 100644 index 0000000..b27e581 --- /dev/null +++ b/refs/tags/0.7.0/getting_started.html @@ -0,0 +1,150 @@ + + + + + + + + + Getting Started — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Getting Started

+

geocube combines the interfaces of:

+ +

and is powered by GDAL using:

+ +

When getting started, the API documentation to start reading would be geocube.api.core.make_geocube().

+

The simplest example would be to rasterize a single column:

+
from geocube.api.core import make_geocube
+
+out_grid = make_geocube(
+    vector_data="path_to_file.gpkg",
+    measurements=["column_name"],
+    resolution=(-0.0001, 0.0001),
+)
+out_grid["column_name"].rio.to_raster("my_rasterized_column.tif")
+
+
+

You can also rasterize a GeoDataFrame +directly in the vector_data argument. This enables you to load in subsets of data +or perform various operations before rasterization.

+

Once finished, you can write to anything supported by rasterio +using rioxarray’s rio.to_raster() method. +You can also write to a netCDF file using xarray’s to_netcdf().

+

However, life is only this simple when your data is perfectly clean, geospatially unique, and numeric. +The good news is that geocube supports a variety of use cases and custom rasterization functions if your dataset +does not meet these criteria (see: Usage Examples).

+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/history.html b/refs/tags/0.7.0/history.html new file mode 100644 index 0000000..2b353cc --- /dev/null +++ b/refs/tags/0.7.0/history.html @@ -0,0 +1,361 @@ + + + + + + + + + History — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

History

+
+

0.7.0

+
    +
  • DEP: remove numpy<2 pin (pull #179)

  • +
  • REF: Make kwargs required (pull #180)

  • +
+
+
+

0.6.0

+
    +
  • DEP: Update to geopandas 1 (pull #176)

  • +
+
+
+

0.5.3

+
    +
  • DEP: Pin geopandas<1 & numpy<2 (pull #175)

  • +
  • MNT: Use pyproject.toml for project metadata (pull #172)

  • +
+
+
+

0.5.2

+
    +
  • BUG: Recalc transform when vectorizing (issue #165)

  • +
+
+
+

0.5.1

+
    +
  • Add default value in vectorize when dataarray has no name, and a warning (pull #166)

  • +
+
+
+

0.5.0

+
    +
  • BUG: Ignore categorical columns not in measurements (pull #161)

  • +
  • ENH: Read subset of measurements for efficiency (pull #161)

  • +
+
+
+

0.4.3

+
    +
  • DEP: Support Python 3.10+ (pull #156)

  • +
  • BUG: Update minimize dtype for int64 & int8 support (issue #139)

  • +
  • BUG: Support pandas IntegerArray (pull #158)

  • +
+
+
+

0.4.2

+
    +
  • BUG: Fix conversion to datetime64[ns] for naive datetimes (pull #145)

  • +
+
+
+

0.4.1

+ +
+
+

0.4.0

+ +
+
+

0.3.3

+
    +
  • BUG: Allow resolution in list format (pull #122)

  • +
+
+
+

0.3.2

+
    +
  • MNT: corrections to setup.cfg; use “pytest”; add “make dist” target (pull #111)

  • +
  • BUG: Write transform on output dataset (pull #112)

  • +
+
+
+

0.3.1

+
    +
  • TYPE: Modified NDArray import for typing (pull #106)

  • +
+
+
+

0.3.0

+
    +
  • BUG: Handle input CRS without EPSG (pull #105)

  • +
  • TYPE: Added type hints (pull #101)

  • +
+
+
+

0.2.0

+
    +
  • DEP: Replace datacube with odc-geo (issue #90)

  • +
+
+
+

0.1.2

+
    +
  • BUG: Fix width and height order to the one used in rioxarray (issue #93)

  • +
+
+
+

0.1.1

+
    +
  • DEP: Drop Python 3.7 Support (issue #86)

  • +
  • BUG: Updated logic to skip rasterizing strings for numpy 1.22+ (issue #88)

  • +
+
+
+

0.1.0

+
    +
  • ENH: Minimize dtype when possible in geocube.rasterize.rasterize_image (issue #72)

  • +
  • REF: remove unnecessary shapely.geometry.mapping in rasterize_image (#80)

  • +
  • ENH: vector_data to read path-like objects (pull #81)

  • +
+
+
+

0.0.18

+
    +
  • DEP: Explicitly add scipy as dependency (pull #75)

  • +
+
+
+

0.0.17

+
    +
  • DEP: Python 3.7+ (#67)

  • +
  • REF: Write grid_mapping to encoding instead of attrs (#66)

  • +
+
+
+

0.0.16

+
    +
  • BUG: Compatibility with rioxarray 0.3 (#57)

  • +
+
+
+

0.0.15

+
    +
  • Address xarray & numpy deprecations (#43)

  • +
+
+
+

0.0.14

+
    +
  • Add “all_touched” keyword argument to geocube.rasterize.rasterize_image (pull #40)

  • +
+
+
+

0.0.13

+
    +
  • Address deprecation warnings from datacube and rioxarray (issue #29)

  • +
+
+
+

0.0.12

+
    +
  • ENH: Added geocube.show_versions() and cli geocube –show-versions (pull #23)

  • +
  • Add compatibility between datacube and geopandas CRS versions (pull #24)

  • +
+
+
+

0.0.11

+
    +
  • Drop Python 3.5 Support (issue #12)

  • +
  • ENH: Update to support geopandas with pyproj.CRS (pull #18)

  • +
  • BUG: Update timestamp handling to ensure correct format for dtype (pull #18)

  • +
+
+
+

0.0.10

+
    +
  • Added filter_nan kwarg to filter out missing data when rasterizing (issue #9)

  • +
  • Change default fill value to NaN when rasterizing (pull #11)

  • +
+
+
+

0.0.9

+
    +
  • Added rescale kwarg to geocube.rasterize.rasterize_points_griddata. (pull #8)

  • +
  • Removed fillna(numpy.nan) in geocube.geo_utils.geobox.load_vector_data as not necessary +and for compatibility with geopandas==0.6.0. (pull #8)

  • +
+
+
+

0.0.8

+
    +
  • Add merge algorithm option for rasterization (issue #5)

  • +
  • Drop Python 2 support (issue #6)

  • +
+
+
+

0.0.7

+
    +
  • Remove geocube pin (pull #4)

  • +
+
+
+

0.0.6

+
    +
  • Added additional methods for resampling points to a 2D grid (pull #3)

  • +
+
+
+

0.0.5

+
    +
  • Fix converting to another projection to ensure bounds are correctly accounted for (pull #2)

  • +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/index.html b/refs/tags/0.7.0/index.html new file mode 100644 index 0000000..8bed1cd --- /dev/null +++ b/refs/tags/0.7.0/index.html @@ -0,0 +1,139 @@ + + + + + + + + + Welcome to geocube’s documentation! — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Welcome to geocube’s documentation!

+

GitHub: http://github.com/corteva/geocube

+ +
+
+

Indices and tables

+ +
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/installation.html b/refs/tags/0.7.0/installation.html new file mode 100644 index 0000000..8e86463 --- /dev/null +++ b/refs/tags/0.7.0/installation.html @@ -0,0 +1,167 @@ + + + + + + + + + Installation — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Installation

+
+

Stable release

+

Use pip to install from PyPI:

+

Install from pip:

+
python -m pip install geocube
+
+
+

Use conda with the conda-forge channel:

+
conda config --prepend channels conda-forge
+conda config --set channel_priority strict
+conda create -n geocube_env geocube
+conda activate geocube_env
+
+
+ +
+

Note

+

“… we recommend always installing your packages inside a +new environment instead of the base environment from +anaconda/miniconda. Using envs make it easier to +debug problems with packages and ensure the stability +of your root env.” +– https://conda-forge.org/docs/user/tipsandtricks.html

+
+
+

Warning

+

Avoid using pip install with a conda environment. If you encounter +a python package that isn’t in conda-forge, consider submitting a +recipe: https://github.com/conda-forge/staged-recipes/

+
+
+
+

From source

+

The source for geocube can be installed from the GitHub repo.

+
python -m pip install git+git://github.com/corteva/geocube.git#egg=geocube
+
+
+

To install for local development:

+
git clone git@github.com:corteva/geocube.git
+cd geocube
+python -m pip install -e .[dev]
+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/modules.html b/refs/tags/0.7.0/modules.html new file mode 100644 index 0000000..c36ec5b --- /dev/null +++ b/refs/tags/0.7.0/modules.html @@ -0,0 +1,158 @@ + + + + + + + + + API Documentation — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

API Documentation

+

This page serves as the index for the lower level per-module documentation tree.

+ +
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/objects.inv b/refs/tags/0.7.0/objects.inv new file mode 100644 index 0000000..ed9debe Binary files /dev/null and b/refs/tags/0.7.0/objects.inv differ diff --git a/refs/tags/0.7.0/py-modindex.html b/refs/tags/0.7.0/py-modindex.html new file mode 100644 index 0000000..2c60d8d --- /dev/null +++ b/refs/tags/0.7.0/py-modindex.html @@ -0,0 +1,133 @@ + + + + + + + + Python Module Index — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ + +

Python Module Index

+ +
+ g +
+ + + + + + + + + + +
 
+ g
+ geocube +
    + geocube.exceptions +
+ + +
+
+
+ +
+ +
+

© Copyright 2019-2023, Corteva Agriscience™.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/readme.html b/refs/tags/0.7.0/readme.html new file mode 100644 index 0000000..9fb46f1 --- /dev/null +++ b/refs/tags/0.7.0/readme.html @@ -0,0 +1,167 @@ + + + + + + + + + geocube README — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

geocube README

+

Tool to convert geopandas vector data into rasterized xarray data.

+Join the chat at https://gitter.im/corteva--geocube/community + +All Contributors + +https://img.shields.io/badge/license-BSD%203--Clause-yellow.svg + +https://img.shields.io/pypi/v/geocube.svg + +https://pepy.tech/badge/geocube + +https://img.shields.io/conda/vn/conda-forge/geocube.svg + +https://github.com/corteva/geocube/workflows/Tests/badge.svg + +https://ci.appveyor.com/api/projects/status/bjxhlbt5tjsonwo8/branch/master?svg=true + +https://codecov.io/gh/corteva/geocube/branch/master/graph/badge.svg + +https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white + +https://img.shields.io/badge/code%20style-black-000000.svg + +https://zenodo.org/badge/179524523.svg + +
+

Documentation

+ +
+
+

Bugs/Questions

+ +
+
+

Credits

+

This package was originally templated with with Cookiecutter.

+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/search.html b/refs/tags/0.7.0/search.html new file mode 100644 index 0000000..12d7254 --- /dev/null +++ b/refs/tags/0.7.0/search.html @@ -0,0 +1,128 @@ + + + + + + + + Search — geocube 0.7.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ + + + +
+ +
+ +
+
+
+ +
+ +
+

© Copyright 2019-2023, Corteva Agriscience™.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/refs/tags/0.7.0/searchindex.js b/refs/tags/0.7.0/searchindex.js new file mode 100644 index 0000000..c794fef --- /dev/null +++ b/refs/tags/0.7.0/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"alltitles": {"0.0.10": [[13, "id27"]], "0.0.11": [[13, "id26"]], "0.0.12": [[13, "id25"]], "0.0.13": [[13, "id24"]], "0.0.14": [[13, "id23"]], "0.0.15": [[13, "id22"]], "0.0.16": [[13, "id21"]], "0.0.17": [[13, "id20"]], "0.0.18": [[13, "id19"]], "0.0.5": [[13, "id32"]], "0.0.6": [[13, "id31"]], "0.0.7": [[13, "id30"]], "0.0.8": [[13, "id29"]], "0.0.9": [[13, "id28"]], "0.1.0": [[13, "id18"]], "0.1.1": [[13, "id17"]], "0.1.2": [[13, "id16"]], "0.2.0": [[13, "id15"]], "0.3.0": [[13, "id14"]], "0.3.1": [[13, "id13"]], "0.3.2": [[13, "id12"]], "0.3.3": [[13, "id11"]], "0.4.0": [[13, "id10"]], "0.4.1": [[13, "id9"]], "0.4.2": [[13, "id8"]], "0.4.3": [[13, "id7"]], "0.5.0": [[13, "id6"]], "0.5.1": [[13, "id5"]], "0.5.2": [[13, "id4"]], "0.5.3": [[13, "id3"]], "0.6.0": [[13, "id2"]], "0.7.0": [[13, "id1"]], "API Documentation": [[16, null]], "Bugs/Questions": [[17, "bugs-questions"]], "Contents:": [[14, null], [16, null]], "Contributing": [[2, null]], "Contributors \u2728": [[0, null]], "Convert data to grid": [[3, "Convert-data-to-grid"], [5, "Convert-data-to-grid"]], "Convert to GeoDataFrame (vectorize)": [[9, "Convert-to-GeoDataFrame-(vectorize)"]], "Convert to raster with GeoCube": [[7, "Convert-to-raster-with-GeoCube"], [8, "Convert-to-raster-with-GeoCube"]], "Core": [[11, null]], "Create the data mask by rasterizing the unique ID of the vector data": [[10, "Create-the-data-mask-by-rasterizing-the-unique-ID-of-the-vector-data"]], "Credits": [[17, "credits"]], "Dealing with categorical data": [[3, "Dealing-with-categorical-data"]], "Documentation": [[17, "documentation"]], "Example - Categorical Data": [[3, null]], "Example - Filling in missing data & dealing with timestamps": [[8, null]], "Example - Mapping Grid Data to Vector Data": [[5, null]], "Example - Raster DataArray to GeoDataFrame (vectorize)": [[9, null]], "Example - Rasterizing Point Data": [[7, null]], "Example - Use a rasterize function when creating a raster": [[6, null]], "Example - Zonal Statistics": [[10, null]], "Fix Bugs": [[2, "fix-bugs"]], "From source": [[15, "from-source"]], "Generate Raster DataArray": [[9, "Generate-Raster-DataArray"]], "Generate categories for categorical data": [[3, "Generate-categories-for-categorical-data"]], "Get Started!": [[2, "get-started"]], "Get the elevation statistics of each region using the mask": [[10, "Get-the-elevation-statistics-of-each-region-using-the-mask"]], "Get the mean/median of each region using the unique ID": [[5, "Get-the-mean/median-of-each-region-using-the-unique-ID"]], "Getting Started": [[12, null]], "History": [[13, null]], "Implement Features": [[2, "implement-features"]], "Indices and tables": [[14, "indices-and-tables"]], "Installation": [[15, null]], "Load in geopackage data and add CRS": [[7, "Load-in-geopackage-data-and-add-CRS"], [8, "Load-in-geopackage-data-and-add-CRS"]], "Load in soil data": [[3, "Load-in-soil-data"]], "Load into UTM grid followed by interpolation for missing values": [[8, "Load-into-UTM-grid-followed-by-interpolation-for-missing-values"]], "Load into grid basic": [[8, "Load-into-grid-basic"]], "Load into grid with griddata cubic resampling": [[7, "Load-into-grid-with-griddata-cubic-resampling"]], "Load into grid with griddata nearest resampling": [[7, "Load-into-grid-with-griddata-nearest-resampling"]], "Load into user-defined grid with radial cubic resampling": [[7, "Load-into-user-defined-grid-with-radial-cubic-resampling"]], "Load into user-defined grid with radial linear resampling": [[7, "Load-into-user-defined-grid-with-radial-linear-resampling"]], "Make sure all categories are represented": [[3, "Make-sure-all-categories-are-represented"]], "Pull Request Guidelines": [[2, "pull-request-guidelines"]], "Report Bugs": [[2, "report-bugs"]], "Stable release": [[15, "stable-release"]], "Submit Feedback": [[2, "submit-feedback"]], "Tips": [[2, "tips"]], "Types of Contributions": [[2, "types-of-contributions"]], "Usage Examples": [[4, null]], "Welcome to geocube\u2019s documentation!": [[14, null]], "Write Documentation": [[2, "write-documentation"]], "exceptions": [[11, "module-geocube.exceptions"]], "geocube": [[1, "geocube"]], "geocube README": [[17, null]], "geocube make_geocube": [[1, "geocube-make-geocube"]], "geocube.cli package": [[1, null]], "make_geocube": [[11, "make-geocube"]], "notebooks:": [[4, null]], "rasterize": [[11, "rasterize"]], "show_versions": [[11, "show-versions"]], "stackexchange:": [[4, null]], "vectorize": [[11, "vectorize"]]}, "docnames": ["authors", "cli", "contributing", "examples/categorical", "examples/examples", "examples/grid_to_vector_map", "examples/rasterize_function", "examples/rasterize_point_data", "examples/timestamp_missing_data", "examples/vectorize", "examples/zonal_statistics", "geocube", "getting_started", "history", "index", "installation", "modules", "readme"], "envversion": {"nbsphinx": 4, "sphinx": 63, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1}, "filenames": ["authors.rst", "cli.rst", "contributing.rst", "examples/categorical.ipynb", "examples/examples.rst", "examples/grid_to_vector_map.ipynb", "examples/rasterize_function.ipynb", "examples/rasterize_point_data.ipynb", "examples/timestamp_missing_data.ipynb", "examples/vectorize.ipynb", "examples/zonal_statistics.ipynb", "geocube.rst", "getting_started.rst", "history.rst", "index.rst", "installation.rst", "modules.rst", "readme.rst"], "indexentries": {"--align": [[1, "cmdoption-geocube-make_geocube-a", false]], "--fill": [[1, "cmdoption-geocube-make_geocube-f", false]], "--geom": [[1, "cmdoption-geocube-make_geocube-g", false]], "--group-by": [[1, "cmdoption-geocube-make_geocube-gb", false]], "--interpolate-na-method": [[1, "cmdoption-geocube-make_geocube-i", false]], "--like": [[1, "cmdoption-geocube-make_geocube-l", false]], "--measurements": [[1, "cmdoption-geocube-make_geocube-m", false]], "--output-crs": [[1, "cmdoption-geocube-make_geocube-c", false]], "--resolution": [[1, "cmdoption-geocube-make_geocube-r", false]], "--show-versions": [[1, "cmdoption-geocube-show-versions", false]], "--version": [[1, "cmdoption-geocube-v", false]], "-a": [[1, "cmdoption-geocube-make_geocube-a", false]], "-c": [[1, "cmdoption-geocube-make_geocube-c", false]], "-f": [[1, "cmdoption-geocube-make_geocube-f", false]], "-g": [[1, "cmdoption-geocube-make_geocube-g", false]], "-gb": [[1, "cmdoption-geocube-make_geocube-gb", false]], "-i": [[1, "cmdoption-geocube-make_geocube-i", false]], "-l": [[1, "cmdoption-geocube-make_geocube-l", false]], "-m": [[1, "cmdoption-geocube-make_geocube-m", false]], "-r": [[1, "cmdoption-geocube-make_geocube-r", false]], "-v": [[1, "cmdoption-geocube-v", false]], "geocube command line option": [[1, "cmdoption-geocube-show-versions", false], [1, "cmdoption-geocube-v", false]], "geocube-make_geocube command line option": [[1, "cmdoption-geocube-make_geocube-a", false], [1, "cmdoption-geocube-make_geocube-arg-OUTPUT_FILE", false], [1, "cmdoption-geocube-make_geocube-arg-VECTOR_DATA", false], [1, "cmdoption-geocube-make_geocube-c", false], [1, "cmdoption-geocube-make_geocube-f", false], [1, "cmdoption-geocube-make_geocube-g", false], [1, "cmdoption-geocube-make_geocube-gb", false], [1, "cmdoption-geocube-make_geocube-i", false], [1, "cmdoption-geocube-make_geocube-l", false], [1, "cmdoption-geocube-make_geocube-m", false], [1, "cmdoption-geocube-make_geocube-r", false]], "geocube.exceptions": [[11, "module-geocube.exceptions", false]], "geocubeerror": [[11, "geocube.exceptions.GeoCubeError", false]], "make_geocube() (in module geocube.api.core)": [[11, "geocube.api.core.make_geocube", false]], "module": [[11, "module-geocube.exceptions", false]], "output_file": [[1, "cmdoption-geocube-make_geocube-arg-OUTPUT_FILE", false]], "rasterize_image() (in module geocube.rasterize)": [[11, "geocube.rasterize.rasterize_image", false]], "rasterize_points_griddata() (in module geocube.rasterize)": [[11, "geocube.rasterize.rasterize_points_griddata", false]], "rasterize_points_radial() (in module geocube.rasterize)": [[11, "geocube.rasterize.rasterize_points_radial", false]], "show_versions() (in module geocube)": [[11, "geocube.show_versions", false]], "vector_data": [[1, "cmdoption-geocube-make_geocube-arg-VECTOR_DATA", false]], "vectordataerror": [[11, "geocube.exceptions.VectorDataError", false]], "vectorize() (in module geocube.vector)": [[11, "geocube.vector.vectorize", false]]}, "objects": {"geocube": [[11, 1, 0, "-", "exceptions"], [11, 0, 1, "", "show_versions"], [1, 3, 1, "cmdoption-geocube-show-versions", "--show-versions"], [1, 3, 1, "cmdoption-geocube-v", "--version"], [1, 3, 1, "cmdoption-geocube-v", "-v"]], "geocube-make_geocube": [[1, 3, 1, "cmdoption-geocube-make_geocube-a", "--align"], [1, 3, 1, "cmdoption-geocube-make_geocube-f", "--fill"], [1, 3, 1, "cmdoption-geocube-make_geocube-g", "--geom"], [1, 3, 1, "cmdoption-geocube-make_geocube-gb", "--group-by"], [1, 3, 1, "cmdoption-geocube-make_geocube-i", "--interpolate-na-method"], [1, 3, 1, "cmdoption-geocube-make_geocube-l", "--like"], [1, 3, 1, "cmdoption-geocube-make_geocube-m", "--measurements"], [1, 3, 1, "cmdoption-geocube-make_geocube-c", "--output-crs"], [1, 3, 1, "cmdoption-geocube-make_geocube-r", "--resolution"], [1, 3, 1, "cmdoption-geocube-make_geocube-a", "-a"], [1, 3, 1, "cmdoption-geocube-make_geocube-c", "-c"], [1, 3, 1, "cmdoption-geocube-make_geocube-f", "-f"], [1, 3, 1, "cmdoption-geocube-make_geocube-g", "-g"], [1, 3, 1, "cmdoption-geocube-make_geocube-gb", "-gb"], [1, 3, 1, "cmdoption-geocube-make_geocube-i", "-i"], [1, 3, 1, "cmdoption-geocube-make_geocube-l", "-l"], [1, 3, 1, "cmdoption-geocube-make_geocube-m", "-m"], [1, 3, 1, "cmdoption-geocube-make_geocube-r", "-r"], [1, 3, 1, "cmdoption-geocube-make_geocube-arg-OUTPUT_FILE", "OUTPUT_FILE"], [1, 3, 1, "cmdoption-geocube-make_geocube-arg-VECTOR_DATA", "VECTOR_DATA"]], "geocube.api.core": [[11, 0, 1, "", "make_geocube"]], "geocube.exceptions": [[11, 2, 1, "", "GeoCubeError"], [11, 2, 1, "", "VectorDataError"]], "geocube.rasterize": [[11, 0, 1, "", "rasterize_image"], [11, 0, 1, "", "rasterize_points_griddata"], [11, 0, 1, "", "rasterize_points_radial"]], "geocube.vector": [[11, 0, 1, "", "vectorize"]]}, "objnames": {"0": ["py", "function", "Python function"], "1": ["py", "module", "Python module"], "2": ["py", "exception", "Python exception"], "3": ["std", "cmdoption", "program option"]}, "objtypes": {"0": "py:function", "1": "py:module", "2": "py:exception", "3": "std:cmdoption"}, "terms": {"": [2, 11, 12], "0": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12], "00": [7, 8], "000000": 5, "00001": [7, 8], "0001": [5, 12], "004e": 3, "00927734": 10, "0174532925199433": 10, "018e": 3, "03279114": 10, "040802": 10, "045866": 10, "046150": 8, "05": [3, 5, 7, 8, 10], "05name": 10, "06": 3, "06401062": 10, "067675": 5, "07365417": 10, "079769": 10, "08390808": 10, "09": [7, 8], "0add_offset": 10, "0long_nam": 10, "0prime_meridian_nam": 10, "0semi_minor_axi": 10, "0x190f9eeb0": 6, "0x1910469d0": 6, "0x7f2dd5282ed0": 10, "0x7f2dd5398550": 10, "0x7f2f191bc0f0": 8, "0x7f2f19274128": 8, "0x7f2f1cd18240": 8, "0x7f91d99fcdd8": 7, "0x7f91d9ac8320": 7, "0x7f91d9b1f2b0": 7, "0x7f91dda7e710": 7, "0x7f9e1e76bc50": 3, "0x7f9e1e823748": 3, "0x7f9e210d3be0": 3, "0x7fd708913f40": 9, "1": [3, 5, 7, 8, 9, 10], "10": [1, 2, 3, 5, 7, 8, 10], "100": 3, "100034090": 5, "100034091": 5, "100034092": 5, "100034093": 5, "100scale_factor": 10, "101": 13, "10124207": 10, "105": [3, 5, 13], "106": 13, "11": [3, 5, 7, 8, 10], "111": 13, "11106873": 10, "112": 13, "1125793457statistics_mean": 10, "12": [2, 3, 5, 7, 8, 10, 11], "120": [3, 5], "120497": 5, "122": 13, "12577452": 5, "13": [3, 10], "130925": 10, "136": 13, "138763": 10, "139": 13, "14": [3, 5], "142": 13, "143": 13, "145": 13, "15": [3, 5, 7, 8], "150": [3, 5], "150987": 10, "151": 8, "156": 13, "158": 13, "16": 3, "161": 13, "165": [5, 13], "166": 13, "16678e": 7, "167": 10, "168": 10, "169": 10, "17": [5, 8], "170": 10, "171": 10, "17182922": 10, "172": [10, 13], "173": 10, "175": [10, 13], "176": [10, 13], "177": 10, "178": 10, "178coordin": 10, "178x": 10, "179": [10, 13], "18": [6, 7], "180": [3, 5, 10, 13], "181": 10, "187118": 10, "188": 10, "19": [3, 6, 8], "190": 10, "1980": 10, "1980longitude_of_prime_meridian": 10, "198692": [5, 10], "198714": [5, 10], "198724": [5, 10], "198750": [5, 10], "198754": [5, 10], "2": [3, 5, 7, 8, 9, 10], "2016": [7, 8], "2019": 8, "20561218": 10, "20977783": 10, "21": [3, 5, 7, 8], "213": 10, "214157": 10, "21932": [7, 8], "21t15": 8, "22": [6, 8, 10, 13], "22t15": 8, "23": [5, 6, 13], "231643": 5, "23300171": 10, "237244": 10, "2388916": 10, "24": [5, 13], "25": [5, 7, 8], "257222101004": 10, "257222101004reference_ellipsoid_nam": 10, "258133": 10, "26": [3, 5], "26679": [7, 8], "26680": [7, 8], "26681": [7, 8], "268": 7, "27": [7, 8], "271425": [5, 10], "271431": [5, 10], "284": 10, "29": 13, "29721069": 10, "298": 10, "2d": [11, 13], "3": [2, 3, 5, 6, 7, 8, 9, 10], "30": 5, "300": 7, "30020142": 10, "307044": 10, "30989075": 10, "31": 5, "314140356inverse_flatten": 10, "314537": 5, "32615": 3, "333333": 5, "33590698": 10, "34": 8, "35": [7, 8], "36": [3, 5], "38": [3, 5], "3857": [7, 11], "39": [3, 8], "394562": 10, "39945984": 10, "4": [3, 5, 7, 8, 10, 11], "40": 13, "41": [5, 10], "42185974": 10, "4269": 10, "43": 13, "4326": [1, 7, 8, 11], "44": [7, 8], "44102478": 10, "442505": 10, "45": [5, 7, 8], "4596650": 3, "4596750": 3, "4596850": 3, "4596950": 3, "4597050": 3, "460220": 10, "466667": 5, "47": [7, 8], "48": [5, 7, 10], "483472": 10, "483565": 10, "483657": 10, "48375": 10, "483843": 10, "483935": 10, "484028": 10, "48412": 10, "484213": 10, "484306": 10, "484398": 10, "484491": 10, "484583": 10, "484676": 10, "484769": 10, "484861": 10, "484954": 10, "485046": 10, "485139": 10, "485231": 10, "485324": 10, "485417": 10, "485509": 10, "485602": 10, "485694": 10, "485787": 10, "48588": 10, "485972": 10, "486065": 10, "486157": 10, "48625": 10, "486343": 10, "486435": 10, "486528": 10, "48662": 10, "486713": 10, "486806": 10, "486898": 10, "486991": 10, "487083": 10, "487176": 10, "487269": 10, "487361": 10, "487454": 10, "487546": 10, "487639": 10, "487731": 10, "487824": 10, "487917": 10, "488009": 10, "488102": 10, "488194": 10, "488287": 10, "48838": 10, "488472": 10, "488565": 10, "488657": 10, "48875": 10, "488843": 10, "488935": 10, "489028": 10, "48912": 10, "489213": 10, "489306": 10, "489398": 10, "489491": 10, "489583": 10, "489676": 10, "489769": 10, "489861": 10, "489954": 10, "48axi": 10, "490046": 10, "490139": 10, "490231": 10, "490324": 10, "490387": 10, "490417": 10, "490509": 10, "490602": 10, "490694": 10, "490787": 10, "49088": 10, "490972": 10, "491065": 10, "491157": 10, "49125": 10, "491343": 10, "491435": 10, "491528": 10, "49162": 10, "491713": 10, "491806": 10, "491898": 10, "491991": 10, "492083": 10, "492176": 10, "492269": 10, "492361": 10, "492454": 10, "492546": 10, "49255": 5, "492639": 10, "492731": 10, "492824": 10, "492917": 10, "493009": 10, "493102": 10, "493194": 10, "493287": 10, "49338": 10, "493472": 10, "493565": 10, "493657": 10, "49375": 10, "493843": 10, "493935": 10, "494028": 10, "49412": 10, "494213": 10, "494306": 10, "494398": 10, "494491": 10, "494583": 10, "494676": 10, "494769": 10, "494861": 10, "494954": 10, "495046": 10, "495139": 10, "495231": 10, "495324": 10, "495417": 10, "495509": 10, "495602": 10, "495694": 10, "495787": 10, "49588": 10, "495972": 10, "496065": 10, "496157": 10, "49625": 10, "496343": 10, "496435": 10, "496528": 10, "49662": 10, "496713": 10, "496806": 10, "496898": 10, "496991": 10, "497083": 10, "497176": 10, "497269": 10, "497361": 10, "497454": 10, "497546": 10, "497639": 10, "497731": 10, "497824": 10, "497917": 10, "498009": 10, "498102": 10, "498194": 10, "498287": 10, "49838": 10, "498472": 10, "498565": 10, "498657": 10, "49875": 10, "498843": 10, "498935": 10, "499028": 10, "49912": 10, "499213": 10, "499306": 10, "499398": 10, "499491": 10, "499583": 10, "499676": 10, "499769": 10, "499861": 10, "4layer_typ": 10, "4xarrai": 10, "5": [3, 5, 7, 8, 10], "5133667": 10, "55": [5, 7], "564966": 5, "57": [8, 13], "58": [5, 10], "583472": 10, "583565": 10, "583657": 10, "58375": 10, "583843": 10, "583935": 10, "584028": 10, "58412": 10, "584213": 10, "584306": 10, "584398": 10, "584491": 10, "584583": 10, "584676": 10, "584769": 10, "584861": 10, "584954": 10, "585046": 10, "585139": 10, "585231": 10, "585324": 10, "585417": 10, "585509": 10, "585602": 10, "585694": 10, "585787": 10, "58588": 10, "585972": 10, "586065": 10, "586157": 10, "58625": 10, "586343": 10, "586435": 10, "586528": 10, "58662": 10, "586713": 10, "586806": 10, "586898": 10, "586991": 10, "587083": 10, "587176": 10, "587269": 10, "587361": 10, "587454": 10, "587546": 10, "587639": 10, "587731": 10, "587824": 10, "587917": 10, "588009": 10, "588102": 10, "588194": 10, "588287": 10, "58838": 10, "588472": 10, "588565": 10, "588657": 10, "58875": 10, "588843": 10, "588935": 10, "589028": 10, "58912": 10, "589213": 10, "589306": 10, "589398": 10, "589491": 10, "589583": 10, "589676": 10, "589769": 10, "589861": 10, "589954": 10, "58axi": 10, "590046": 10, "590139": 10, "590231": 10, "590324": 10, "590417": 10, "590509": 10, "590602": 10, "590694": 10, "590787": 10, "59088": 10, "590972": 10, "591065": 10, "591157": 10, "59125": 10, "591343": 10, "591435": 10, "591528": 10, "59162": 10, "591713": 10, "591806": 10, "591898": 10, "591991": 10, "592083": 10, "592176": 10, "592269": 10, "592361": 10, "592454": 10, "592546": 10, "592639": 10, "592731": 10, "592824": 10, "592917": 10, "593009": 10, "593102": 10, "593194": 10, "593287": 10, "59338": 10, "593472": 10, "593565": 10, "593657": 10, "59375": 10, "593843": 10, "593935": 10, "594028": 10, "59412": 10, "594213": 10, "594306": 10, "594398": 10, "594491": 10, "594583": 10, "594676": 10, "594769": 10, "594861": 10, "594954": 10, "595046": 10, "595139": 10, "595231": 10, "595324": 10, "595417": 10, "595509": 10, "595602": 10, "595694": 10, "595787": 10, "59588": 10, "595972": 10, "595e": 3, "596065": 10, "596157": 10, "59625": 10, "596343": 10, "596435": 10, "596528": 10, "59662": 10, "596713": 10, "596806": 10, "596898": 10, "596991": 10, "597083": 10, "597176": 10, "597269": 10, "59730": 5, "59735": 5, "597361": 10, "597454": 10, "597546": 10, "597639": 10, "597731": 10, "597824": 10, "597917": 10, "597e": 3, "598009": 10, "598102": 10, "598194": 10, "598287": 10, "59838": 10, "598472": 10, "598565": 10, "598657": 10, "59875": 10, "598843": 10, "598935": 10, "599028": 10, "59912": 10, "599213": 10, "599306": 10, "599398": 10, "599491": 10, "599583": 10, "599676": 10, "599769": 10, "599861": 10, "6": [3, 5, 7, 8, 10], "60": 5, "610321": 10, "61058044": 10, "611298": 10, "62414075786statistics_minimum": 10, "62541199": 10, "6269": 10, "63": 5, "630699": 10, "633084": 10, "6356752": 10, "6378137": 10, "65": [5, 13], "65075684": 10, "653015": 10, "66": [5, 13], "666667": 5, "66856384": 10, "67": 13, "67080688": 10, "68327332": 10, "69": [3, 5], "7": [3, 5, 7, 8, 10], "70": 5, "700350": 3, "7019": 10, "716675": 10, "718101": 10, "72": 13, "731732": 10, "733333": 5, "73553467": 10, "74": 5, "75": [5, 13], "762252807617statistics_stddev": 10, "77012634": 10, "778435029777statistics_valid_perc": 10, "8": [3, 5, 7, 8, 10], "80": 13, "800000": 5, "806416": 5, "81": 13, "81083679": 10, "815206": 10, "83": 10, "84867859": 10, "86": [5, 13], "87": 5, "88": 13, "9": [3, 5, 7, 8, 10], "90": [5, 10, 13], "9122": 10, "91845703": 10, "93": 13, "931131": 10, "94241333": 10, "95": [7, 8], "951233": 10, "953987": 5, "96047974": 10, "961941": 5, "96748352": 10, "97241211": 10, "974433": 10, "978338": 5, "987e": [5, 10], "988e": [5, 10], "997591": 10, "A": [1, 7, 11], "As": 7, "By": 11, "If": [1, 2, 3, 5, 10, 11, 15], "In": [5, 8], "It": 11, "Or": 2, "The": [1, 2, 3, 11, 12, 15], "These": 11, "To": [2, 3, 8, 15], "_scalartype_co": 11, "_subplot": [3, 8], "abdalla": 0, "about": 2, "accept": [8, 11], "account": 13, "accur": 7, "activ": 15, "ad": [11, 13], "add": [2, 13], "addit": [11, 13], "address": 13, "adjust": 7, "affine_to_coord": 11, "alan": 0, "alfredo": 0, "algorithm": [11, 13], "align": [1, 11], "all": [0, 11], "all_touch": [6, 11, 13], "allow": 13, "alreadi": [3, 11], "also": [10, 12], "alwai": [2, 15], "am": [7, 8], "amazonaw": 10, "an": [2, 5, 7, 8, 10, 11], "anaconda": 15, "ani": [0, 2, 11], "anoth": [1, 11, 13], "anyth": [2, 11, 12], "api": [3, 5, 6, 7, 8, 9, 10, 11, 12, 14], "appreci": 2, "ar": [2, 10, 11, 13], "arg": 1, "argument": [1, 12, 13], "arrai": [10, 11], "articl": 2, "asarrai": 8, "ask": 17, "associ": 11, "assum": [2, 10], "astyp": [3, 5, 9, 10], "athematicrepresentationtyp": 10, "athematicstatistics_maximum": 10, "attr": [10, 13], "attribut": [3, 5, 7, 8, 10, 11], "author": 10, "autoupd": 2, "avail": 11, "avoid": 15, "awar": 8, "ax": [3, 8], "axesimag": 10, "axessubplot": [3, 8, 9, 10], "axi": 10, "b": [2, 11], "back": 3, "band": 10, "base": [4, 11, 15], "basegeometri": 11, "basi": [1, 11], "basic": [1, 11], "becaus": 3, "befor": [2, 11, 12], "beforehand": 3, "behavior": 8, "bell": 0, "below": 7, "benr0": 0, "best": [2, 5, 10], "better": 7, "between": 13, "bit": [2, 7], "black": 2, "blog": 2, "bool": 11, "bound": [1, 11, 13], "boundari": [1, 11], "box": [1, 7, 11], "branch": 2, "bresenham": 11, "bug": 13, "bugfix": 2, "burn": 11, "c": [1, 11], "callabl": 11, "can": [2, 11, 12, 15], "cannot": 2, "case": [5, 10, 12], "cat_dtyp": 3, "categor": [4, 5, 10, 11, 13], "categori": 11, "categorical_enum": [3, 11], "categoricaldtyp": 3, "cd": [2, 15], "cell": 11, "center": 11, "certain": 5, "cfg": 13, "chang": [2, 13], "channel": 15, "channel_prior": 15, "check": 2, "checkout": 2, "chkei": 5, "class": [3, 11], "clay_slic": 3, "claytotal_r": [3, 5], "clean": 12, "cli": [2, 13, 16], "clip": 10, "clone": [2, 10, 15], "co": 11, "code": 3, "cokei": 5, "collect": [3, 4, 6, 7, 8, 9, 10], "column": [1, 3, 8, 9, 10, 11, 12, 13], "column_nam": [11, 12], "com": [2, 10, 14, 15, 17], "combin": [1, 11, 12], "command": [1, 2], "commit": 2, "commun": 17, "compat": 13, "complet": 3, "conda": 15, "condit": 7, "config": 15, "consid": [5, 10, 15], "construct": [1, 11], "contain": [4, 11], "contribut": [0, 14], "contributor": 14, "convers": [3, 13], "convert": [4, 10, 11, 13, 17], "cook": 0, "cookiecutt": 17, "coordin": [3, 5, 7, 8, 10], "copi": 2, "core": [3, 5, 6, 7, 8, 9, 10, 12, 16], "correct": [8, 13], "correctli": 13, "corteva": [2, 10, 11, 14, 15, 17], "could": [2, 10], "count": 4, "cr": [1, 10, 11, 13], "creat": [2, 4, 15], "creation_d": 8, "credit": 2, "criteria": 12, "crs_manag": 11, "crss": 11, "cube": 11, "cubic": [1, 11], "current": [1, 10], "custom": 12, "d": [0, 11], "data": [1, 4, 11, 12, 13, 17], "data_arrai": 11, "data_valu": 11, "dataarrai": [4, 11, 13], "datacub": 13, "dataset": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13], "datasetdimens": 10, "datetim": [11, 13], "datetime64": [8, 13], "datetime_measur": [8, 11], "datetimearrai": 8, "datum": 10, "dcf86619": [7, 8], "deal": 4, "debug": [1, 11, 15], "default": [1, 11, 13], "degre": 10, "degrees_eastarrai": 10, "degrees_northarrai": 10, "delo": 0, "demonstr": 7, "dep": 13, "depend": 13, "deprec": 13, "descript": 2, "detail": 2, "determin": 11, "dev": [2, 15], "develop": [2, 15, 17], "di": 7, "dict": 11, "dictionari": 11, "dim": 10, "dimens": [3, 5, 7, 8, 10], "direct": 11, "directli": 12, "discuss": 17, "displai": 3, "dist": 13, "do": 3, "doc": [2, 3, 5, 7, 8, 10, 15], "docstr": 2, "document": 12, "doe": 12, "done": 2, "drain": [3, 5], "drclassdcd": [3, 5], "drclassdcd_categori": 3, "drclassdcd_excess": 3, "drclassdcd_moder": 3, "drclassdcd_nodata": 3, "drclassdcd_poorli": 3, "drclassdcd_slic": 3, "drclassdcd_somewhat": 3, "drclassdcd_str": 3, "drclassdcd_subaqu": 3, "drclassdcd_veri": 3, "drclassdcd_wel": 3, "drclasses_complet": 3, "driven": 2, "drop": [3, 10, 13], "drop_dupl": 3, "dtype": [3, 5, 8, 10, 11, 13], "due": 7, "dump": 7, "e": [1, 2, 11, 15], "each": [8, 11], "easier": [2, 15], "east": 10, "effici": 13, "egg": 15, "element": 8, "elevation_max": 10, "elevation_mean": 10, "elevation_min": 10, "elevation_std": 10, "emoji": 0, "enabl": 12, "encod": [10, 13], "encount": 15, "enh": 13, "enhanc": 2, "ensur": [10, 13, 15], "entri": 1, "enum": 11, "env": [7, 8, 15], "environ": 15, "epsg": [1, 3, 7, 8, 10, 11, 13], "error": 11, "even": 2, "everi": 2, "ex": 1, "exampl": [11, 12, 14], "except": 16, "excess": 3, "explain": 2, "explicitli": 13, "extract": 4, "f": 1, "fals": 11, "featur": [11, 17], "file": [1, 2, 11, 12], "fill": [1, 4, 11, 13], "fillna": 13, "filter": 13, "filter_nan": [7, 11, 13], "finish": 12, "first": 11, "fix": 13, "flake8": 2, "flexibl": 11, "float": 11, "float32": 9, "float64": [3, 5, 7, 8, 10], "float641": 10, "float64173": 10, "float6441": 10, "follow": 0, "forg": 15, "fork": 2, "form": [1, 11], "format": [1, 4, 11, 13], "formatt": 2, "from": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17], "from_disk": 10, "full": 10, "function": [2, 4, 11, 12], "functool": [6, 7], "futur": 8, "futurewarn": 8, "g": [1, 11], "gaussian": 11, "gb": 1, "gcd": 11, "gdal": 12, "gdf": [6, 7, 8, 9], "gener": 7, "geo": [11, 12, 13], "geo_grid": [6, 7, 8, 9], "geo_grid_interp": 8, "geo_util": 13, "geobox": [11, 13], "geocub": [2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16], "geocube_env": [2, 15], "geocubeerror": [11, 16], "geodatafram": [4, 11, 12], "geogc": 10, "geojson": [1, 3, 5, 7, 8, 10, 11], "geom": [1, 7, 11], "geometri": [5, 7, 8, 10, 11, 13], "geometry_arrai": 11, "geopackag": [4, 11], "geopanda": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17], "geoseri": 11, "geospati": 12, "geotiff": 4, "get": [3, 14], "get_dummi": 3, "get_path": [6, 9], "getting_start": 11, "gi": 17, "git": [2, 15], "github": [2, 10, 11, 14, 15, 17], "githubusercont": 10, "gitlab": 2, "gitter": 17, "given": [2, 11], "goe": 0, "good": 12, "gpkg": 12, "gr": 10, "greatli": 2, "greenwich": 10, "greenwichgeographic_crs_nam": 10, "grid": [1, 4, 10, 11, 13], "grid_coord": 11, "grid_gdf": 9, "grid_map": [3, 5, 7, 8, 13], "grid_max": 10, "grid_mean": [5, 10], "grid_median": 5, "grid_min": 10, "grid_std": 10, "grid_time_1": 8, "griddata": 11, "group": [1, 5, 10], "group_bi": [1, 3, 5, 8, 11], "groupbi": [5, 10], "grouped_elev": 10, "gruca": 0, "gt": [3, 5, 6, 7, 8, 9, 10], "ha": 13, "handl": 13, "have": 2, "head": [3, 5, 7, 8], "height": 13, "help": [2, 11], "here": 2, "hint": 13, "histori": 14, "home": [7, 8], "hook": 2, "how": [2, 4], "howev": 12, "html": [11, 15], "http": [2, 10, 11, 14, 15, 17], "hzdepb_r": [3, 5], "hzdept_r": [3, 5, 10], "i": [1, 2, 3, 5, 7, 8, 10, 11, 12, 13], "ignor": [11, 13], "ignored_kwarg": 11, "ill": 7, "im": 17, "imag": [10, 11], "imanol": 0, "import": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13], "imshow": 10, "includ": [2, 3, 11], "index": [3, 14, 16], "indic": 11, "inform": [1, 5, 11], "inlin": [3, 5, 6, 7, 8, 9, 10], "input": [1, 3, 5, 7, 8, 10, 11, 13], "insid": 15, "instal": [2, 14], "instead": [13, 15], "int": [3, 5, 10], "int64": [3, 5, 7, 8, 10, 13], "int640crs_wkt": 10, "int8": 13, "integ": [5, 10], "integerarrai": [11, 13], "interfac": 12, "intern": 3, "interpol": [1, 7, 11], "interpolate_na_method": [1, 8, 11], "invers": 11, "io": [11, 17], "isel": 8, "isn": 15, "issu": [2, 13, 17], "iter": 11, "ji": 0, "jordan": 0, "json": [5, 7], "justin": 0, "keep": [2, 8], "kei": [0, 5, 10], "keyword": 13, "kind": 0, "kiril": 0, "kouzoubov": 0, "kwarg": 13, "l": 1, "latest": 17, "latitud": 10, "latitude_longitudespatial_ref": 10, "latitudestandard_nam": 10, "latitudeunit": 10, "layer": 4, "layer_1arrai": 10, "legend": 10, "level": [1, 16], "li": [1, 11], "liamrmoor": 0, "liang": 0, "lib": [7, 8], "life": 12, "like": [1, 3, 5, 10, 11, 13], "linalg": 7, "linalgwarn": 7, "line": 11, "linear": [1, 11], "link": 4, "list": [2, 3, 11, 13], "liter": 11, "littl": 2, "load": [1, 10, 11, 12], "load_vector_data": 13, "loc": 10, "local": [2, 15], "logic": 13, "longitud": 10, "longitudestandard_nam": 10, "longitudeunit": 10, "look": 2, "lower": 16, "lt": [3, 5, 6, 7, 8, 9, 10], "m": [1, 2, 15], "made": [3, 11], "mai": 7, "make": [1, 2, 13, 15], "make_geocub": [3, 5, 6, 7, 8, 9, 10, 12, 16], "makefil": 2, "mani": 2, "map": [4, 7, 10, 13], "mask": [3, 4, 7, 8], "master": 10, "matplotlib": [3, 5, 6, 7, 8, 9, 10], "matrix": 7, "max": 10, "mean": 10, "measur": [1, 6, 7, 8, 9, 10, 11, 12, 13], "meet": [2, 12], "merg": [10, 11, 13], "merge_alg": 11, "mergealg": 11, "metadata": 13, "method": [1, 7, 11, 12, 13], "might": 2, "mike": 0, "min": 10, "miniconda": [7, 8, 15], "minim": 13, "miss": [4, 13], "mnt": 13, "moder": 3, "modifi": 13, "modul": [14, 16], "more": 2, "most": 11, "mukei": [5, 10], "mukey_fillvalu": 10, "mukeylong_nam": 10, "multipl": 4, "multipolygon": 5, "multiquadr": 11, "mussab": 0, "my_rasterized_column": 12, "my_vector": 11, "n": [8, 13, 15], "n42w091": 10, "na": 1, "nad83": 10, "nad83grid_mapping_nam": 10, "naiv": [8, 13], "name": [2, 10, 11, 13], "nan": [1, 3, 8, 11, 13], "nanarrai": 10, "narrow": 2, "natur": 11, "naturalearth_lowr": [6, 9], "ndarrai": [8, 11, 13], "nearest": [1, 8, 11], "necessari": 13, "need": [3, 7], "neg": 11, "netcdf": [1, 12], "new": [2, 12, 15], "nodata": [1, 3, 7, 8, 11, 13], "nodata_manag": 11, "node": 7, "none": [11, 13], "north": 10, "north_american_datum_1983": 10, "note": [3, 7], "now": 2, "np": 8, "number": [3, 11], "numer": [3, 12], "numpi": [10, 11, 13], "object": [3, 8, 11, 13], "odc": [11, 12, 13], "offici": 2, "ogr": 11, "old": 8, "onc": 12, "one": [5, 10, 11, 13], "onli": [3, 11, 12], "open": 2, "open_rasterio": 10, "oper": [2, 12], "option": [1, 7, 11, 13], "order": [11, 13], "ordin": 11, "org": 15, "origin": [2, 3, 17], "other": 11, "other_column": 11, "other_gcd": 11, "out": 13, "out_grid": [3, 5, 10, 12], "output": [1, 11, 13], "output_cr": [1, 3, 7, 11], "output_fil": 1, "over": 5, "packag": [7, 8, 15, 16, 17], "page": [4, 14, 16], "panda": [3, 8, 11, 13], "paramet": 11, "part": 2, "partial": [6, 7], "pass": [2, 8, 11], "path": [10, 11, 13], "path_to_fil": 12, "pathlik": 11, "pd": 8, "pdf": 3, "peopl": 0, "per": 16, "perfectli": 12, "perform": [1, 11, 12], "pierrick": 0, "pin": 13, "pip": [2, 15], "pixel": [1, 11], "pleas": 2, "plot": [3, 6, 7, 8, 9, 10], "point": [1, 4, 8, 11, 13], "polygon": [4, 11], "poorli": [3, 5], "pop_est": [6, 9], "popul": 4, "posit": 11, "possibl": [2, 3, 13], "post": 2, "power": [11, 12], "prd": 10, "pre": 2, "prepend": 15, "previou": [1, 11], "primem": 10, "print": 11, "problem": 15, "product": [1, 11], "project": [0, 2, 13], "properti": 11, "propos": 2, "provid": [3, 11], "pull": 13, "push": 2, "put": 2, "py": [2, 7, 8], "pyogrio": 12, "pypi": 15, "pyproj": [11, 13], "pyproject": 13, "pytest": [2, 13], "python": [2, 4, 11, 13, 15], "python3": [7, 8], "quadmesh": [3, 6, 7, 8, 9, 10], "quintic": 11, "quit": 7, "quot": 10, "r": 1, "rai": 0, "rambaud": 0, "random": 5, "raster": [1, 3, 4, 5, 12, 13, 16, 17], "rasterio": [4, 11, 12], "rasteris": 4, "rasterize_funct": [6, 7, 11], "rasterize_imag": [6, 11, 13, 16], "rasterize_points_griddata": [7, 11, 13, 16], "rasterize_points_radi": [7, 11, 16], "ravel": 8, "raw": 10, "rbf": [7, 11], "rcond": 7, "re": 2, "read": [12, 13], "read_fil": [3, 5, 6, 7, 8, 9, 10], "readi": 2, "readm": [2, 14], "recalc": 13, "recip": 15, "recommend": 15, "reduc": [1, 11], "ref": 13, "refer": 11, "relev": 10, "rememb": 2, "remov": [11, 13], "renam": 10, "replac": [11, 13], "repo": [2, 15], "report": 17, "repositori": 15, "reproduc": 2, "request": [1, 11, 17], "requir": [1, 13], "resampl": 13, "rescal": [11, 13], "reshap": 8, "resolut": [1, 3, 5, 6, 7, 8, 9, 11, 12, 13], "result": [7, 11], "return": [1, 8, 11], "richardscottoz": 0, "rio": [3, 7, 8, 10, 12], "rioxarrai": [10, 11, 12, 13], "root": 15, "rst": 2, "run": [2, 10], "runtimeerror": 11, "s3": 10, "same": 10, "sandtotal_r": [3, 5], "sangzi": 0, "santo": 0, "scipi": [7, 11, 13], "scope": 2, "search": 14, "see": [3, 5, 7, 8, 10, 12], "seen": 7, "sel": [3, 5, 10], "select": 11, "self": 7, "semi_major_axi": 10, "send": 2, "seri": 8, "serv": 16, "set": [2, 15], "setup": [2, 13], "shape": [7, 8, 11, 13], "shapefil": 4, "should": [2, 11], "show": [1, 13], "show_vers": [13, 16], "silttotal_r": [3, 5], "simpl": 12, "simplest": 12, "simpli": 7, "singl": [4, 12], "site": [7, 8], "skip": 13, "snow": 0, "snowal": [7, 8], "soil": 5, "soil_data_group": [3, 5, 10], "solv": 7, "someth": [5, 10], "somewhat": [3, 5], "sort": [3, 11], "sourc": [10, 11], "space": 11, "spatial": [1, 11], "spatial_ref": [3, 5, 7, 8, 10], "specif": [0, 5], "specifi": [1, 11], "spheroid": 10, "ssurgo": 5, "ssurgo_data": [3, 5, 10], "stabil": 15, "stabl": [11, 17], "stackexchang": 17, "stage": 15, "stagedproduct": 10, "start": 14, "statist": [4, 5], "std": 10, "step": 2, "store": 11, "str": 11, "strict": 15, "string": [1, 3, 11, 13], "subaqu": 3, "submit": 15, "subset": [1, 2, 3, 10, 12, 13], "suppli": [1, 11], "support": [11, 12, 13], "swell": 7, "system": 2, "t": 15, "tabl": 11, "tag": [2, 17], "target": 13, "tave": 0, "templat": [4, 17], "tempor": 11, "test": [2, 3, 5, 7, 8, 10], "test_attr": [7, 8], "test_check_vers": 2, "test_data": [3, 5, 7, 8, 10], "test_geocub": 2, "test_str_attr": [7, 8], "test_time_attr": [7, 8], "thank": 0, "thei": [2, 3, 11], "thi": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 16, 17], "thin_plat": 11, "through": 2, "tif": [10, 12], "tiff": 10, "time_vector_data": [7, 8], "timestamp": [4, 13], "timezon": 8, "tipsandtrick": 15, "tnm": 10, "to_datafram": [3, 5, 10], "to_netcdf": 12, "to_rast": 12, "togeth": 10, "tolist": 3, "toml": 13, "tool": 17, "top": 1, "touch": 11, "training_df": 3, "transform": [11, 13], "tree": 16, "troubleshoot": 2, "true": [6, 7, 10, 11], "tupl": [1, 11], "two": 10, "type": [3, 5, 10, 11, 13], "typic": 11, "tz": 8, "union": 11, "uniqu": [3, 11, 12], "unit": [2, 10, 11], "unnecessari": 13, "up": 2, "updat": [2, 13], "us": [1, 2, 3, 4, 11, 12, 13, 15], "usag": [12, 14], "user": 15, "usgs_13_n42w091": 10, "util": 1, "v": 1, "valu": [1, 3, 7, 10, 11, 13], "variabl": [3, 5, 7, 8, 10, 11], "varieti": 12, "variou": 12, "vector": [1, 3, 4, 13, 16, 17], "vector_data": [1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13], "vectordataerror": [11, 16], "venv": 2, "veri": 3, "version": [1, 2, 11, 13], "virtualenv": 2, "virtualenvwrapp": 2, "volunt": 2, "wa": 17, "wai": 2, "want": [2, 5, 10], "warn": 13, "we": 15, "web": 2, "websit": 2, "wei": 0, "welcom": [0, 2], "well": 3, "when": [1, 2, 4, 11, 12, 13], "where": [3, 5, 7, 8, 10], "whether": 2, "whoever": 2, "whose": 11, "width": 13, "within": 11, "without": [4, 13], "wonder": 0, "work": 2, "would": [2, 7, 11, 12], "write": [12, 13], "x": [3, 5, 7, 8, 10, 11], "x27": 3, "xarrai": [1, 3, 5, 7, 8, 10, 11, 12, 13, 17], "xlong_nam": 10, "y": [3, 5, 7, 8, 10, 11], "ylong_nam": 10, "you": [2, 3, 5, 10, 12, 15], "your": [2, 3, 5, 10, 12, 15], "your_name_her": 2, "zonal": 4, "zonal_stat": 10}, "titles": ["Contributors \u2728", "geocube.cli package", "Contributing", "Example - Categorical Data", "Usage Examples", "Example - Mapping Grid Data to Vector Data", "Example - Use a rasterize function when creating a raster", "Example - Rasterizing Point Data", "Example - Filling in missing data & dealing with timestamps", "Example - Raster DataArray to GeoDataFrame (vectorize)", "Example - Zonal Statistics", "Core", "Getting Started", "History", "Welcome to geocube\u2019s documentation!", "Installation", "API Documentation", "geocube README"], "titleterms": {"": 14, "0": 13, "1": 13, "10": 13, "11": 13, "12": 13, "13": 13, "14": 13, "15": 13, "16": 13, "17": 13, "18": 13, "2": 13, "3": 13, "4": 13, "5": 13, "6": 13, "7": 13, "8": 13, "9": 13, "add": [7, 8], "all": 3, "api": 16, "ar": 3, "basic": 8, "bug": [2, 17], "categor": 3, "categori": 3, "cli": 1, "content": [14, 16], "contribut": 2, "contributor": 0, "convert": [3, 5, 7, 8, 9], "core": 11, "cr": [7, 8], "creat": [6, 10], "credit": 17, "cubic": 7, "data": [3, 5, 7, 8, 10], "dataarrai": 9, "deal": [3, 8], "defin": 7, "document": [2, 14, 16, 17], "each": [5, 10], "elev": 10, "exampl": [3, 4, 5, 6, 7, 8, 9, 10], "except": 11, "featur": 2, "feedback": 2, "fill": 8, "fix": 2, "follow": 8, "from": 15, "function": 6, "gener": [3, 9], "geocub": [1, 7, 8, 14, 17], "geodatafram": 9, "geopackag": [7, 8], "get": [2, 5, 10, 12], "grid": [3, 5, 7, 8], "griddata": 7, "guidelin": 2, "histori": 13, "id": [5, 10], "implement": 2, "indic": 14, "instal": 15, "interpol": 8, "linear": 7, "load": [3, 7, 8], "make": 3, "make_geocub": [1, 11], "map": 5, "mask": 10, "mean": 5, "median": 5, "miss": 8, "nearest": 7, "notebook": 4, "packag": 1, "point": 7, "pull": 2, "question": 17, "radial": 7, "raster": [6, 7, 8, 9, 10, 11], "readm": 17, "region": [5, 10], "releas": 15, "report": 2, "repres": 3, "request": 2, "resampl": 7, "show_vers": 11, "soil": 3, "sourc": 15, "stabl": 15, "stackexchang": 4, "start": [2, 12], "statist": 10, "submit": 2, "sure": 3, "tabl": 14, "timestamp": 8, "tip": 2, "type": 2, "uniqu": [5, 10], "us": [5, 6, 10], "usag": 4, "user": 7, "utm": 8, "valu": 8, "vector": [5, 9, 10, 11], "welcom": 14, "when": 6, "write": 2, "zonal": 10}}) \ No newline at end of file