Observed stop events are the package's canonical intermediate table - the point where every input path converges before assembly and comparison: one row per trip, stop, and service date, holding the actual (or best observed) arrival and departure times plus a provenance audit trail.
Details
Columns:
- trip_ref
Trip identity. The GTFS-RT/baseline
trip_idwhen known, a synthetic id for inferred trips. Never NA.- route_ref
Route identity, NA when unknown.
- shape_ref
Shape identity linking the trip to
shapes.txt, NA when unknown. Set byrt2s_events_from_stop_times(shape_ref_prefix=)to match the ids produced bygps2gtfs::g2g_shapes_from_trips(); the assembler writes it totrips.shape_id.- direction_id
GTFS direction (0/1), NA when unknown.
- service_date
Date. The service day the trip belongs to (attributed by trip start; post-midnight stops keep their trip's date).- stop_ref
Stop identity; NA only on trip-level rows (
provenance == "canceled").- stop_sequence
Integer order along the trip; optional (NA), the assembler guarantees a spec-compliant sequence.
- arrival_time, departure_time
Absolute
POSIXcttimes; the assembler derives GTFS clock strings (with >24:00:00) from them.- provenance
One of
"observed"(reported at/after passage),"predicted-last"(last prediction before passage),"propagated","skipped"(stop not served),"canceled"(whole trip did not run).- vehicle_ref
Vehicle identity, NA when unknown.
- source
One of
"trip_updates","positions","gps".- pattern_ref
Optional, additive. K-way branch/short-turn variant identity carried through from the gps2gtfs C5 contract; the handoff to the cross-trip stop-order stage. Reserved nullable - NA until a gps2gtfs pattern detector is enabled - and only present when the producer supplies it, so converters that do not emit it stay valid.