summaryrefslogtreecommitdiff
path: root/prilohy/web/Untitled.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'prilohy/web/Untitled.ipynb')
-rw-r--r--prilohy/web/Untitled.ipynb171
1 files changed, 171 insertions, 0 deletions
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}<br>lati=%{' ... '%{marker.color}<extra></extra>'),\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
+}