filter out correct values

main
Sven Geboers 2 years ago
parent 1a782a5ca0
commit 61ebe71663
  1. 14
      .drone.yml
  2. 19
      main.py

@ -1,14 +1,4 @@
pipeline: pipeline:
copy:
image: appleboy/drone-scp
host: sgeboers.nl
target: /home/webapps/gtfs/code
source: .
user: webapps
strip_components: 1
overwrite: true
password:
from_secret: password
deploy: deploy:
image: appleboy/drone-ssh image: appleboy/drone-ssh
host: sgeboers.nl host: sgeboers.nl
@ -16,7 +6,9 @@ pipeline:
password: password:
from_secret: password from_secret: password
script: script:
- cd /home/webapps/gtfs - cd /home/webapps/gtfs/code
- git pull
- cd ..
- python3 -m venv env - python3 -m venv env
- source env/bin/activate - source env/bin/activate
- cd code - cd code

@ -23,7 +23,6 @@ def getPositions():
feed = gtfs_realtime_pb2.FeedMessage() feed = gtfs_realtime_pb2.FeedMessage()
response = requests.get('https://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:
@ -40,10 +39,17 @@ 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"]!=2]
df = add_route_types(df, route_translation)
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')
def add_route_types(df, route_translation):
df['route_type_long'] = [route_translation[key] for key in df['route_type']]
df['color'] = [brewer['Set1'][9][key] for key in df['route_type']]
return(df)
## Get initial values ## Get initial values
df_vehiclePositions = getPositions() df_vehiclePositions = getPositions()
@ -51,6 +57,9 @@ df_routes = pd.read_csv("gtfs-data/routes.txt")
## 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"]!=2]
route_translation = {0:"Tram", 1:"Metro", 2:"Rail", 3:"Bus", 4:"Ferry"}
df = add_route_types(df,route_translation)
Source = ColumnDataSource(df) Source = ColumnDataSource(df)
## Plot ## Plot
@ -60,10 +69,10 @@ OSM = get_provider('OSM')
p = figure(title="A gtfs feed",x_range=x_range, y_range=y_range, x_axis_type='mercator',y_axis_type='mercator',sizing_mode='stretch_both',plot_width=1500,plot_height=1000) p = figure(title="A gtfs feed",x_range=x_range, y_range=y_range, x_axis_type='mercator',y_axis_type='mercator',sizing_mode='stretch_both',plot_width=1500,plot_height=1000)
p.add_tile(OSM) p.add_tile(OSM)
my_hover=HoverTool() my_hover=HoverTool()
my_hover.tooltips=[('route_id','@route_id'),('Type','@route_type'),('Route','@route_long_name')] my_hover.tooltips=[('Type','@route_type_long'),('Route id','@route_short_name'),('Route','@route_long_name')]
p.add_tools(my_hover)
p.circle('x', 'y', source=Source) p.add_tools(my_hover)
p.circle('x', 'y', source=Source, legend_field='route_type_long', color='color')
curdoc().add_root(p) curdoc().add_root(p)
curdoc().add_periodic_callback(update,5000) curdoc().add_periodic_callback(update,5000)
p.legend.location = "top_left" p.legend.location = "top_left"

Loading…
Cancel
Save