slv.measurements.mobile.receptors.build_trax_receptors#

slv.measurements.mobile.receptors.build_trax_receptors(crossings, points=None, min_coverage=0.5, min_span_m=0.0, max_duration='15min', altitude=4.0, altitude_ref='agl', time_round='1min', hours=None, utc_offset=-7)[source]#

PYSTILT receptor table (RECEPTOR_COLUMNS) from a crossings table.

One r_idx (= crossing) per crossing that drove at least min_coverage of its release geometry along the route (and at least min_span_m of it in metres, if set), with one row per 50-m point of the segment on the crossing’s line (release_points(); every such point, not only those with a fix, so a segment × line receptor geometry is always the same and its PYSTILT location id stable). time is the crossing’s median fix time rounded to time_round (UTC); crossings of one segment and line that round to the same minute are kept once. altitude is the roof inlet height in m AGL.

hours restricts output to those local-time hours (see filter_receptor_hours()). max_duration drops passes that are not traverses: at the five line termini the train dwells inside one segment between runs, so the pass can read 20 min or more and its median fix time is not the time it drove the track. None keeps them.

Return type:

DataFrame