Source code for eaarl.io.gps
# -*- coding: utf-8 -*-
# vim: set fileencoding=utf-8 :
'''Handling for gps trajectory files'''
# Boilerplate for cross-compatibility of Python 2/3
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future.builtins import * # pylint: disable=wildcard-import
import future.standard_library
future.standard_library.install_aliases()
import pandas as pd
import tables
[docs]def read(filename):
'''Read GPS data from a given HDF5 or CSV file
Returns : pandas.DataFrame
Returns a DataFrame with the file's data.
'''
try:
with tables.open_file(filename, 'r') as f:
h5data = f.root.gps.read()
return pd.DataFrame(h5data)
except tables.exceptions.HDF5ExtError:
return pd.read_csv(filename)
[docs]def apply_corrections(gps, gps_time_offset=0):
'''Applies time correction to gps data
Parameters
gps : pandas.DataFrame
GPS data as returned by :func:`read`.
gps_time_offset : numeric
GPS time offset to apply to the data to convert it to UTC time.
Returns : pandas.DataFrame
Returns the modified gps DataFrame.
'''
gps['sod'] += gps_time_offset
return gps