terriajs
Version:
Geospatial data visualization platform.
456 lines • 17.1 kB
JavaScript
// adapted from code generated by pbf v3.2.0
// see https://developers.google.com/transit/gtfs-realtime/reference/ for the standard specification
export class ProtobufMessageReader {
read(pbf, end) {
return pbf.readFields(this.readField, this.defaultMessage, end);
}
}
export class FeedMessageReader extends ProtobufMessageReader {
defaultMessage = {
header: null,
entity: []
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (obj.entity === null || obj.entity === undefined) {
obj.entity = [];
}
if (tag === 1)
obj.header = new FeedHeaderReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 2)
obj.entity.push(new FeedEntityReader().read(pbf, pbf.readVarint() + pbf.pos));
}
}
// FeedHeader ========================================
var FeedHeaderIncrementality;
(function (FeedHeaderIncrementality) {
FeedHeaderIncrementality[FeedHeaderIncrementality["FULL_DATASET"] = 0] = "FULL_DATASET";
FeedHeaderIncrementality[FeedHeaderIncrementality["DIFFERENTIAL"] = 1] = "DIFFERENTIAL";
})(FeedHeaderIncrementality || (FeedHeaderIncrementality = {}));
export class FeedHeaderReader extends ProtobufMessageReader {
defaultMessage = {
gtfs_realtime_version: "",
incrementality: FeedHeaderIncrementality.FULL_DATASET,
timestamp: 0
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (tag === 1)
obj.gtfs_realtime_version = pbf.readString();
else if (tag === 2)
obj.incrementality = pbf.readVarint();
else if (tag === 3)
obj.timestamp = pbf.readVarint();
}
}
export class FeedEntityReader extends ProtobufMessageReader {
defaultMessage = {
id: "",
is_deleted: false,
trip_update: null,
vehicle: null,
alert: null
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (tag === 1)
obj.id = pbf.readString();
else if (tag === 2)
obj.is_deleted = pbf.readBoolean();
else if (tag === 3)
obj.trip_update = new TripUpdateReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 4)
obj.vehicle = new VehiclePositionReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 5)
obj.alert = new AlertReader().read(pbf, pbf.readVarint() + pbf.pos);
}
}
export class TripUpdateReader extends ProtobufMessageReader {
defaultMessage = {
trip: {},
vehicle: {},
stop_time_update: [],
timestamp: 0,
delay: 0
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (obj.stop_time_update === null || obj.stop_time_update === undefined) {
obj.stop_time_update = [];
}
if (tag === 1)
obj.trip = new TripDescriptorReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 3)
obj.vehicle = new VehicleDescriptorReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 2)
obj.stop_time_update.push(new StopTimeUpdateReader().read(pbf, pbf.readVarint() + pbf.pos));
else if (tag === 4)
obj.timestamp = pbf.readVarint();
else if (tag === 5)
obj.delay = pbf.readVarint(true);
}
}
export class StopTimeEventReader extends ProtobufMessageReader {
defaultMessage = {
delay: 0,
time: 0,
uncertainty: 0
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (tag === 1)
obj.delay = pbf.readVarint(true);
else if (tag === 2)
obj.time = pbf.readVarint(true);
else if (tag === 3)
obj.uncertainty = pbf.readVarint(true);
}
}
export class StopTimeUpdateReader extends ProtobufMessageReader {
defaultMessage = {
stop_sequence: 0,
stop_id: "",
arrival: null,
departure: null,
schedule_relationship: StopTimeUpdateScheduleRelationship.NO_DATA
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (tag === 1)
obj.stop_sequence = pbf.readVarint();
else if (tag === 4)
obj.stop_id = pbf.readString();
else if (tag === 2)
obj.arrival = new StopTimeEventReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 3)
obj.departure = new StopTimeEventReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 5)
obj.schedule_relationship = pbf.readVarint();
}
}
var StopTimeUpdateScheduleRelationship;
(function (StopTimeUpdateScheduleRelationship) {
StopTimeUpdateScheduleRelationship[StopTimeUpdateScheduleRelationship["SCHEDULED"] = 0] = "SCHEDULED";
StopTimeUpdateScheduleRelationship[StopTimeUpdateScheduleRelationship["SKIPPED"] = 1] = "SKIPPED";
StopTimeUpdateScheduleRelationship[StopTimeUpdateScheduleRelationship["NO_DATA"] = 2] = "NO_DATA";
})(StopTimeUpdateScheduleRelationship || (StopTimeUpdateScheduleRelationship = {}));
export class VehiclePositionReader extends ProtobufMessageReader {
defaultMessage = {
trip: null,
vehicle: null,
position: null,
current_stop_sequence: 0,
stop_id: "",
current_status: VehicleStopStatus.IN_TRANSIT_TO,
timestamp: 0,
congestion_level: CongestionLevel.UNKNOWN_CONGESTION_LEVEL,
occupancy_status: OccupancyStatus.EMPTY
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (tag === 1)
obj.trip = new TripDescriptorReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 8)
obj.vehicle = new VehicleDescriptorReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 2)
obj.position = new PositionReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 3)
obj.current_stop_sequence = pbf.readVarint();
else if (tag === 7)
obj.stop_id = pbf.readString();
else if (tag === 4)
obj.current_status = pbf.readVarint();
else if (tag === 5)
obj.timestamp = pbf.readVarint();
else if (tag === 6)
obj.congestion_level = pbf.readVarint();
else if (tag === 9)
obj.occupancy_status = pbf.readVarint();
}
}
export var VehicleStopStatus;
(function (VehicleStopStatus) {
VehicleStopStatus[VehicleStopStatus["INCOMING_AT"] = 0] = "INCOMING_AT";
VehicleStopStatus[VehicleStopStatus["STOPPED_AT"] = 1] = "STOPPED_AT";
VehicleStopStatus[VehicleStopStatus["IN_TRANSIT_TO"] = 2] = "IN_TRANSIT_TO";
})(VehicleStopStatus || (VehicleStopStatus = {}));
export var CongestionLevel;
(function (CongestionLevel) {
CongestionLevel[CongestionLevel["UNKNOWN_CONGESTION_LEVEL"] = 0] = "UNKNOWN_CONGESTION_LEVEL";
CongestionLevel[CongestionLevel["RUNNING_SMOOTHLY"] = 1] = "RUNNING_SMOOTHLY";
CongestionLevel[CongestionLevel["STOP_AND_GO"] = 2] = "STOP_AND_GO";
CongestionLevel[CongestionLevel["CONGESTION"] = 3] = "CONGESTION";
CongestionLevel[CongestionLevel["SEVERE_CONGESTION"] = 4] = "SEVERE_CONGESTION";
})(CongestionLevel || (CongestionLevel = {}));
export var OccupancyStatus;
(function (OccupancyStatus) {
OccupancyStatus[OccupancyStatus["EMPTY"] = 0] = "EMPTY";
OccupancyStatus[OccupancyStatus["MANY_SEATS_AVAILABLE"] = 1] = "MANY_SEATS_AVAILABLE";
OccupancyStatus[OccupancyStatus["FEW_SEATS_AVAILABLE"] = 2] = "FEW_SEATS_AVAILABLE";
OccupancyStatus[OccupancyStatus["STANDING_ROOM_ONLY"] = 3] = "STANDING_ROOM_ONLY";
OccupancyStatus[OccupancyStatus["CRUSHED_STANDING_ROOM_ONLY"] = 4] = "CRUSHED_STANDING_ROOM_ONLY";
OccupancyStatus[OccupancyStatus["FULL"] = 5] = "FULL";
OccupancyStatus[OccupancyStatus["NOT_ACCEPTING_PASSENGERS"] = 6] = "NOT_ACCEPTING_PASSENGERS";
})(OccupancyStatus || (OccupancyStatus = {}));
export class AlertReader extends ProtobufMessageReader {
defaultMessage = {
active_period: [],
informed_entity: [],
cause: AlertCause.CONSTRUCTION,
effect: AlertEffect.STOP_MOVED,
url: null,
header_text: null,
description_text: null
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (obj.active_period === null || obj.active_period === undefined) {
obj.active_period = [];
}
if (obj.informed_entity === null || obj.informed_entity === undefined) {
obj.informed_entity = [];
}
if (tag === 1)
obj.active_period.push(new TimeRangeReader().read(pbf, pbf.readVarint() + pbf.pos));
else if (tag === 5)
obj.informed_entity.push(new EntitySelectorReader().read(pbf, pbf.readVarint() + pbf.pos));
else if (tag === 6)
obj.cause = pbf.readVarint();
else if (tag === 7)
obj.effect = pbf.readVarint();
else if (tag === 8)
obj.url = new TranslatedStringReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 10)
obj.header_text = new TranslatedStringReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 11)
obj.description_text = new TranslatedStringReader().read(pbf, pbf.readVarint() + pbf.pos);
}
}
var AlertCause;
(function (AlertCause) {
AlertCause[AlertCause["UNKNOWN_CAUSE"] = 1] = "UNKNOWN_CAUSE";
AlertCause[AlertCause["OTHER_CAUSE"] = 2] = "OTHER_CAUSE";
AlertCause[AlertCause["TECHNICAL_PROBLEM"] = 3] = "TECHNICAL_PROBLEM";
AlertCause[AlertCause["STRIKE"] = 4] = "STRIKE";
AlertCause[AlertCause["DEMONSTRATION"] = 5] = "DEMONSTRATION";
AlertCause[AlertCause["ACCIDENT"] = 6] = "ACCIDENT";
AlertCause[AlertCause["HOLIDAY"] = 7] = "HOLIDAY";
AlertCause[AlertCause["WEATHER"] = 8] = "WEATHER";
AlertCause[AlertCause["MAINTENANCE"] = 9] = "MAINTENANCE";
AlertCause[AlertCause["CONSTRUCTION"] = 10] = "CONSTRUCTION";
AlertCause[AlertCause["POLICE_ACTIVITY"] = 11] = "POLICE_ACTIVITY";
AlertCause[AlertCause["MEDICAL_EMERGENCY"] = 12] = "MEDICAL_EMERGENCY";
})(AlertCause || (AlertCause = {}));
var AlertEffect;
(function (AlertEffect) {
AlertEffect[AlertEffect["NO_SERVICE"] = 1] = "NO_SERVICE";
AlertEffect[AlertEffect["REDUCED_SERVICE"] = 2] = "REDUCED_SERVICE";
AlertEffect[AlertEffect["SIGNIFICANT_DELAYS"] = 3] = "SIGNIFICANT_DELAYS";
AlertEffect[AlertEffect["ADDITIONAL_SERVICE"] = 4] = "ADDITIONAL_SERVICE";
AlertEffect[AlertEffect["MODIFIED_SERVICE"] = 5] = "MODIFIED_SERVICE";
AlertEffect[AlertEffect["OTHER_EFFECT"] = 6] = "OTHER_EFFECT";
AlertEffect[AlertEffect["UNKNOWN_EFFECT"] = 7] = "UNKNOWN_EFFECT";
AlertEffect[AlertEffect["STOP_MOVED"] = 8] = "STOP_MOVED";
})(AlertEffect || (AlertEffect = {}));
export class TimeRangeReader extends ProtobufMessageReader {
defaultMessage = {
start: 0,
end: 0
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (tag === 1)
obj.start = pbf.readVarint();
else if (tag === 2)
obj.end = pbf.readVarint();
}
}
export class PositionReader extends ProtobufMessageReader {
defaultMessage = {
latitude: 0,
longitude: 0,
bearing: 0,
odometer: 0,
speed: 0
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (tag === 1)
obj.latitude = pbf.readFloat();
else if (tag === 2)
obj.longitude = pbf.readFloat();
else if (tag === 3)
obj.bearing = pbf.readFloat();
else if (tag === 4)
obj.odometer = pbf.readDouble();
else if (tag === 5)
obj.speed = pbf.readFloat();
}
}
export class TripDescriptorReader extends ProtobufMessageReader {
defaultMessage = {
trip_id: "",
route_id: "",
direction_id: 0,
start_time: "",
start_date: "",
schedule_relationship: TripDescriptorScheduleRelationship.SCHEDULED
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (tag === 1)
obj.trip_id = pbf.readString();
else if (tag === 5)
obj.route_id = pbf.readString();
else if (tag === 6)
obj.direction_id = pbf.readVarint();
else if (tag === 2)
obj.start_time = pbf.readString();
else if (tag === 3)
obj.start_date = pbf.readString();
else if (tag === 4)
obj.schedule_relationship = pbf.readVarint();
}
}
var TripDescriptorScheduleRelationship;
(function (TripDescriptorScheduleRelationship) {
TripDescriptorScheduleRelationship[TripDescriptorScheduleRelationship["SCHEDULED"] = 0] = "SCHEDULED";
TripDescriptorScheduleRelationship[TripDescriptorScheduleRelationship["ADDED"] = 1] = "ADDED";
TripDescriptorScheduleRelationship[TripDescriptorScheduleRelationship["UNSCHEDULED"] = 2] = "UNSCHEDULED";
TripDescriptorScheduleRelationship[TripDescriptorScheduleRelationship["CANCELED"] = 3] = "CANCELED";
})(TripDescriptorScheduleRelationship || (TripDescriptorScheduleRelationship = {}));
export class VehicleDescriptorReader extends ProtobufMessageReader {
defaultMessage = {
id: "",
label: "",
license_plate: ""
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (tag === 1)
obj.id = pbf.readString();
else if (tag === 2)
obj.label = pbf.readString();
else if (tag === 3)
obj.license_plate = pbf.readString();
}
}
export class EntitySelectorReader extends ProtobufMessageReader {
defaultMessage = {
agency_id: "",
route_id: "",
route_type: 0,
trip: null,
stop_id: ""
};
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (tag === 1)
obj.agency_id = pbf.readString();
else if (tag === 2)
obj.route_id = pbf.readString();
else if (tag === 3)
obj.route_type = pbf.readVarint(true);
else if (tag === 4)
obj.trip = new TripDescriptorReader().read(pbf, pbf.readVarint() + pbf.pos);
else if (tag === 5)
obj.stop_id = pbf.readString();
}
}
export class TranslatedStringReader extends ProtobufMessageReader {
defaultMessage = { translation: [] };
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (obj.translation === null || obj.translation === undefined) {
obj.translation = [];
}
if (tag === 1)
obj.translation.push(new TranslationReader().read(pbf, pbf.readVarint() + pbf.pos));
}
}
export class TranslationReader extends ProtobufMessageReader {
defaultMessage = { text: "", language: "" };
readField(tag, obj, pbf) {
if (pbf === null || pbf === undefined) {
return;
}
if (obj === null || obj === undefined) {
obj = {};
}
if (tag === 1)
obj.text = pbf.readString();
else if (tag === 2)
obj.language = pbf.readString();
}
}
//# sourceMappingURL=GtfsRealtimeProtoBufReaders.js.map