some refactoring

main
Sven Geboers 2 years ago
parent ae7799d775
commit 438fe39f1a
  1. 9
      main.py

@ -7,9 +7,10 @@ from bokeh.layouts import column
from bokeh.palettes import brewer from bokeh.palettes import brewer
from bokeh.plotting import figure, curdoc from bokeh.plotting import figure, curdoc
from bokeh.models import GeoJSONDataSource, Button, HoverTool, LinearColorMapper, LabelSet, ColumnDataSource from bokeh.models import GeoJSONDataSource, Button, HoverTool, LinearColorMapper, LabelSet, ColumnDataSource
from bokeh.tile_providers import get_provider #, Vendors from bokeh.tile_providers import get_provider
from bokeh.transform import factor_cmap from bokeh.transform import factor_cmap
import time import time
import urllib
def lonlattowebmercator(df, lon="LON", lat="LAT"): def lonlattowebmercator(df, lon="LON", lat="LAT"):
k = 6378137 k = 6378137
@ -20,8 +21,9 @@ def lonlattowebmercator(df, lon="LON", lat="LAT"):
def getPositions(): def getPositions():
## Get the live locations of the vehicles ## Get the live locations of the vehicles
feed = gtfs_realtime_pb2.FeedMessage() feed = gtfs_realtime_pb2.FeedMessage()
response = requests.get('http://gtfs.ovapi.nl/nl/vehiclePositions.pb') response = requests.get('https://gtfs.ovapi.nl/nl/vehiclePositions.pb')
feed.ParseFromString(response.content) feed.ParseFromString(response.content)
print(feed)
vehicle_positions = [] vehicle_positions = []
for entity in feed.entity: for entity in feed.entity:
@ -39,7 +41,6 @@ def update():
## Merge tables ## Merge tables
df = df_vehiclePositions.merge(df_routes, on="route_id", how="right") df = df_vehiclePositions.merge(df_routes, on="route_id", how="right")
df = df[(df["route_type"]==1) | (df["route_type"]==2) | (df["route_type"]==3)] df = df[(df["route_type"]==1) | (df["route_type"]==2) | (df["route_type"]==3)]
print(df["longitude"])
Source.stream(df, rollover=len(df["longitude"])) Source.stream(df, rollover=len(df["longitude"]))
labels = LabelSet(x='x',y='y',x_offset=5,y_offset=5,source=Source,render_mode='canvas') labels = LabelSet(x='x',y='y',x_offset=5,y_offset=5,source=Source,render_mode='canvas')
@ -64,5 +65,5 @@ p.add_tools(my_hover)
p.circle('x', 'y', source=Source) p.circle('x', 'y', source=Source)
curdoc().add_root(p) curdoc().add_root(p)
curdoc().add_periodic_callback(update,1000) curdoc().add_periodic_callback(update,5000)
p.legend.location = "top_left" p.legend.location = "top_left"

Loading…
Cancel
Save