From b3b9164352b1fc276f0c1388be5e6c44f16906f2 Mon Sep 17 00:00:00 2001 From: Michal Hanus Date: Mon, 2 Jun 2025 09:46:16 +0200 Subject: final1 --- prilohy/web/Untitled.ipynb | 171 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 prilohy/web/Untitled.ipynb (limited to 'prilohy/web/Untitled.ipynb') diff --git a/prilohy/web/Untitled.ipynb b/prilohy/web/Untitled.ipynb new file mode 100644 index 0000000..0e52830 --- /dev/null +++ b/prilohy/web/Untitled.ipynb @@ -0,0 +1,171 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 46, + "id": "62087531-441f-4c1a-b182-053ad5e944ae", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "len 26\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f283310699e6411fac48d22e6f8cdd8f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'hovertemplate': ('temp=%{marker.size}
lati=%{' ... '%{marker.color}'),\n", + " 'lat': {'bdata': ('oS+9/bmcSEBQVMkPu5xIQKBF1QC8nE' ... 'y3nEhA2OTuSLycSECyG668wZxIQA=='),\n", + " 'dtype': 'f8'},\n", + " 'legendgroup': '',\n", + " 'lon': {'bdata': ('cayL22iQMEBxlTGCaZAwQEBK4mhrkD' ... 'cdkDBAn1sYhBqQMEBApnNNGpAwQA=='),\n", + " 'dtype': 'f8'},\n", + " 'marker': {'color': {'bdata': ('AAAAAAAAAABlc3ISjHuhv7AgzVg0nb' ... '3pVfK/iAuZW7wo879EZYnvQIzzvw=='),\n", + " 'dtype': 'f8'},\n", + " 'coloraxis': 'coloraxis',\n", + " 'opacity': 0.5,\n", + " 'size': {'bdata': ('AAAAAAAAPkAAAAAAAAA+QAAAAAAAAD' ... 'AAAD5AAAAAAAAAPkAAAAAAAAA+QA=='),\n", + " 'dtype': 'f8'},\n", + " 'sizemode': 'area',\n", + " 'sizeref': np.float64(0.3)},\n", + " 'mode': 'markers',\n", + " 'name': '',\n", + " 'showlegend': False,\n", + " 'subplot': 'map',\n", + " 'type': 'scattermap',\n", + " 'uid': '2f0753e7-5993-4855-bcc8-6a5dbc5e62ec'}],\n", + " 'layout': {'coloraxis': {'colorbar': {'title': {'text': 'rssi'}},\n", + " 'colorscale': [[0.0, 'rgb(0,0,131)'], [0.2,\n", + " 'rgb(0,60,170)'], [0.4,\n", + " 'rgb(5,255,255)'], [0.6,\n", + " 'rgb(255,255,0)'], [0.8,\n", + " 'rgb(250,0,0)'], [1.0, 'rgb(128,0,0)']]},\n", + " 'height': 800,\n", + " 'legend': {'itemsizing': 'constant', 'tracegroupgap': 0},\n", + " 'map': {'center': {'lat': np.float64(49.22425434846154), 'lon': np.float64(16.56396273223077)},\n", + " 'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]},\n", + " 'style': 'open-street-map',\n", + " 'zoom': 13},\n", + " 'mapbox': {'center': {'lat': np.float64(49.22425434846154), 'lon': np.float64(16.56396273223077)},\n", + " 'style': 'open-street-map',\n", + " 'zoom': 13},\n", + " 'margin': {'t': 60},\n", + " 'template': '...',\n", + " 'width': 800}\n", + "})" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import dash\n", + "import time\n", + "import sys\n", + "import json\n", + "import pandas as pd\n", + "import plotly.express as px\n", + "\n", + "\n", + "df = pd.DataFrame()\n", + "dg = pd.DataFrame(columns=['lati', 'long', 'alti', 'rssi', 'snr', 'rttt', 'temp', 'humi', 'pres', 'voc'], dtype=float)\n", + "\n", + "with open('save.csv') as f:\n", + " for i, line in enumerate(f):\n", + " dg.loc[i] = pd.Series(json.loads(line))\n", + " savepos = f.tell()\n", + "\n", + "dg = dg.fillna(0.0)\n", + "\n", + "print('len', len(dg.index))\n", + "fig = px.scatter_map(dg, lat='lati', lon='long',color=\"rssi\", size='temp',\n", + " size_max=10, map_style=\"open-street-map\", color_continuous_scale='jet', zoom=13, height=800, width=800)\n", + "\n", + "f2 = go.FigureWidget(fig)\n", + "\n", + "f2" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "aee5d6bc-0590-4494-abd2-a1eaf28481b9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\"lati\": 49.232750116, \"long\": 16.565789814, \"alti\": NaN, \"rssi\": -8.493902113, \"snr\": 0.0, \"rttt\": NaN, \"temp\": 30.0, \"humi\": NaN, \"pres\": NaN, \"voc\": NaN}\n", + "\n", + "{\"lati\": 49.232391864, \"long\": 16.568253166, \"alti\": NaN, \"rssi\": -8.983527682, \"snr\": 0.0, \"rttt\": NaN, \"temp\": 30.0, \"humi\": NaN, \"pres\": NaN, \"voc\": NaN}\n", + "\n" + ] + } + ], + "source": [ + "#while True:\n", + "import time, threading\n", + "\n", + "def update():\n", + " global savepos\n", + " mi = max(dg.index)\n", + " with open('save.csv') as f:\n", + " f.seek(savepos)\n", + " for i, line in enumerate(f):\n", + " print(line)\n", + " dg.loc[mi+1+i] = pd.Series(json.loads(line)).fillna(0)\n", + " savepos = f.tell()\n", + "\n", + " f2.data[0]['lat'] = dg['lati']\n", + " f2.data[0]['lon'] = dg['long']\n", + " f2.data[0]['marker']['color'] = dg['rssi']\n", + " f2.data[0]['marker']['size'] = dg['temp']\n", + "\n", + " #time.sleep(1)\n", + " threading.Timer(1, update).start()\n", + "\n", + "update()" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "65a5202a-8cfc-456a-a39d-52a0b2d9f739", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "venv" + }, + "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.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} -- cgit v1.2.3