{ "cells": [ { "cell_type": "markdown", "id": "eac2be7d", "metadata": {}, "source": [ "# Interaction WolfArray/vectors - Rasterizing" ] }, { "cell_type": "code", "execution_count": null, "id": "c1cb040f", "metadata": {}, "outputs": [], "source": [ "# import _add_path # for debugging purposes only - can be removed in production\n", "from wolfhece import is_enough, __version__\n", "assert is_enough(\"2.2.7\"), \"Please update wolfhece to 2.2.7 or later - you have \" + __version__\n", "\n", "from wolfhece.wolf_array import WolfArray, header_wolf\n", "from wolfhece.PyVertexvectors import Zones, zone, vector\n", "\n", "import numpy as np\n", "from packaging import version" ] }, { "cell_type": "markdown", "id": "71bb75e0", "metadata": {}, "source": [ "## Creation of an array\n", "\n", "1. Create a header\n", "1. Set shape and resolution\n", "1. Create an array from the header" ] }, { "cell_type": "code", "execution_count": 2, "id": "c7f95bca", "metadata": {}, "outputs": [], "source": [ "h = header_wolf()\n", "h.shape = (100, 100)\n", "h.set_resolution(1., 1.)\n", "\n", "a = WolfArray(srcheader=h)" ] }, { "cell_type": "markdown", "id": "e0ee7924", "metadata": {}, "source": [ "## Creation of a vector\n", "\n", "Square 5m x 5m and 1 attached value named 'testvalue'.\n", "\n", "1. Create a vector and add vertices from Numpy array\n", "1. Closed the vector as polygon\n", "1. Add a value to the vector with the key 'testvalue'" ] }, { "cell_type": "code", "execution_count": 3, "id": "3f0c5d2a", "metadata": {}, "outputs": [], "source": [ "v = vector(fromnumpy= np.asarray([[5.,5.],\n", " [10.,5.],\n", " [10.,10.],\n", " [5.,10.]]))\n", "\n", "v.close_force()\n", "\n", "v.add_value('testvalue', 5.)\n" ] }, { "cell_type": "markdown", "id": "bc1c7432", "metadata": {}, "source": [ "## Rasterizing\n", "\n", "a bit like `RasterIO <https://rasterio.readthedocs.io/en/stable/api/rasterio.rio.rasterize.html#rio-rasterize>`_" ] }, { "cell_type": "code", "execution_count": 4, "id": "d72c6f1a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(<Figure size 640x480 with 1 Axes>, <Axes: >)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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06233pouvvji4vGysrI0duzYdOONN6ZevXoV4c6vu+7atWsaOnRoqYcDAA1ayUOdXy+dh/eyyy5LmzdvLgL8/e9/v3iDk2oTJkxI27ZtS6NHj05btmxJp5xySpo/f35q2bJlqYcDAA1aWbb7W4Y1EPmu8vyksmsrK1NLu8EBqEfbq6rS1IqK4hyqujg0672+ASAwoQaAwIQaAAITagAITKgBIDChBoDAhBoAAhNqAAhMqAEgMKEGgMCEGgACE2oACEyoASAwoQaAwIQaAAITagAITKgBIDChBoDAhBoAAhNqAAhMqAEgMKEGgMCEGgACE2oACEyoASAwoQaAwIQaAAITagAITKgBIDChBoDAhBoAAhNqAAhMqAEgMKEGgMCEGgACE2oACEyoASAwoQaAwIQaAAITagAITKgBIDChBoDAhBoAAhNqAAhMqAEgMKEGgMCEGgACE2oACEyoASAwoQaAwIQaAAITagAITKgBIDChBoDAhBoAAhNqAAhMqAEgMKEGgMCEGgACE2oACEyoASAwoQaAwIQaAAITagAITKgBIDChBoDAhBoAAhNqAAhMqAEgMKEGgMCEGgACE2oACEyoAaCxhfqtt95K559/furQoUNq1apVOuKII9KKFStqHs+yLE2ePDl16dKleHzQoEFp7dq1dTEUAGjQSh7qf/3rX+nkk09OzZo1S0888UR65ZVX0q9+9at00EEH1axzyy23pGnTpqUZM2akpUuXptatW6fBgwen7du3l3o4ANCgNS31E958882pW7duaebMmTXLevbsWWtr+vbbb0/XXXddOvvss4tlDzzwQOrUqVOaO3duGj58eKmHBAANVsm3qB977LF0/PHHp/POOy917NgxHXPMMemee+6peXzdunVp48aNxe7uahUVFal///5pyZIlpR4OADRoJQ/1m2++maZPn5569eqVnnzyyXTppZemK6+8Mt1///3F43mkc/kW9O7y+9WPfdKOHTtSVVVVrRsANAYl3/W9a9euYov65z//eXE/36JevXp1cTx65MiRn+k5p0yZkq6//voSjxQAGuEWdX4md9++fWst69OnT1q/fn3xfefOnYuvmzZtqrVOfr/6sU+aOHFiqqysrLlt2LCh1MMGgMYR6vyM7zVr1tRa9vrrr6cePXrUnFiWB3nhwoU1j+e7svOzvwcMGLDX52zRokUq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cgDgc/Ne3wAQmFADQGBCDQCBCTUABNYgQ+3jMT+b/K1YTzjhhNS2bdvUsWPHNHTo0LRmzZpa62zfvj2NGTMmdejQIbVp0yYNGzZsjzemYU9Tp05NZWVlaezYsTXLzOX+e+utt9L5559fzFmrVq3SEUcckVasWFHzeH7ua36lSJcuXYrH888HWLt2bb2OOar8bZonTZqUevbsWczVYYcdlm644YZa70dtPj/d008/nc4666zUtWvX4t/23Llzaz2+L3P33nvvpREjRhRvKtOuXbs0atSotHXr1rTfsgZm9uzZWfPmzbN77703e/nll7NLLrkka9euXbZp06b6Hlp4gwcPzmbOnJmtXr06e+GFF7Izzzwz6969e7Z169aadX7wgx9k3bp1yxYuXJitWLEiO+mkk7KBAwfW67ijW7ZsWXbooYdmRx55ZHbVVVfVLDeX++e9997LevTokV144YXZ0qVLszfffDN78sknszfeeKNmnalTp2YVFRXZ3LlzsxdffDH71re+lfXs2TP797//Xa9jj+imm27KOnTokM2bNy9bt25d9sgjj2Rt2rTJfv3rX9esYz4/3Z/+9KfsJz/5SfbHP/4xf2WTzZkzp9bj+zJ3p59+enbUUUdlzz33XPaXv/wl++pXv5p973vfy/ZXgwv1iSeemI0ZM6bm/scff5x17do1mzJlSr2OqyHavHlz8Qu4ePHi4v6WLVuyZs2aFf+gq7366qvFOkuWLKnHkcb1/vvvZ7169coWLFiQnXrqqTWhNpf775prrslOOeWUT318165dWefOnbNf/OIXNcvyeW7RokX20EMP/T+NsuEYMmRIdvHFF9dadu6552YjRowovjef++6Tod6XuXvllVeKn1u+fHnNOk888URWVlaWvfXWW/vxX8+yBrXru/rjMfNdDPvy8Zj8Z9UfF1r9RvL53O7cubPW/Pbu3bt4s3nzu3f5ru0hQ4bUmrOcudx/jz32WPFOheedd15xaOaYY45J99xzT83j69atK94cafc5zd/vPz/8ZU73NHDgwOJtmV9//fXi/osvvpieeeaZdMYZZxT3zednty9zl3/Nd3fnv9PV8vXzZi1duvSL9+lZn/XjMfl0+Xur58dTTz755NSvX79iWf6Ll78Pe/7L9cn5zR+jttmzZ6dVq1al5cuX7/GYudx/b775Zpo+fXrx9sI//vGPi3m98sori3nM3264et729u/fnO7p2muvLT4lK3+BmH8IUv6386abbiqOmebM52e3L3OXf81fcO6uadOmxYbR/s5vgwo1pd0SXL16dfEKm/2XfzzgVVddlRYsWFCc1EhpXjzmWx8///nPi/v5FnX+Ozpjxowi1Oyfhx9+OM2aNSs9+OCD6fDDD08vvPBC8eI8PznKfDYsDWrX9/5+PCZ7d/nll6d58+alp556Kh1yyCE1y/M5zA8v5J/3vTvzu6d81/bmzZvTscceW7xKzm+LFy9O06ZNK77PX1mby/2Tnz3bt2/fWsv69OlTfO58rnre/PvfN1dffXWxVT18+PDi7PkLLrggjRs3rrj6I2c+P7t9mbv8a/43YncfffRRcSb4/s5vgwq1j8f8fPJzIvJIz5kzJy1atKi4bGN3+dw2a9as1vzml2/lfyjNb22nnXZaeumll4qtlOpbvjWY71as/t5c7p/8MMwnLxfMj6/26NGj+D7/fc3/wO0+p/mu3fx4nznd0wcffLDH5yPnGzr538yc+fzs9mXu8q/5C/X8RX21/O9uPv/5sez9kjXAy7PyM+vuu+++4qy60aNHF5dnbdy4sb6HFt6ll15aXE7w5z//OfvHP/5Rc/vggw9qXVKUX7K1aNGi4pKiAQMGFDf+u93P+s6Zy/2/zK1p06bFZUVr167NZs2alR144IHZ73//+1qXxOT/3h999NHsr3/9a3b22We7nOhTjBw5Mvvyl79cc3lWfpnRwQcfnE2YMKFmHfP5n6/oeP7554tbnspbb721+P5vf/vbPs9dfnnWMcccU1xu+MwzzxRXiDSKy7Nyd9xxR/EHML+eOr9cK79Gjf8u/2Xb2y2/trpa/kt22WWXZQcddFDxR/Kcc84pYs7+h9pc7r/HH38869evX/FivHfv3tndd99d6/H8sphJkyZlnTp1KtY57bTTsjVr1tTbeCOrqqoqfh/zv5UtW7bMvvKVrxTXBe/YsaNmHfP56Z566qm9/r3MXwDt69y9++67RZjz69fLy8uziy66qHgBsL98zCUABNagjlEDQGMj1AAQmFADQGBCDQCBCTUABCbUABCYUANAYEINAIEJNQAEJtQAEJhQA0BgQg0AKa7/BRawZEozYi0vAAAAAElFTkSuQmCC", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a.rasterize_vector_valuebyid(v, 'testvalue')\n", "\n", "a.plot_matplotlib()" ] }, { "cell_type": "markdown", "id": "316ed516", "metadata": {}, "source": [ "## Creation of a zone" ] }, { "cell_type": "code", "execution_count": 5, "id": "d1f86c09", "metadata": {}, "outputs": [ { "data": { "image/png": "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GhsbVVJScrLHAQAYE5eXImtqalRZWamioiJddNFFWrp0qQ4fPqzrr7++X8/3+Xy6++67+3x5Ev+Ldeof1ql/WKf+YZ36ZyDXKS5v95ekRx99VA8++KBCoZAuuOACNTQ0qLi4OB6jAAAMiVvYAAAYCHxWJADAFMIGADCFsAEATCFsAABTBmXY+JU3/6u+vl4TJ07UiBEjNHLkSM2YMUNtbW0xx3R3d6uqqkrZ2dkaPny4ysvLj/sB+USzePFiJSUlqbq6OrqNdfrchx9+qGuvvVbZ2dlKT0/XuHHjtH379uh+55wWLlyonJwcpaenq7S0VHv37o3jxCffsWPHVFdXp4KCAqWnp+vss8/Wvffeq39/L14irtNrr72myy+/XLm5uUpKStK6deti9vdnTQ4cOKCKigplZGQoMzNTs2bN0qFDh05sEM8/fXKArV692qWmprrf/va37q233nI33nijy8zMdB0dHfEeLS7KysrcihUr3O7du92uXbvcZZdd5vLz892hQ4eix9x0000uLy/PNTY2uu3bt7uLL77YTZo0KY5Tx9fWrVvdWWed5c477zw3d+7c6HbWybkDBw64UaNGueuuu861tLS4999/373yyivuvffeix6zePFi5/f73bp169wbb7zhrrjiCldQUOA+/fTTOE5+ci1atMhlZ2e79evXu3379rk1a9a44cOHu1/96lfRYxJxnf7whz+4O++80z3//PNO0nEfdt+fNbnkkkvc+eef77Zs2eL+9Kc/uW9+85vummuuOaE5Bl3YLrroIldVVRX9+tixYy43N9fV19fHcapTR2dnp5PkmpqanHPOdXV1uaFDh7o1a9ZEj3nnnXecJNfc3ByvMePm4MGDbvTo0W7jxo3u29/+djRsrNPn7rjjDjdlypT/uL+3t9cFg0H34IMPRrd1dXU5n8/nnn322ZMx4ilh2rRp7oYbbojZdtVVV7mKigrnHOvknDsubP1Zk7fffttJctu2bYse8/LLL7ukpCT34Ycf9vvPHlQvRR45ckStra0qLS2NbktOTlZpaamam5vjONmpIxwOS1L0E7NbW1t19OjRmDUrLCxUfn5+Qq5ZVVWVpk2bFrMeEuv0Ly+++KKKiop09dVXa+TIkRo/fryefPLJ6P59+/YpFArFrJPf71dxcXFCrdOkSZPU2NioPXv2SJLeeOMNbd68WZdeeqkk1qkv/VmT5uZmZWZmqqioKHpMaWmpkpOT1dLS0u8/a1B8uv+/fJlfeZNIent7VV1drcmTJ2vs2LGSpFAopNTUVGVmZsYcGwgEFAqF4jBl/KxevVo7duzQtm3bjtvHOn3u/fff17Jly1RTU6Of/exn2rZtm2677TalpqaqsrIyuhZ9/RtMpHVasGCBIpGICgsLNWTIEB07dkyLFi1SRUWFJLFOfejPmoRCIY0cOTJmf0pKirKysk5o3QZV2PDfVVVVaffu3dq8eXO8RznltLe3a+7cudq4caPS0tLiPc4pq7e3V0VFRbr//vslSePHj9fu3bu1fPlyVVZWxnm6U8dzzz2nlStXatWqVTr33HO1a9cuVVdXKzc3l3U6BQyqlyL5lTf/2Zw5c7R+/Xq9+uqrOvPMM6Pbg8Ggjhw5oq6urpjjE23NWltb1dnZqQsvvFApKSlKSUlRU1OTGhoalJKSokAgwDpJysnJ0TnnnBOzbcyYMdq/f78kRdci0f8N3n777VqwYIFmzpypcePG6Yc//KHmzZun+vp6SaxTX/qzJsFgUJ2dnTH7P/vsMx04cOCE1m1QhY1feXM855zmzJmjtWvXatOmTSooKIjZP2HCBA0dOjRmzdra2rR///6EWrOpU6fqzTff1K5du6KPoqIiVVRURP+bdZImT5583I+L7NmzR6NGjZIkFRQUKBgMxqxTJBJRS0tLQq3TJ598ctwvyBwyZIh6e3slsU596c+alJSUqKurS62trdFjNm3apN7e3hP7kPyv/NaXk2z16tXO5/O5p556yr399ttu9uzZLjMz04VCoXiPFhc333yz8/v97o9//KP7+OOPo49PPvkkesxNN93k8vPz3aZNm9z27dtdSUmJKykpiePUp4Z/f1ekc6yTc5//KERKSopbtGiR27t3r1u5cqU77bTT3O9+97voMYsXL3aZmZnuhRdecH/+85/d9OnTzb+N/YsqKyvd17/+9ejb/Z9//nl3xhlnuPnz50ePScR1OnjwoNu5c6fbuXOnk+Qeeught3PnTvfBBx845/q3JpdccokbP368a2lpcZs3b3ajR4+2/3Z/55x75JFHXH5+vktNTXUXXXSR27JlS7xHihtJfT5WrFgRPebTTz91t9xyizv99NPdaaed5q688kr38ccfx2/oU8QXw8Y6fe6ll15yY8eOdT6fzxUWFronnngiZn9vb6+rq6tzgUDA+Xw+N3XqVNfW1hanaeMjEom4uXPnuvz8fJeWlua+8Y1vuDvvvNP19PREj0nEdXr11Vf7/H5UWVnpnOvfmvzjH/9w11xzjRs+fLjLyMhw119/vTt48OAJzcGvrQEAmDKo7rEBAPB/IWwAAFMIGwDAFMIGADCFsAEATCFsAABTCBsAwBTCBgAwhbABAEwhbAAAUwgbAMCU/weiE6v/p6ISVwAAAABJRU5ErkJggg==", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "z = zone()\n", "\n", "v2 = vector(fromnumpy= np.asarray([[25.,25.],\n", " [30.,25.],\n", " [50.,35.],\n", " [15.,30.]]))\n", "v2.close_force()\n", "\n", "z.add_vector(v, forceparent=True)\n", "z.add_vector(v2, forceparent=True)\n", "\n", "z.add_values('testvalue', np.asarray([5., 15.]))\n", "\n", "a.rasterize_zone_valuebyid(z, 'testvalue')\n", "fig, ax = a.plot_matplotlib()" ] }, { "cell_type": "markdown", "id": "0e76498c", "metadata": {}, "source": [ "## Do not confuse\n", "\n", "- rasterize_vector_along_grid : routine of header_wolf class --> rasterize a vector along to the grid - very useful for flow discharge computation bsed on arbitrary cross-sections\n", "- rasterize_vector_valuebyid : routine of WolfArray class --> fill the grid with the value (by its id) inside the polygon formed by the vector" ] }, { "cell_type": "code", "execution_count": 5, "id": "2ca33b09", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "from wolfhece.PyVertex import getRGBfromI, getIfromRGB\n", "\n", "\n", "v3 = vector(fromnumpy= np.asarray([[25.,25.],\n", " [100.,80.],\n", " [50.,90.],\n", " [60.,10.],\n", " ]))\n", "\n", "raster_v3 = a.rasterize_vector_along_grid(v3)\n", "\n", "fig, ax = plt.subplots()\n", "raster_v3.plot_matplotlib(ax)\n", "\n", "v3.myprop.color = getIfromRGB((255,0,0))\n", "v3.plot_matplotlib(ax)" ] } ], "metadata": { "kernelspec": { "display_name": "python3.11", "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.11.9" } }, "nbformat": 4, "nbformat_minor": 5 }