improve map plotting
This commit is contained in:
parent
9b14982abe
commit
b00ba9ea62
@ -25,6 +25,7 @@ from flask import Flask, render_template
|
|||||||
import ast, os
|
import ast, os
|
||||||
from dashboard_settings import *
|
from dashboard_settings import *
|
||||||
import folium
|
import folium
|
||||||
|
from folium.plugins import MarkerCluster
|
||||||
import re
|
import re
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
@ -146,6 +147,7 @@ def view_map():
|
|||||||
user_loc = ast.literal_eval(os.popen('cat /tmp/gps_data_user_loc.txt').read())
|
user_loc = ast.literal_eval(os.popen('cat /tmp/gps_data_user_loc.txt').read())
|
||||||
last_known_list = []
|
last_known_list = []
|
||||||
folium_map = folium.Map(location=map_center, zoom_start=int(zoom_level))
|
folium_map = folium.Map(location=map_center, zoom_start=int(zoom_level))
|
||||||
|
marker_cluster = MarkerCluster().add_to(folium_map)
|
||||||
for user_coord in user_loc:
|
for user_coord in user_loc:
|
||||||
user_lat = aprs_to_latlon(float(re.sub('[A-Za-z]','', user_coord['lat'])))
|
user_lat = aprs_to_latlon(float(re.sub('[A-Za-z]','', user_coord['lat'])))
|
||||||
user_lon = aprs_to_latlon(float(re.sub('[A-Za-z]','', user_coord['lon'])))
|
user_lon = aprs_to_latlon(float(re.sub('[A-Za-z]','', user_coord['lon'])))
|
||||||
@ -154,10 +156,11 @@ def view_map():
|
|||||||
if 'W' in user_coord['lon']:
|
if 'W' in user_coord['lon']:
|
||||||
user_lon = -user_lon
|
user_lon = -user_lon
|
||||||
if user_coord['call'] not in last_known_list:
|
if user_coord['call'] not in last_known_list:
|
||||||
folium.Marker([user_lat, user_lon], popup="<i>" + '<strong>Last Location: \n' + str(user_coord['call']) + '</strong>' + '\n' + user_coord['time'] + "</i>", icon=folium.Icon(color="red", icon="info-sign"), tooltip=str(user_coord['call'])).add_to(folium_map)
|
folium.Marker([user_lat, user_lon], popup="<i>" + '<strong>Last Location: \n' + str(user_coord['call']) + '</strong>' + '\n' + user_coord['time'] + "</i>", icon=folium.Icon(color="red", icon="record"), tooltip=str(user_coord['call'])).add_to(folium_map)
|
||||||
last_known_list.append(user_coord['call'])
|
last_known_list.append(user_coord['call'])
|
||||||
if user_coord['call'] in last_known_list:
|
if user_coord['call'] in last_known_list:
|
||||||
folium.Marker([user_lat, user_lon], popup="<i>" + '<strong>' + str(user_coord['call']) + '</strong>' + '\n' + user_coord['time'] + "</i>", tooltip=str(user_coord['call'])).add_to(folium_map)
|
#folium.Marker([user_lat, user_lon], popup="<i>" + '<strong>' + str(user_coord['call']) + '</strong>' + '\n' + user_coord['time'] + "</i>", tooltip=str(user_coord['call'])).add_to(marker_cluster)
|
||||||
|
folium.CircleMarker([user_lat, user_lon], popup="<i>" + '<strong>' + str(user_coord['call']) + '</strong>' + '\n' + user_coord['time'] + "</i>", tooltip=str(user_coord['call']), fill=True, fill_color="#3186cc", radius=2).add_to(marker_cluster)
|
||||||
return folium_map._repr_html_()
|
return folium_map._repr_html_()
|
||||||
@app.route('/map/')
|
@app.route('/map/')
|
||||||
def map():
|
def map():
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
{% include 'header.html' %}
|
{% include 'header.html' %}
|
||||||
<p style="text-align: center;"><span style="color: #ff0000;"><strong>Red</strong></span>: Last location received. <span style="color: #0000ff;"><strong>Blue</strong></span>: Location history.</p>
|
<p style="text-align: center;"><span style="color: #ff0000;"><strong>Red</strong></span>: Last location received. <span style="color: #0000ff;"><strong>Blue</strong></span>: Location history.</p>
|
||||||
<p style="text-align: center;"> </p>
|
<p style="text-align: center;"> </p>
|
||||||
<div><p align="center"><iframe style="border: none;" title="Map" src="../view_map" width="900" height="800"></iframe></p></div>
|
<div><p align="center"><iframe style="border: none;" title="Map" src="../view_map" width="1100" height="700"></iframe></p></div>
|
||||||
<p> </p>
|
<p> </p>
|
||||||
{% include 'footer.html' %}
|
{% include 'footer.html' %}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user