header has 11 tokens with a trailing empty token; 10 numeric data columns t, lat, long, alt, p_x, p_y, p_z, cov_p_x, cov_p_y, cov_p_z.
p_* are local ENU; cov_* are variances m².
Real-fix σ ≈ 0.8–4 m (~50–300× looser than RTK-fixed).
32 such files (26 flight + 6 vibration).
No-fix placeholders on indoor_1..3 and every vibration bundle: lat = long = 0, alt = 0.163, p_* frozen at a single ECEF-like vector, cov_* = 1.8446744065119617e13 (PX4 UINT32_MAX unknown-variance sentinel). Reject by cov_p > 1e12 or lat == 0 & long == 0; do not down-weight.
transition_2 has a real GNSS-degradation episode (66 rows, alt to 681.7 m, cov to ~4958 m²) flagged by inflated covariance.
px4_gps_vel_data.csv: t, v_x, v_y, v_z (4 cols), local ENU. v_z is structurally 0 on every run (PX4 reports 2-DoF velocity) — do not fuse it as a measured vertical rate. No-fix runs have all-(0,0,0) velocity.
Helper px4_gps_data.csv on mars_4/mars_8: t, lat, long, alt, x, y, z; on mars_8x,y,z are a different root-local frame, on mars_4 they equal p_*. Non-substitutable in general.