slv.measurements.mobile.gps.merge_with_gps#
- slv.measurements.mobile.gps.merge_with_gps(site, org, obs, time_range=None, num_processes=1, routes=None, route_buffer=None, storage_polygon=None, altitude_range=(1000.0, 3500.0), horel_fallback=True)[source]#
Attach GPS positions to a mobile site’s concentration records.
Reads the site’s final-level GPS through uataq (UATAQ sites only), drops the fixes with an altitude outside
altitude_range(m MSL; fixes without one are kept,Nonekeeps all), the fixes farther thanroute_bufferm fromroutesand those insidestorage_polygon, then joins on the GPS clock (the Pi clock of the lin loggers is not trusted). Fortrx*sites the defaults are the TRAX lines, 50 m and the JRRSC yard; passFalseto skip a filter.- Parameters:
site (str) – Site name and its organization (only
"UATAQ"is supported).org (str) – Site name and its organization (only
"UATAQ"is supported).obs (pd.DataFrame) – Records with a
Time_UTCcolumn.time_range (optional) – Passed to
uataq.read_data.num_processes (int) – Passed to
uataq.read_data.routes (GeoDataFrame, str or False, optional) – See
get_geodf().storage_polygon (GeoDataFrame, str or False, optional) – See
get_geodf().route_buffer (float, optional) – Metres, in the routes’ CRS.
altitude_range ((float, float), optional) – Plausible altitudes, default
ALTITUDE_RANGE_MSL.horel_fallback (bool) – Georeference the rows the lin GPS never covered from the horel logger, where the Pi clock checks out (
fill_gps_gaps_with_horel()). Every row is taggedgps_source.
- Returns:
obswith the GPS columns (Latitude_deg,Longitude_deg,Altitude_msl, …), each observation once: when two fixes fall in one second of the Pi clock, the observation keeps the first.- Return type:
pd.DataFrame