{ "cells": [ { "cell_type": "markdown", "id": "ab9c3bab-289c-4a96-864f-b93dfddef7fc", "metadata": {}, "source": [ "© Alexander Jüstel, Fraunhofer IEG, Institution for Energy Infrastructures and Geothermal Systems, RWTH Aachen University,\n", "GNU Lesser General Public License v3.0\n", "\n", "# 11 Processing: Data Merging and Stitching Rasters\n", "\n", "This notebook illustrates how to merge and stitch the resulting heat demand rasters to get one final heat demand map. " ] }, { "cell_type": "markdown", "id": "191c5787-31b9-4b08-bf9c-abaf0104a37a", "metadata": {}, "source": [ "## Importing Libraries" ] }, { "cell_type": "code", "execution_count": 1, "id": "cc604b93-c5a1-4763-819d-119ed8844790", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\ale93371\\Anaconda3\\envs\\pygeomechanical\\lib\\site-packages\\numpy\\_distributor_init.py:30: UserWarning: loaded more than 1 DLL from .libs:\n", "C:\\Users\\ale93371\\Anaconda3\\envs\\pygeomechanical\\lib\\site-packages\\numpy\\.libs\\libopenblas.FB5AE2TYXYH2IJRDKGDGQ3XBKLKTF43H.gfortran-win_amd64.dll\n", "C:\\Users\\ale93371\\Anaconda3\\envs\\pygeomechanical\\lib\\site-packages\\numpy\\.libs\\libopenblas64__v0.3.23-246-g3d31191b-gcc_10_3_0.dll\n", " warnings.warn(\"loaded more than 1 DLL from .libs:\"\n" ] } ], "source": [ "import rasterio\n", "import os\n", "\n", "from pyheatdemand import processing " ] }, { "cell_type": "markdown", "id": "e6222682-6f8f-477b-8398-af77b516596d", "metadata": {}, "source": [ "## Get List of all Raster Files\n", "\n", "Loading the rasters from a folder." ] }, { "cell_type": "code", "execution_count": 2, "id": "8555e6b9-216f-487f-b893-b9964b1628df", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['C:\\\\Users\\\\ale93371\\\\Documents\\\\pyhd2\\\\test\\\\data\\\\rasters\\\\HD_Test1.tif',\n", " 'C:\\\\Users\\\\ale93371\\\\Documents\\\\pyhd2\\\\test\\\\data\\\\rasters\\\\HD_Test2.tif']" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raster_list = os.listdir('../../../test/data/rasters/')\n", "raster_list = [os.path.join(os.path.abspath('../../../test/data/rasters/'), path) for path in raster_list] \n", "raster_list" ] }, { "cell_type": "code", "execution_count": 3, "id": "97574cd9-f793-4b61-a3a0-7f1d8f98311b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "CRS.from_epsg(3035)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rasterio.open(raster_list[0]).crs" ] }, { "cell_type": "markdown", "id": "3196623b-c9be-4f8e-9fb4-4b29af0503f5", "metadata": {}, "source": [ "## Merging the Datasets\n", "\n", "The datasets can be merged using the `merge_rasters(...)` function." ] }, { "cell_type": "code", "execution_count": 4, "id": "d4e88501-830a-4352-bfda-df9f8639480b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Raster successfully merged\n" ] } ], "source": [ "processing.merge_rasters(raster_list, '../../../test/data/Raster_merged.tif')" ] }, { "cell_type": "markdown", "id": "2f60e9cd-8674-426c-a651-978af6c02974", "metadata": {}, "source": [ "## Plotting result" ] }, { "cell_type": "code", "execution_count": 5, "id": "e0560002-c981-4c1e-a9c4-d603dd1310cf", "metadata": {}, "outputs": [ { "data": { "image/png": "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9+U0pH///pg/fz7sdjusVmuD01it1kZrRERERA1pckim2+2G3W5vsBYfH4+dO3fWey4jI8PzHimHwwGHwwGjsf5mmEwmuN3fZF7ExcXBYrHUW86JEyeQl5fX6HutACAnJwetWrVic0RERETNStedp5SUFIwcORKRkZGoqKjAxo0bsXv3bmzfvh0AMH78eISHhyM1NRUAMH36dAwcOBBLlixBUlIS0tLScPDgQaxZswYAYLPZMHDgQMyaNQs+Pj6IiorCnj17sGHDBixduhQAEBgYiIkTJ2LmzJkIDg6GzWbDU089hfj4eAwYMAAA8P7776OwsBADBgyAt7c3MjIy8Ic//AHPPvtssw0UEREREaCzeSoqKsL48eORn5+PwMBAxMbGYvv27Rg27Js05ry8vHp3kRISErBx40bMnTsXc+bMQUxMDDZv3oxevXp5pklLS0NKSgoeeeQRlJSUICoqCgsWLMDkyZM907z++uswGo0YPXo07HY7RowYgT//+c+eusViwRtvvIFnnnkGmqYhOjoaS5cuxRNPPHHTA0NERETUEF3N09q1a8X67t27r3tuzJgxGDNmTKPzhIWFYf369eJyvb298cYbb+CNN95osJ6YmIjExERxGURERETNgV8MTERERKQDmyciIiIiHdg8EREREenA5omIiIhIBzZPRERERDroThj/KTA4AaOh4ZrDV+43NT9vse59pU65flOtU6xXt7WIdcvlarEeWlQl1p1BPmL9wmBfse6wyV/IbMlTB5e2yZHHoKinPM7to4qV65BU273Euqm2kQPk/3Eb5TGIelWuA8CV2+Vp6gLlbSjtItdhcSu2wCRW3WZ5+wLOyPMDgE+xvA1FneR9cPm5xLq1dY1Yd9T5i3XDMZtYD+hVKtYry+VzCQD8fnZZrPt7NRxCfM254mCx/stxu8X6WwcTxHqbAvl1dvjJr5GmPgxgLpcncmry+ahiKZOXb1Ccjq2/kF+Dig7q7Qs9IF93TVXyzwZDnXxNdLnkcwEGxevklJevkuFOV04z3OdReRsaCdy+kXWUl5cjMDBQuQ3NhXeeiIiIiHRg80RERESkA5snIiIiIh3YPBERERHpwOaJiIiISAc2T0REREQ6sHkiIiIi0oE5Tw0IyrkMs6mRLCKzIi+ktEKsO8I7KNdv+fKCWA8+KueFbK98W6yP8B0n1p339ZLr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7fjx4825Cy3uVozh5cuXtZCQEO2hhx7ScnJytBMnTmjPPvusZrFYtJycnO9it265W3UsLl++XMvOztZOnDihrVixQvPx8dGWLVuma1t/tJ+2k+Tl5dV7Y1hCQgI2btyINWvWoE+fPvj73/+OzZs3o1evXje8TF9fX/zf//0f7r//fnTt2hUTJ05EbGws9uzZ84N7f8mN+i7G8afouxhHq9WKtLQ0DBw4ED179sSCBQvwzDPPYM2aNd/FLnwvfFfH46JFi/DLX/4S48aNw5133olz587h448//sG+SVfluzyv165di4SEBHTr1q05N/l757sYw9atW2Pbtm2orKzEkCFDcMcdd+DTTz/Fe++9hz59+nwXu9Hivqtjcf/+/Rg2bBh69+6NNWvWYPXq1Tf8YYdrDJqmabrmICIiIvoJ+0neeSIiIiK6WWyeiIiIiHRg80RERESkA5snIiIiIh3YPBERERHpwOaJiIiISAc2T0REREQ6sHkiIiKi79Qnn3yCUaNGoX379jAYDNi8ebPuZWiahsWLF6NLly6wWq0IDw/HggULmn9jb8CP7rvtiIiI6PulqqoKffr0wW9+8xs89NBDN7WM6dOnY8eOHVi8eDF69+6NkpISlJSUNPOW3hgmjBMREdEtYzAYsGnTJiQnJ3ues9vt+P3vf4+//e1vKC0tRa9evfDqq69i0KBBAIDjx48jNjYWR44cQdeuXVtmw/8N/2xHRERELWratGnIyspCWloavvjiC4wZMwaJiYn46quvAADvv/8+OnfujK1bt6JTp07o2LEjHn/88Ra788TmiYiIiFpMXl4e1q9fj/T0dNx777247bbb8Oyzz+Kee+7B+vXrAQBff/01zp07h/T0dGzYsAFvvfUWsrOz8fDDD7fINvM9T0RERNRicnNz4XK50KVLl3rP2+12hISEAADcbjfsdjs2bNjgmW7t2rWIi4vDiRMnbvmf8tg8ERERUYuprKyEyWRCdnY2TCZTvZq/vz8AoF27djCbzfUarO7duwP45s4VmyciIiL6yejbty9cLheKiopw7733NjjN3XffDafTidOnT+O2224DAJw8eRIAEBUVdcu29Rp+2o6IiIi+U5WVlTh16hSAb5qlpUuXYvDgwQgODkZkZCQeffRRfPbZZ1iyZAn69u2Ly5cvY+fOnYiNjUVSUhLcbjfuvPNO+Pv7449//CPcbjemTp0Km82GHTt23PL9YfNERERE36ndu3dj8ODB1z0/YcIEvPXWW3A4HHjllVewYcMGXLx4Ea1bt8aAAQPw0ksvoXfv3gCAS5cu4amnnsKOHTvg5+eHkSNHYsmSJQgODr7Vu8PmiYiIiEgPRhUQERER6cDmiYiIiEgHNk9EREREOrB5IiIiItKBzRMRERGRDmyeiIiIiHRg80RERESkA5snIiIiIh3YPBERERHpwOaJiIiISAc2T0REREQ6sHkiIiIi0uH/B1RtS4a+3cSbAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rasterio.plot import show\n", "mosaic = rasterio.open('../../../test/data/Raster_merged.tif')\n", "show(mosaic)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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" } }, "nbformat": 4, "nbformat_minor": 5 }