{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Copyright CNES\n", "\n", "## Read and plot a SWOT-HR River Single Pass Node product\n", "In this notebook, we show how to read the SWOT-HR River Single Pass Node vector product with geopandas and how to represent a variable " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Libraries\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import geopandas as gpd\n", "import os\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1. Read a SWOT-HR River Single Pass Node product\n", "Note this is an extraction of the original file for demonstration purpose. It does not contain all variables and geometries" ] }, { "cell_type": "code", "execution_count": 2, "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", "
reach_idnode_idtimetime_taitime_strlatlonlat_ulon_uriver_name...p_wsep_wse_varp_widthp_wid_varp_dist_outp_lengthp_dam_idp_n_ch_maxp_n_ch_modgeometry
061670400011616704000100217.685711e+087.685711e+082024-05-09T11:58:10Z-1.000000e+12-1.000000e+12-1.000000e+12-1.000000e+12no_data...26.300.9031241346.543841.88989060.0209.914761064POINT (-53.05041 5.04232)
161670400011616704000100317.685711e+087.685711e+082024-05-09T11:58:10Z-1.000000e+12-1.000000e+12-1.000000e+12-1.000000e+12no_data...28.851.5605991113.08111.04089242.0181.795020066POINT (-53.04892 5.04327)
261670400011616704000100417.685711e+087.685711e+082024-05-09T11:58:10Z-1.000000e+12-1.000000e+12-1.000000e+12-1.000000e+12no_data...28.854.3349971251.5274635.13989423.0181.795020074POINT (-53.04744 5.04427)
361670400023616704000200137.685711e+087.685711e+082024-05-09T11:58:10Z-1.000000e+12-1.000000e+12-1.000000e+12-1.000000e+12no_data...31.400.0000001790.080519.22289631.0207.997647076POINT (-53.04582 5.04538)
461670400023616704000200237.685711e+087.685711e+082024-05-09T11:58:10Z-1.000000e+12-1.000000e+12-1.000000e+12-1.000000e+12no_data...31.400.0000001633.012914.64089828.0196.101754065POINT (-53.04433 5.04494)
\n", "

5 rows × 53 columns

\n", "
" ], "text/plain": [ " reach_id node_id time time_tai \\\n", "0 61670400011 61670400010021 7.685711e+08 7.685711e+08 \n", "1 61670400011 61670400010031 7.685711e+08 7.685711e+08 \n", "2 61670400011 61670400010041 7.685711e+08 7.685711e+08 \n", "3 61670400023 61670400020013 7.685711e+08 7.685711e+08 \n", "4 61670400023 61670400020023 7.685711e+08 7.685711e+08 \n", "\n", " time_str lat lon lat_u \\\n", "0 2024-05-09T11:58:10Z -1.000000e+12 -1.000000e+12 -1.000000e+12 \n", "1 2024-05-09T11:58:10Z -1.000000e+12 -1.000000e+12 -1.000000e+12 \n", "2 2024-05-09T11:58:10Z -1.000000e+12 -1.000000e+12 -1.000000e+12 \n", "3 2024-05-09T11:58:10Z -1.000000e+12 -1.000000e+12 -1.000000e+12 \n", "4 2024-05-09T11:58:10Z -1.000000e+12 -1.000000e+12 -1.000000e+12 \n", "\n", " lon_u river_name ... p_wse p_wse_var p_width p_wid_var \\\n", "0 -1.000000e+12 no_data ... 26.30 0.903124 1346.5 43841.889 \n", "1 -1.000000e+12 no_data ... 28.85 1.560599 1113.0 8111.040 \n", "2 -1.000000e+12 no_data ... 28.85 4.334997 1251.5 274635.139 \n", "3 -1.000000e+12 no_data ... 31.40 0.000000 1790.0 80519.222 \n", "4 -1.000000e+12 no_data ... 31.40 0.000000 1633.0 12914.640 \n", "\n", " p_dist_out p_length p_dam_id p_n_ch_max p_n_ch_mod \\\n", "0 89060.0 209.914761 0 6 4 \n", "1 89242.0 181.795020 0 6 6 \n", "2 89423.0 181.795020 0 7 4 \n", "3 89631.0 207.997647 0 7 6 \n", "4 89828.0 196.101754 0 6 5 \n", "\n", " geometry \n", "0 POINT (-53.05041 5.04232) \n", "1 POINT (-53.04892 5.04327) \n", "2 POINT (-53.04744 5.04427) \n", "3 POINT (-53.04582 5.04538) \n", "4 POINT (-53.04433 5.04494) \n", "\n", "[5 rows x 53 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dir_swot = \"../docs/data/swot\"\n", "file_swot_reach = os.path.join(\n", " dir_swot,\n", " \"SWOT_L2_HR_RiverSP_Node\",\n", " \"SWOT_L2_HR_RiverSP_Node_015_033_SA_20240509T114031_20240509T114037_PIC0_01_extract.shp\"\n", ")\n", "# read data with geopandas\n", "gdf = gpd.read_file(file_swot_reach)\n", "gdf.head()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Not a number values are loaded as floats, it is safer to replace them by actual NaN\n" ] }, { "cell_type": "code", "execution_count": 4, "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", "
reach_idnode_idtimetime_taitime_strlatlonlat_ulon_uriver_name...p_wsep_wse_varp_widthp_wid_varp_dist_outp_lengthp_dam_idp_n_ch_maxp_n_ch_modgeometry
061670400011616704000100217.685711e+087.685711e+082024-05-09T11:58:10ZNaNNaNNaNNaNno_data...26.300.9031241346.543841.88989060.0209.914761064POINT (-53.05041 5.04232)
161670400011616704000100317.685711e+087.685711e+082024-05-09T11:58:10ZNaNNaNNaNNaNno_data...28.851.5605991113.08111.04089242.0181.795020066POINT (-53.04892 5.04327)
261670400011616704000100417.685711e+087.685711e+082024-05-09T11:58:10ZNaNNaNNaNNaNno_data...28.854.3349971251.5274635.13989423.0181.795020074POINT (-53.04744 5.04427)
361670400023616704000200137.685711e+087.685711e+082024-05-09T11:58:10ZNaNNaNNaNNaNno_data...31.400.0000001790.080519.22289631.0207.997647076POINT (-53.04582 5.04538)
461670400023616704000200237.685711e+087.685711e+082024-05-09T11:58:10ZNaNNaNNaNNaNno_data...31.400.0000001633.012914.64089828.0196.101754065POINT (-53.04433 5.04494)
\n", "

5 rows × 53 columns

\n", "
" ], "text/plain": [ " reach_id node_id time time_tai \\\n", "0 61670400011 61670400010021 7.685711e+08 7.685711e+08 \n", "1 61670400011 61670400010031 7.685711e+08 7.685711e+08 \n", "2 61670400011 61670400010041 7.685711e+08 7.685711e+08 \n", "3 61670400023 61670400020013 7.685711e+08 7.685711e+08 \n", "4 61670400023 61670400020023 7.685711e+08 7.685711e+08 \n", "\n", " time_str lat lon lat_u lon_u river_name ... p_wse \\\n", "0 2024-05-09T11:58:10Z NaN NaN NaN NaN no_data ... 26.30 \n", "1 2024-05-09T11:58:10Z NaN NaN NaN NaN no_data ... 28.85 \n", "2 2024-05-09T11:58:10Z NaN NaN NaN NaN no_data ... 28.85 \n", "3 2024-05-09T11:58:10Z NaN NaN NaN NaN no_data ... 31.40 \n", "4 2024-05-09T11:58:10Z NaN NaN NaN NaN no_data ... 31.40 \n", "\n", " p_wse_var p_width p_wid_var p_dist_out p_length p_dam_id \\\n", "0 0.903124 1346.5 43841.889 89060.0 209.914761 0 \n", "1 1.560599 1113.0 8111.040 89242.0 181.795020 0 \n", "2 4.334997 1251.5 274635.139 89423.0 181.795020 0 \n", "3 0.000000 1790.0 80519.222 89631.0 207.997647 0 \n", "4 0.000000 1633.0 12914.640 89828.0 196.101754 0 \n", "\n", " p_n_ch_max p_n_ch_mod geometry \n", "0 6 4 POINT (-53.05041 5.04232) \n", "1 6 6 POINT (-53.04892 5.04327) \n", "2 7 4 POINT (-53.04744 5.04427) \n", "3 7 6 POINT (-53.04582 5.04538) \n", "4 6 5 POINT (-53.04433 5.04494) \n", "\n", "[5 rows x 53 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fill_value = gdf.lat.min()\n", "gdf.replace(fill_value, np.nan, inplace=True)\n", "gdf.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3. Plot data on maps\n", "The most straightforward is to use native geopandas methods.\n", "Check out geopandas documentation for more options: https://geopandas.org/en/v0.9.0/docs/user_guide/mapping.html" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 1)\n", "gdf.plot('wse', ax=ax, legend=True, cmap='cividis')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3.10.6 ('geo-env')", "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.12" }, "vscode": { "interpreter": { "hash": "c53c0f632c0bd5c80f0fc28f8860901a2b42413fffd8e5b69bb54373659a6ea7" } } }, "nbformat": 4, "nbformat_minor": 2 }