{ "cells": [ { "cell_type": "markdown", "id": "9fa1910a-6db7-4592-986c-e80ac015ac26", "metadata": {}, "source": [ "# Calculate distances and find neighbors" ] }, { "cell_type": "code", "execution_count": 1, "id": "a293cd46-83e6-4d73-adcc-ee9a6724739f", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import xarray as xr\n", "\n", "import poligrain as plg" ] }, { "cell_type": "markdown", "id": "ee6c19b3-d6a9-4669-b7c8-53894c1ceee6", "metadata": {}, "source": [ "## Point-to-point distances" ] }, { "cell_type": "markdown", "id": "19f3e1b8-51ad-4a72-8413-7cb619c9dee3", "metadata": {}, "source": [ "### Get PWS dataset" ] }, { "cell_type": "code", "execution_count": 2, "id": "df67e076-5ca4-43b2-92dc-552d19efc32a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ " % Total % Received % Xferd Average Speed Time Time Time Current\n", " Dload Upload Total Spent Left Speed\n", "\n", " 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\n", " 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\n", "\n", " 67 10.7M 67 7419k 0 0 14.4M 0 --:--:-- --:--:-- --:--:-- 14.4M\n", "100 10.7M 100 10.7M 0 0 16.0M 0 --:--:-- --:--:-- --:--:-- 20.6M\n" ] } ], "source": [ "!curl -OL https://github.com/OpenSenseAction/training_school_opensene_2023/raw/main/data/pws/data_PWS_netCDF_AMS_float.nc" ] }, { "cell_type": "code", "execution_count": 3, "id": "61b86248-8c91-4a9d-ba26-a3e168d31945", "metadata": {}, "outputs": [], "source": [ "ds_pws = xr.open_dataset(\"data_PWS_netCDF_AMS_float.nc\")\n", "\n", "# fix some issues with this dataset\n", "ds_pws[\"time\"] = pd.to_datetime(ds_pws.time.data, unit=\"s\")\n", "ds_pws[\"lon\"] = (\"id\", ds_pws.lon.data)\n", "ds_pws[\"lat\"] = (\"id\", ds_pws.lat.data)" ] }, { "cell_type": "markdown", "id": "bf4ef4f3-640a-4c9c-b32f-8af551ee0821", "metadata": {}, "source": [ "### Project cooridnates from lon-lat to UTM zone for Europe\n", "\n", "To do meaningful distance calculations we have to project the lon-lat coordinates first.\n", "\n", "Info on the UTM zone 32N projection `'EPSG:25832'` that is used can be found [here](https://epsg.io/25832#google_vignette)\n", "\n", "Note that `plg.spatial.project_coordinates` can also use a different source coordinate system, but its default is WGS 84 (lon and lat in degrees), which is `'EPSG:4326'` " ] }, { "cell_type": "code", "execution_count": 4, "id": "5040ff46-0608-4496-8e08-60ceb42c3464", "metadata": {}, "outputs": [], "source": [ "ds_pws.coords[\"x\"], ds_pws.coords[\"y\"] = plg.spatial.project_point_coordinates(\n", " ds_pws.lon, ds_pws.lat, \"EPSG:25832\"\n", ")" ] }, { "cell_type": "code", "execution_count": 6, "id": "89ea4f3f-e2c2-46ff-885c-e518170ef69b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 237MB\n",
       "Dimensions:    (time: 219168, id: 134)\n",
       "Coordinates:\n",
       "  * time       (time) datetime64[ns] 2MB 2016-05-01T00:05:00 ... 2018-06-01\n",
       "  * id         (id) <U6 3kB 'ams1' 'ams2' 'ams3' ... 'ams132' 'ams133' 'ams134'\n",
       "    elevation  (id) <U3 2kB ...\n",
       "    lat        (id) float64 1kB 52.31 52.3 52.31 52.35 ... 52.43 52.3 52.26\n",
       "    lon        (id) float64 1kB 4.671 4.675 4.677 4.678 ... 5.036 5.041 5.045\n",
       "    x          (id) float64 1kB 2.049e+05 2.052e+05 ... 2.301e+05 2.301e+05\n",
       "    y          (id) float64 1kB 5.804e+06 5.803e+06 ... 5.802e+06 5.798e+06\n",
       "Data variables:\n",
       "    rainfall   (id, time) float64 235MB ...\n",
       "Attributes:\n",
       "    title:         PWS data from Amsterdam\n",
       "    institution:   Wageningen University and Research, Department of Environm...\n",
       "    history:       Test Version 0.1\n",
       "    references:    https://doi.org/10.1029/2019GL083731\n",
       "    date_created:  2022-10-18 10:32:00\n",
       "    Conventions:   OPENSENSE V0\n",
       "    location:      Amsterdam Metropolitan Area\n",
       "    source:        Netamo\n",
       "    comment:       
" ], "text/plain": [ " Size: 237MB\n", "Dimensions: (time: 219168, id: 134)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2MB 2016-05-01T00:05:00 ... 2018-06-01\n", " * id (id) " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(ds_pws.x, ds_pws.y);" ] }, { "cell_type": "markdown", "id": "bfb4ba61-c9c3-480d-b003-0f346181cf0f", "metadata": {}, "source": [ "### Distance matrix" ] }, { "cell_type": "markdown", "id": "00a6b3cc-7132-428e-a836-88390ab2a8e7", "metadata": {}, "source": [ "#### Calculate distance matrix\n", "\n", "Beware that the distance matrix can become quite large when using large datasets, e.g. 800 MB if you use 10,000 stations against 10,000 stations from a country-wide PWS dataset, and calculation can take tens of seconds. We might add the option to calculate a sparse distance matrix only up the certain distances later, which reduced size and computation time signficantly.\n", "\n", "For the typicall use case to find nearby stations, you can just use the nearest neighbor lookup described below for large datasets. The distance matrix can still be quite nice and handy for small regional datasets." ] }, { "cell_type": "code", "execution_count": 7, "id": "d6c43dad-aab5-4a7b-b89c-0b80c6492460", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (id: 134, id_neighbor: 134)> Size: 144kB\n",
       "array([[    0.        ,   518.79828487,   531.99603941, ...,\n",
       "        28532.23134009, 25291.03668667, 25994.5064412 ],\n",
       "       [  518.79828487,     0.        ,   728.38027968, ...,\n",
       "        28493.8273213 , 24995.94592241, 25633.14869253],\n",
       "       [  531.99603941,   728.38027968,     0.        , ...,\n",
       "        28000.75903421, 24846.06853717, 25603.62271956],\n",
       "       ...,\n",
       "       [28532.23134009, 28493.8273213 , 28000.75903421, ...,\n",
       "            0.        , 14448.29575676, 18710.76846276],\n",
       "       [25291.03668667, 24995.94592241, 24846.06853717, ...,\n",
       "        14448.29575676,     0.        ,  4264.61589559],\n",
       "       [25994.5064412 , 25633.14869253, 25603.62271956, ...,\n",
       "        18710.76846276,  4264.61589559,     0.        ]])\n",
       "Coordinates:\n",
       "  * id           (id) <U6 3kB 'ams1' 'ams2' 'ams3' ... 'ams133' 'ams134'\n",
       "  * id_neighbor  (id_neighbor) <U6 3kB 'ams1' 'ams2' ... 'ams133' 'ams134'
" ], "text/plain": [ " Size: 144kB\n", "array([[ 0. , 518.79828487, 531.99603941, ...,\n", " 28532.23134009, 25291.03668667, 25994.5064412 ],\n", " [ 518.79828487, 0. , 728.38027968, ...,\n", " 28493.8273213 , 24995.94592241, 25633.14869253],\n", " [ 531.99603941, 728.38027968, 0. , ...,\n", " 28000.75903421, 24846.06853717, 25603.62271956],\n", " ...,\n", " [28532.23134009, 28493.8273213 , 28000.75903421, ...,\n", " 0. , 14448.29575676, 18710.76846276],\n", " [25291.03668667, 24995.94592241, 24846.06853717, ...,\n", " 14448.29575676, 0. , 4264.61589559],\n", " [25994.5064412 , 25633.14869253, 25603.62271956, ...,\n", " 18710.76846276, 4264.61589559, 0. ]])\n", "Coordinates:\n", " * id (id) " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "distance_matrix.plot(cbar_kwargs={\"label\": \"distance in meters\"})\n", "plt.xticks([])\n", "plt.yticks([]);" ] }, { "cell_type": "markdown", "id": "373a9d88-957f-4cfa-89aa-746f656a5e80", "metadata": {}, "source": [ "#### Plot locations with distance to selected station" ] }, { "cell_type": "code", "execution_count": 9, "id": "dbc068dd-291f-4f39-b2cc-c0782e6dd17a", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pws_id = \"ams63\"\n", "\n", "sc = plt.scatter(ds_pws.x, ds_pws.y, c=distance_matrix.sel(id=pws_id) / 1e3)\n", "plt.scatter(ds_pws.sel(id=pws_id).x, ds_pws.sel(id=pws_id).y, c=\"r\", marker=\"x\")\n", "plt.colorbar(sc, label=\"distance in km\");" ] }, { "cell_type": "markdown", "id": "628309ea-bfda-410d-a561-761a9ee8d424", "metadata": {}, "source": [ "#### Select neighbors within certain range from distance matrix\n", "\n", "Note that this can be done more easily with the nearest neighbor lookup shown below. But you might findet having the distance matrix and getting the neigbors from there a nicer solution." ] }, { "cell_type": "code", "execution_count": 10, "id": "648586fc-0dfc-4725-9f15-b76a0a2de7d7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['ams41', 'ams42', 'ams51', 'ams54', 'ams55', 'ams58', 'ams60',\n", " 'ams61', 'ams62', 'ams63', 'ams67', 'ams69', 'ams70', 'ams71',\n", " 'ams74', 'ams78', 'ams80', 'ams83', 'ams84', 'ams94', 'ams96',\n", " 'ams97'], dtype='\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 57kB\n",
       "Dimensions:      (id: 134, n_closest: 25)\n",
       "Coordinates:\n",
       "  * id           (id) <U6 3kB 'ams1' 'ams2' 'ams3' ... 'ams133' 'ams134'\n",
       "Dimensions without coordinates: n_closest\n",
       "Data variables:\n",
       "    distance     (id, n_closest) float64 27kB 0.0 518.8 532.0 ... inf inf inf\n",
       "    neighbor_id  (id, n_closest) object 27kB 'ams1' 'ams2' 'ams3' ... None None
" ], "text/plain": [ " Size: 57kB\n", "Dimensions: (id: 134, n_closest: 25)\n", "Coordinates:\n", " * id (id) " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "closest_neigbors.isel(id=slice(50, 70)).distance.plot();" ] }, { "cell_type": "markdown", "id": "fa742e69-799c-4546-9383-b546fc8c745b", "metadata": {}, "source": [ "One interesting thing might be the distance of the closest station, which is at index 1 of `n_closest` in our case because at index 0 is each station itself.\n", "\n", "Note that there is no data point if there is not neigbor within `max_distance`." ] }, { "cell_type": "code", "execution_count": 14, "id": "6aa1081b-6249-4eab-898f-0c49dba0e32c", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "closest_neigbors.isel(n_closest=1).distance.plot(figsize=(10, 4))\n", "plt.xticks([])\n", "plt.ylabel(\"distance to closest station in meters\");" ] }, { "cell_type": "markdown", "id": "15a698bf-a895-4807-bac2-4060f015a7a2", "metadata": {}, "source": [ "#### Get IDs of closest points" ] }, { "cell_type": "markdown", "id": "248c605b-f8c0-46b1-a742-f4dccd458c78", "metadata": {}, "source": [ "We can also get the station IDs of the closest neighbors. Note that they are different for each target station ID and they are sorted by ascending distance." ] }, { "cell_type": "code", "execution_count": 15, "id": "aca2d717-bceb-4cb5-83c0-184984eaf6d2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'neighbor_id' (n_closest: 22)> Size: 176B\n",
       "array(['ams63', 'ams61', 'ams70', 'ams58', 'ams71', 'ams74', 'ams51',\n",
       "       'ams54', 'ams83', 'ams67', 'ams55', 'ams60', 'ams84', 'ams69',\n",
       "       'ams80', 'ams94', 'ams78', 'ams62', 'ams96', 'ams97', 'ams42',\n",
       "       'ams41'], dtype=object)\n",
       "Coordinates:\n",
       "    id       <U6 24B 'ams63'\n",
       "Dimensions without coordinates: n_closest
" ], "text/plain": [ " Size: 176B\n", "array(['ams63', 'ams61', 'ams70', 'ams58', 'ams71', 'ams74', 'ams51',\n", " 'ams54', 'ams83', 'ams67', 'ams55', 'ams60', 'ams84', 'ams69',\n", " 'ams80', 'ams94', 'ams78', 'ams62', 'ams96', 'ams97', 'ams42',\n", " 'ams41'], dtype=object)\n", "Coordinates:\n", " id " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.set_aspect(\"equal\")\n", "\n", "ax.scatter(ds_pws.x, ds_pws.y, c=\"C1\", s=30)\n", "\n", "neighbor_ids = closest_neigbors.sel(id=pws_id).neighbor_id.dropna(dim=\"n_closest\")\n", "ds_pws_neighbors = ds_pws.sel(id=neighbor_ids)\n", "ax.scatter(ds_pws_neighbors.x, ds_pws_neighbors.y, c=\"C0\", s=30)\n", "\n", "ax.scatter(\n", " ds_pws.sel(id=pws_id).x, ds_pws.sel(id=pws_id).y, color=\"r\", s=30, marker=\"x\"\n", ")\n", "\n", "# Plot a circel with max_distance to see if the selections fits\n", "an = np.linspace(0, 2 * np.pi, 100)\n", "ax.plot(\n", " ds_pws.x.sel(id=pws_id).data + max_distance * np.cos(an),\n", " ds_pws.y.sel(id=pws_id).data + max_distance * np.sin(an),\n", " color=\"k\",\n", " linestyle=\"--\",\n", " linewidth=0.5,\n", ")\n", "plt.title(\"\");" ] }, { "cell_type": "markdown", "id": "afe12088-441b-4190-8663-c87e6116040c", "metadata": {}, "source": [ "Note that not all stations within the circle will be marked in case that `n_closest` cuts off the list of nearby stations." ] }, { "cell_type": "markdown", "id": "38133013-8cea-427c-9e16-c67a3d20345e", "metadata": {}, "source": [ "## Line-to-points distances\n", "This example shows how to use plg.spatial.get_closest_points_to_line to find points close to CMLs. We use CMLs from the OpenMerge dataset. The full dataset contains raingauges, but they where not unzippet and thus not readily available. We instead modify some of the CMLs so they look like raingauges by using the CML midpoints." ] }, { "cell_type": "markdown", "id": "daf3434d-6e12-4963-8cfb-b813428d9f5a", "metadata": {}, "source": [ "### Download CML data from training school example" ] }, { "cell_type": "code", "execution_count": null, "id": "3000655b-6f30-4c55-bda8-b1968d93d759", "metadata": {}, "outputs": [], "source": [ "!curl -OL https://github.com/OpenSenseAction/training_school_opensene_2023/raw/main/data/cml/openMRG_example.nc" ] }, { "cell_type": "markdown", "id": "39e844f0-6d41-444d-ac3a-25f00eb480db", "metadata": {}, "source": [ "### Remove unnecessary data and turn some CMLs into points" ] }, { "cell_type": "code", "execution_count": null, "id": "910eea67-f29e-451a-ac25-00224766350c", "metadata": {}, "outputs": [], "source": [ "# Load downloaded CML data\n", "ds_cmls = xr.open_dataset(\"./openMRG_example.nc\")\n", "\n", "# We only need metadata, so we drop tsl and rsl here\n", "ds_cmls = ds_cmls.drop_vars([\"tsl\", \"rsl\"]).drop_dims(\"time\")\n", "\n", "# Select some cmls, these are used as rain gauges\n", "gauges_ind = np.arange(0, ds_cmls.cml_id.size, 20)\n", "\n", "\n", "# Get cml indices that is not rain gauges\n", "cml_ind = np.arange(0, ds_cmls.cml_id.size)\n", "cml_ind = cml_ind[~np.isin(cml_ind, gauges_ind)]\n", "\n", "# Update both datasets with new non-overlapping indices\n", "ds_gauges = ds_cmls.isel(cml_id=gauges_ind)\n", "ds_cmls = ds_cmls.isel(cml_id=cml_ind)\n", "\n", "# Restructure ds_gauges so it has PWS standard names:\n", "ds_gauges = ds_gauges.drop_dims(\"sublink_id\").rename({\"cml_id\": \"id\"})\n", "\n", "# Use midpoint as gauge point\n", "ds_gauges.coords[\"lat\"] = (ds_gauges.site_0_lat + ds_gauges.site_1_lat) / 2\n", "ds_gauges.coords[\"lon\"] = (ds_gauges.site_0_lon + ds_gauges.site_1_lon) / 2\n", "ds_gauges = ds_gauges.drop_vars(\n", " [\n", " \"site_0_lat\",\n", " \"site_1_lat\",\n", " \"site_0_lon\",\n", " \"site_1_lon\",\n", " ]\n", ")\n", "\n", "# Reformat ids to str, a more common format\n", "ds_gauges.coords[\"id\"] = ds_gauges.id.astype(str)\n", "ds_cmls.coords[\"cml_id\"] = ds_cmls.cml_id.astype(str)" ] }, { "cell_type": "markdown", "id": "9d2eac80-8521-4d2a-ae73-856f0f35851d", "metadata": {}, "source": [ "### Project cooridnates from lon-lat to UTM zone for Europe" ] }, { "cell_type": "code", "execution_count": null, "id": "0346a3dc-2bb9-4c7e-bbc7-662748d30394", "metadata": {}, "outputs": [], "source": [ "# Project coordinates for rain gauges\n", "ds_gauges.coords[\"x\"], ds_gauges.coords[\"y\"] = plg.spatial.project_point_coordinates(\n", " ds_gauges.lon, ds_gauges.lat, \"EPSG:25832\"\n", ")\n", "\n", "# Project coordinates for CMLs\n", "(\n", " ds_cmls.coords[\"site_0_x\"],\n", " ds_cmls.coords[\"site_0_y\"],\n", ") = plg.spatial.project_point_coordinates(\n", " ds_cmls.site_0_lon, ds_cmls.site_0_lat, \"EPSG:25832\"\n", ")\n", "(\n", " ds_cmls.coords[\"site_1_x\"],\n", " ds_cmls.coords[\"site_1_y\"],\n", ") = plg.spatial.project_point_coordinates(\n", " ds_cmls.site_1_lon, ds_cmls.site_1_lat, \"EPSG:25832\"\n", ")" ] }, { "cell_type": "markdown", "id": "8353fefa-45c7-4b05-b73d-fd842f34850d", "metadata": {}, "source": [ "### Nearest neighbor lookup\n", "Uses KDTree for fast neighbour lookup" ] }, { "cell_type": "code", "execution_count": null, "id": "628511e3-f55a-4528-a927-b94f44efb6cf", "metadata": {}, "outputs": [], "source": [ "max_distance = 20000 # in meters due to the projection EPSG:25832\n", "closest_neigbors = plg.spatial.get_closest_points_to_line(\n", " ds_cmls, ds_gauges, max_distance=max_distance, n_closest=25\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "0cd9b357-f160-4302-a1c6-db7e1f450b8a", "metadata": {}, "outputs": [], "source": [ "closest_neigbors" ] }, { "cell_type": "code", "execution_count": null, "id": "2c74fcb2-1e30-4a0a-b3f1-f265f422656b", "metadata": {}, "outputs": [], "source": [ "closest_neigbors.isel(cml_id=slice(50, 70)).distance.plot()" ] }, { "cell_type": "markdown", "id": "08ffb8bc-ce33-48c3-abaf-2062f1d73645", "metadata": {}, "source": [ "We can get the nearest neighbour by selecting the first element in n_closest. " ] }, { "cell_type": "code", "execution_count": null, "id": "7caf5e8d-4ffd-4623-85ac-31aff7cf1340", "metadata": {}, "outputs": [], "source": [ "closest_neigbors.isel(n_closest=0).distance.plot(figsize=(10, 4))\n", "plt.xticks([])\n", "plt.ylabel(\"distance to closest station in meters\");" ] }, { "cell_type": "markdown", "id": "dd04d2fb-6a00-43a6-82d0-acc0c9e4dfec", "metadata": {}, "source": [ "We can also get the IDs of the closest gauges of a CML" ] }, { "cell_type": "code", "execution_count": null, "id": "4ce65795-38b6-41b3-ab7b-601a3d413293", "metadata": {}, "outputs": [], "source": [ "gauge_id = \"10002\"\n", "neighbor_ids = closest_neigbors.sel(cml_id=gauge_id).neighbor_id.dropna(dim=\"n_closest\")\n", "neighbor_ids" ] }, { "cell_type": "markdown", "id": "d26740f2-eb73-4664-8075-0a83f806a7a7", "metadata": {}, "source": [ "#### Plot CMLs that are close to rain gauges" ] }, { "cell_type": "code", "execution_count": null, "id": "8fdd36ea-d82c-470f-a271-1239e2c3dfa9", "metadata": {}, "outputs": [], "source": [ "gauge_ids = [13, 16] # [13, 16] # Select only 2 rain gauges\n", "max_distance = 5500 # Distance in meters\n", "closest_neigbors = plg.spatial.get_closest_points_to_line(\n", " ds_cmls, ds_gauges.isel(id=gauge_ids), max_distance=max_distance, n_closest=1\n", ").isel(n_closest=0)" ] }, { "cell_type": "code", "execution_count": null, "id": "b10d4b58-e8a7-42c9-90ac-3553f261450b", "metadata": {}, "outputs": [], "source": [ "fig, ax = plt.subplots()\n", "ax.set_aspect(\"equal\")\n", "\n", "# Plot all CMLs\n", "for cml_id in ds_cmls.cml_id:\n", " plt.plot(\n", " [ds_cmls.sel(cml_id=cml_id).site_0_x, ds_cmls.sel(cml_id=cml_id).site_1_x],\n", " [ds_cmls.sel(cml_id=cml_id).site_0_y, ds_cmls.sel(cml_id=cml_id).site_1_y],\n", " \"C0\",\n", " )\n", "\n", "# Plot CMLs close to selected gauges\n", "nearby_cml_id = closest_neigbors.neighbor_id.dropna(dim=\"cml_id\").cml_id\n", "for cml_id in nearby_cml_id:\n", " plt.plot(\n", " [ds_cmls.sel(cml_id=cml_id).site_0_x, ds_cmls.sel(cml_id=cml_id).site_1_x],\n", " [ds_cmls.sel(cml_id=cml_id).site_0_y, ds_cmls.sel(cml_id=cml_id).site_1_y],\n", " \"C1\",\n", " )\n", "\n", "# Plot selected rain gauges\n", "ax.scatter(ds_gauges.isel(id=gauge_ids).x, ds_gauges.isel(id=gauge_ids).y, c=\"C2\", s=30)\n", "\n", "# Plot a circel with max_distance to see if the selections fits\n", "an = np.linspace(0, 2 * np.pi, 100)\n", "for gauge_id in gauge_ids:\n", " ax.plot(\n", " ds_gauges.x.isel(id=gauge_id).data + max_distance * np.cos(an),\n", " ds_gauges.y.isel(id=gauge_id).data + max_distance * np.sin(an),\n", " color=\"k\",\n", " linestyle=\"--\",\n", " linewidth=0.5,\n", " )\n", " plt.title(\"\")" ] }, { "cell_type": "code", "execution_count": null, "id": "8a55b716", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "poetry_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.19" } }, "nbformat": 4, "nbformat_minor": 5 }