{ "cells": [ { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "# Programmatic access to geospatial layers from the deca-millennial flood project\n", "\n", "The relative and absolute changes in 1,000 and 10,000 flood frequency values have been computed for over 500 watersheds using two climate projection large ensembles, CESM1 and CanESM2 (see [project overview](../cruesdeca.rst) for more info). These results are available on the PAVICS GeoServer, and this notebook shows how to get access to those files from a programming environment.\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Climate change factors for 1,000 and 10,000-year design floods estimated from the CESM1 and CanESM2 Large Ensembles and the GR4J-Cemaneige hydrological model over the period 2080-2100 compared to 1990-2010.\n" ] } ], "source": [ "%matplotlib inline\n", "\n", "import json\n", "\n", "import geopandas as gpd\n", "from owslib.wfs import WebFeatureService\n", "\n", "# Connect to Ouranos' GeoServer WFS service.\n", "url = \"https://pavics.ouranos.ca/geoserver/wfs\"\n", "wfs = WebFeatureService(url, version=\"2.0.0\")\n", "\n", "typename = \"public:decamillenial_flood_CC\"\n", "layer = wfs.contents[typename]\n", "print(layer.abstract)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the next cell, we'll download the data in the GeoJSON format, load it into a dictionary and instantiate a GeoDataFrame. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "typename = \"public:decamillenial_flood_CC\"\n", "txt = wfs.getfeature(typename=typename, outputFormat=\"json\").read()\n", "data = json.loads(txt.decode())\n", "gdf = gpd.GeoDataFrame.from_features(data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's take a look at the top of the table. " ] }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
geometryIDnamewatershed_areaNSECESM1_PWM_T100_MULCESM1_PWM_T100_P75_MULCESM1_PWM_T100_P90_MULCESM1_PWM_T100_P95_MULCESM1_PWM_T100_P99_MUL...CanESM2_PWM_T1000_ADDCanESM2_PWM_T1000_P75_ADDCanESM2_PWM_T1000_P90_ADDCanESM2_PWM_T1000_P95_ADDCanESM2_PWM_T1000_P99_ADDCanESM2_PWM_T10000_ADDCanESM2_PWM_T10000_P75_ADDCanESM2_PWM_T10000_P90_ADDCanESM2_PWM_T10000_P95_ADDCanESM2_PWM_T10000_P99_ADD
0POLYGON ((-111.39170 54.17100, -111.42500 54.1...06CD002CHURCHILL RIVER ABOVE OTTER RAPIDS119000.00.715358-57.343822-54.547526-51.714055-49.651469-46.376278...-0.274774-0.220550-0.162439-0.128182-0.068190-0.138914-0.0229570.1366530.2242040.422348
1POLYGON ((-134.94580 59.57930, -134.80000 59.6...09AA014FANTAIL RIVER AT OUTLET OF FANTAIL LAKE717.00.75899327.44233131.57733735.67645038.15566443.461187...3.6274385.2998697.2120528.07606010.1827671.5833825.4877939.10783911.80670515.833487
2POLYGON ((-130.19170 59.40850, -130.17920 59.4...10AC004BLUE RIVER NEAR THE MOUTH1700.00.8189588.73434213.13998017.04968019.92854424.816201...4.5248045.1831056.1389516.8091637.6341949.54176611.04945413.84278815.95852818.720224
3POLYGON ((-126.10000 58.79600, -126.11250 58.8...10BE007TROUT RIVER AT KILOMETRE 783.7 ALASKA HIGHWAY1170.00.8463261.7828316.31097510.42319913.55147217.247709...-0.8267010.2893581.2533411.8574712.806194-2.461317-0.0950011.7574613.0905894.684330
4POLYGON ((-130.50830 58.44600, -130.52500 58.4...10AC003DEASE RIVER AT OUTLET OF DEASE LAKE1520.00.96129312.82715517.02561820.55597622.54048126.720056...2.6121003.2715493.9109244.2467324.8846883.8144195.0892996.4046527.1926297.993150
\n", "

5 rows × 65 columns

\n", "
" ], "text/plain": [ " geometry ID \\\n", "0 POLYGON ((-111.39170 54.17100, -111.42500 54.1... 06CD002 \n", "1 POLYGON ((-134.94580 59.57930, -134.80000 59.6... 09AA014 \n", "2 POLYGON ((-130.19170 59.40850, -130.17920 59.4... 10AC004 \n", "3 POLYGON ((-126.10000 58.79600, -126.11250 58.8... 10BE007 \n", "4 POLYGON ((-130.50830 58.44600, -130.52500 58.4... 10AC003 \n", "\n", " name watershed_area NSE \\\n", "0 CHURCHILL RIVER ABOVE OTTER RAPIDS 119000.0 0.715358 \n", "1 FANTAIL RIVER AT OUTLET OF FANTAIL LAKE 717.0 0.758993 \n", "2 BLUE RIVER NEAR THE MOUTH 1700.0 0.818958 \n", "3 TROUT RIVER AT KILOMETRE 783.7 ALASKA HIGHWAY 1170.0 0.846326 \n", "4 DEASE RIVER AT OUTLET OF DEASE LAKE 1520.0 0.961293 \n", "\n", " CESM1_PWM_T100_MUL CESM1_PWM_T100_P75_MUL CESM1_PWM_T100_P90_MUL \\\n", "0 -57.343822 -54.547526 -51.714055 \n", "1 27.442331 31.577337 35.676450 \n", "2 8.734342 13.139980 17.049680 \n", "3 1.782831 6.310975 10.423199 \n", "4 12.827155 17.025618 20.555976 \n", "\n", " CESM1_PWM_T100_P95_MUL CESM1_PWM_T100_P99_MUL ... CanESM2_PWM_T1000_ADD \\\n", "0 -49.651469 -46.376278 ... -0.274774 \n", "1 38.155664 43.461187 ... 3.627438 \n", "2 19.928544 24.816201 ... 4.524804 \n", "3 13.551472 17.247709 ... -0.826701 \n", "4 22.540481 26.720056 ... 2.612100 \n", "\n", " CanESM2_PWM_T1000_P75_ADD CanESM2_PWM_T1000_P90_ADD \\\n", "0 -0.220550 -0.162439 \n", "1 5.299869 7.212052 \n", "2 5.183105 6.138951 \n", "3 0.289358 1.253341 \n", "4 3.271549 3.910924 \n", "\n", " CanESM2_PWM_T1000_P95_ADD CanESM2_PWM_T1000_P99_ADD \\\n", "0 -0.128182 -0.068190 \n", "1 8.076060 10.182767 \n", "2 6.809163 7.634194 \n", "3 1.857471 2.806194 \n", "4 4.246732 4.884688 \n", "\n", " CanESM2_PWM_T10000_ADD CanESM2_PWM_T10000_P75_ADD \\\n", "0 -0.138914 -0.022957 \n", "1 1.583382 5.487793 \n", "2 9.541766 11.049454 \n", "3 -2.461317 -0.095001 \n", "4 3.814419 5.089299 \n", "\n", " CanESM2_PWM_T10000_P90_ADD CanESM2_PWM_T10000_P95_ADD \\\n", "0 0.136653 0.224204 \n", "1 9.107839 11.806705 \n", "2 13.842788 15.958528 \n", "3 1.757461 3.090589 \n", "4 6.404652 7.192629 \n", "\n", " CanESM2_PWM_T10000_P99_ADD \n", "0 0.422348 \n", "1 15.833487 \n", "2 18.720224 \n", "3 4.684330 \n", "4 7.993150 \n", "\n", "[5 rows x 65 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gdf.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And let's create a basic plot for the values of one of the columns, here the relative change factor for the 100-year event estimated from the CanESM2 Large Ensemble, using the Probability Weighted Moment method to estimate GEV parameters. " ] }, { "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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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "col = \"CanESM2_PWM_T100_MUL\"\n", "gdf.plot(column=col)" ] } ], "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.3" } }, "nbformat": 4, "nbformat_minor": 2 }