{ "cells": [ { "cell_type": "markdown", "id": "8bec3d71", "metadata": {}, "source": [ "# Test setup at Heligoland\n", "This notebook documents the general test setup, locations and more information for the validation measurements at Heligoland. \n" ] }, { "cell_type": "code", "execution_count": 8, "id": "d74ab679", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using lidar_monitoring.mplstyle as matplotlib style template\n" ] } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "from lidalign.utils import load_template, publication_figure\n", "\n", "import plotly.graph_objects as go\n", "from PIL import Image\n", "import skimage.io as sio\n", "\n", "load_template()\n", "import pathlib \n", "savepath = pathlib.Path.home() /'Figures'\n", "savepath.mkdir(exist_ok=True)" ] }, { "cell_type": "markdown", "id": "0dee5230", "metadata": {}, "source": [ "## Visualization of the site" ] }, { "cell_type": "code", "execution_count": 14, "id": "49648d7e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Position\n", "STATION A 20.579809\n", "CORNER 1 171.538760\n", "CORNER 2 171.583166\n", "CORNER 3 157.601132\n", "CORNER 4 143.303444\n", "LIDARLEG1 1.334438\n", "LIDARLEG2 1.294822\n", "LIDARLEG3 1.313251\n", "LIDARHEAD 0.000000\n", "C6 171.523649\n", "C7 171.565801\n", "STATION B 3.764995\n", "Watercorner 171.583166\n", "Name: Distance, dtype: float64\n", "\n", "X 168.525\n", "Y -31.603\n", "Z -6.431\n", "Type P\n", "azimuth 100.621154\n", "elevation -2.14797\n", "Distance 171.583166\n", "Name: Watercorner, dtype: object\n" ] } ], "source": [ "positions = pd.read_csv('data/HELGOHARB 20250503.csv', header = None, names = ['Position','X','Y','Z','Type'], index_col= 'Position')\n", "pos_rel = positions.copy()\n", "pos_rel[['X','Y','Z']] -= positions.loc['LIDARHEAD',['X','Y','Z']].astype(float)\n", "pos_rel.loc['Watercorner'] = pos_rel.loc['CORNER 2'].copy()\n", "pos_rel = pos_rel.dropna(axis = 0, how = 'any')\n", "\n", "\n", "\n", "pos_rel['azimuth'] = np.rad2deg(np.arctan2(pos_rel['X'], pos_rel['Y'])) #np.rad2deg(np.arctan2(pos_rel['X'], pos_rel['Y']))\n", "pos_rel['elevation'] = np.rad2deg(np.arctan(pos_rel['Z'] / (pos_rel['X']**2 + pos_rel['Y']**2)**0.5))\n", "\n", "pos_rel['Distance'] = np.sum(pos_rel[['X','Y','Z']]**2, axis = 1)**0.5\n", "print(pos_rel['Distance']) ## reference is corner2!\n", "aim = pos_rel.loc['Watercorner']\n", "print()\n", "print(aim)\n", "\n" ] }, { "cell_type": "code", "execution_count": 15, "id": "33a27a24", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | X | \n", "Y | \n", "Z | \n", "Type | \n", "azimuth | \n", "elevation | \n", "Distance | \n", "
|---|---|---|---|---|---|---|---|
| Position | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
| STATION A | \n", "20.365 | \n", "2.964 | \n", "-0.100 | \n", "ST | \n", "81.719098 | \n", "-0.278409 | \n", "20.579809 | \n", "
| CORNER 1 | \n", "168.569 | \n", "-31.741 | \n", "-1.596 | \n", "P | \n", "100.663751 | \n", "-0.533089 | \n", "171.538760 | \n", "
| CORNER 2 | \n", "168.525 | \n", "-31.603 | \n", "-6.431 | \n", "P | \n", "100.621154 | \n", "-2.147970 | \n", "171.583166 | \n", "
| CORNER 3 | \n", "156.440 | \n", "-19.036 | \n", "-1.508 | \n", "P | \n", "96.937782 | \n", "-0.548241 | \n", "157.601132 | \n", "
| CORNER 4 | \n", "143.204 | \n", "-5.120 | \n", "-1.509 | \n", "P | \n", "92.047635 | \n", "-0.603342 | \n", "143.303444 | \n", "
| LIDARLEG1 | \n", "-0.168 | \n", "-0.580 | \n", "-1.190 | \n", "P | \n", "-163.846067 | \n", "-63.095421 | \n", "1.334438 | \n", "
| LIDARLEG2 | \n", "0.524 | \n", "0.050 | \n", "-1.183 | \n", "P | \n", "84.549348 | \n", "-66.013156 | \n", "1.294822 | \n", "
| LIDARLEG3 | \n", "0.016 | \n", "0.604 | \n", "-1.166 | \n", "P | \n", "1.517414 | \n", "-62.607170 | \n", "1.313251 | \n", "
| LIDARHEAD | \n", "0.000 | \n", "0.000 | \n", "0.000 | \n", "P | \n", "0.000000 | \n", "NaN | \n", "0.000000 | \n", "
| C6 | \n", "168.532 | \n", "-31.674 | \n", "-3.753 | \n", "P | \n", "100.644039 | \n", "-1.253753 | \n", "171.523649 | \n", "
| C7 | \n", "168.594 | \n", "-31.759 | \n", "-1.501 | \n", "P | \n", "100.668113 | \n", "-0.501277 | \n", "171.565801 | \n", "
| STATION B | \n", "-0.112 | \n", "3.762 | \n", "-0.100 | \n", "ST | \n", "-1.705272 | \n", "-1.521981 | \n", "3.764995 | \n", "
| Watercorner | \n", "168.525 | \n", "-31.603 | \n", "-6.431 | \n", "P | \n", "100.621154 | \n", "-2.147970 | \n", "171.583166 | \n", "