{ "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 }