|
|
@@ -0,0 +1,86 @@
|
|
|
+#!/usr/bin/python3.6
|
|
|
+#
|
|
|
+
|
|
|
+from google.transit import gtfs_realtime_pb2
|
|
|
+from google.transit import gtfs_realtime_pb2 as gtfspb
|
|
|
+import urllib.request
|
|
|
+import sys
|
|
|
+
|
|
|
+print("ok")
|
|
|
+
|
|
|
+print(gtfs_realtime_pb2)
|
|
|
+
|
|
|
+def gtfs_vehicle_position(vp = None):
|
|
|
+ if vp is None:
|
|
|
+ vp = gtfspb.VehiclePosition()
|
|
|
+
|
|
|
+ vp.trip.trip_id = "trip_ok"
|
|
|
+ vp.trip.route_id = "route_ok"
|
|
|
+ vp.trip.direction_id = 0
|
|
|
+ vp.trip.start_time = "start_time_ok"
|
|
|
+ vp.trip.start_date = "start_date_ok"
|
|
|
+ vp.trip.schedule_relationship = gtfspb.TripDescriptor.ScheduleRelationship.SCHEDULED
|
|
|
+
|
|
|
+
|
|
|
+ vp.stop_id = "x"
|
|
|
+ vp.current_stop_sequence = 3
|
|
|
+ vp.current_status = gtfspb.VehiclePosition.VehicleStopStatus.INCOMING_AT
|
|
|
+ vp.timestamp = 123
|
|
|
+ vp.congestion_level = gtfspb.VehiclePosition.CongestionLevel.UNKNOWN_CONGESTION_LEVEL
|
|
|
+ vp.occupancy_status = gtfspb.VehiclePosition.OccupancyStatus.NO_DATA_AVAILABLE
|
|
|
+ vp.occupancy_percentage = 0
|
|
|
+
|
|
|
+ vp.vehicle.id = "9999"
|
|
|
+ vp.vehicle.label = "label_ok"
|
|
|
+ vp.vehicle.license_plate = "unknown"
|
|
|
+
|
|
|
+ vp.position.latitude = 0
|
|
|
+ vp.position.longitude = 0
|
|
|
+ vp.position.bearing = 90
|
|
|
+ vp.position.odometer = 0
|
|
|
+ vp.position.speed = 0
|
|
|
+ #vp.position = p
|
|
|
+ return vp
|
|
|
+
|
|
|
+def gtfs_alert():
|
|
|
+ a = gtfspb.Alert()
|
|
|
+ return a
|
|
|
+
|
|
|
+def gtfs_trip_update():
|
|
|
+ u = gtfspb.TripUpdate()
|
|
|
+ return u
|
|
|
+
|
|
|
+def gtfs_feed_entity(f = None):
|
|
|
+ if f is None:
|
|
|
+ f = gtfspb.FeedEntity()
|
|
|
+ f.id = "ok"
|
|
|
+ gtfs_vehicle_position(f.vehicle)
|
|
|
+ return f
|
|
|
+
|
|
|
+def gtfs_feed_message(fm = None):
|
|
|
+ if fm is None:
|
|
|
+ fm = gtfspb.FeedMessage()
|
|
|
+ fm.header.gtfs_realtime_version = "2.0"
|
|
|
+ fm.header.timestamp = 0
|
|
|
+ for i in range(2):
|
|
|
+ gtfs_feed_entity(fm.entity.add())
|
|
|
+ return fm
|
|
|
+
|
|
|
+feedmsg = gtfs_realtime_pb2.FeedMessage()
|
|
|
+#vp = gtfs_realtime_pb2.VehiclePosition()
|
|
|
+vp = gtfs_vehicle_position()
|
|
|
+
|
|
|
+vp.stop_id = "ok"
|
|
|
+print(">>>\n", vp)
|
|
|
+
|
|
|
+fe = gtfs_feed_entity()
|
|
|
+print("feed entity>>>\n", fe)
|
|
|
+
|
|
|
+feedmsg = gtfs_feed_message()
|
|
|
+print("feed message>>>\n", feedmsg)
|
|
|
+
|
|
|
+
|
|
|
+fp = open("outpy.pb", "wb")
|
|
|
+fp.write(feedmsg.SerializeToString())
|
|
|
+fp.close()
|
|
|
+
|