Exemplo n.º 1
0
def main():
    import argparse
    import sys
    parser = argparse.ArgumentParser(
        description='Swift Nav derive/interpolate obs.')
    parser.add_argument('file', help='Specify the log file to use.')
    parser.add_argument('-n',
                        '--num_records',
                        nargs=1,
                        default=[None],
                        help='Number of GPS observation records to process.')
    parser.add_argument('-v',
                        '--verbose',
                        action='store_true',
                        help='Verbose output.')
    gps_time_tabs = [
        'rover_iar_state', 'rover_logs', 'rover_tracking', 'rover_acq',
        'rover_thread_state', 'rover_uart_state', 'rover_ephemerides',
        'base_ephemerides'
    ]
    # TODO (Buro): Add in handling for explicit overwrites. Currently,
    # this will fill in and overwrite (specifically sdiffs, etc.) that
    # you might have.
    #
    # parser.add_argument('-o', '--output',
    #                     nargs=1,
    #                     default=[None],
    #                     help='Test results output filename')
    # parser.add_argument('-w', '--overwrite',
    #                     action='store_true'
    #                     help='Overwrite .')
    args = parser.parse_args()
    log_datafile = args.file
    num_records = args.num_records[0]
    verbose = args.verbose
    with pd.HDFStore(log_datafile) as store:
        try:
            if verbose:
                print "Verbose output specified..."
                print "Loading table %s ." % str(store)
                print "Interpolating times for tables %s." % ', '.join(
                    gps_time_tabs)
            if not store.rover_spp.empty:
                get_gps_time_col(store, gps_time_tabs, verbose=verbose)
                reindex_tables(store, ['rover_iar_state', 'rover_logs'],
                               verbose=verbose)
            else:
                raise Exception(
                    "No single-point solutions available for interpolation.")
        except (KeyboardInterrupt, SystemExit):
            print "Exiting!"
            sys.exit()
        finally:
            store.close()
Exemplo n.º 2
0
def test_gps_time_col():
  filename = "data/serial-link-20150429-163230.log.json.hdf5"
  assert os.path.isfile(filename)
  with pd.HDFStore(filename) as store:
    tables = ['rover_iar_state', 'rover_logs', 'rover_tracking']
    t.get_gps_time_col(store, tables)
    gpst = store.rover_iar_state.T.approx_gps_time
    assert gpst.shape == (1487,)
    assert pd.DatetimeIndex(gpst).is_monotonic_increasing
    gpst = store.rover_logs.T.approx_gps_time
    assert gpst.shape == (2457,)
    assert pd.DatetimeIndex(gpst).is_monotonic_increasing
    gpst = store.rover_tracking[:, 'approx_gps_time', :]
    assert gpst.shape == (32, 7248)
Exemplo n.º 3
0
def test_gps_time_col():
    filename = "data/serial-link-20150429-163230.log.json.hdf5"
    assert os.path.isfile(filename)
    with pd.HDFStore(filename) as store:
        tables = ['rover_iar_state', 'rover_logs', 'rover_tracking']
        t.get_gps_time_col(store, tables)
        gpst = store.rover_iar_state.T.approx_gps_time
        assert gpst.shape == (1487, )
        assert pd.DatetimeIndex(gpst).is_monotonic_increasing
        gpst = store.rover_logs.T.approx_gps_time
        assert gpst.shape == (2457, )
        assert pd.DatetimeIndex(gpst).is_monotonic_increasing
        gpst = store.rover_tracking[:, 'approx_gps_time', :]
        assert gpst.shape == (32, 7248)
Exemplo n.º 4
0
def main():
  import argparse
  import sys
  parser = argparse.ArgumentParser(description='Swift Nav derive/interpolate obs.')
  parser.add_argument('file',
                      help='Specify the log file to use.')
  parser.add_argument('-n', '--num_records',
                      nargs=1,
                      default=[None],
                      help='Number of GPS observation records to process.')
  parser.add_argument('-v', '--verbose',
                      action='store_true',
                      help='Verbose output.')
  gps_time_tabs = ['rover_iar_state', 'rover_logs', 'rover_tracking',
                   'rover_acq', 'rover_thread_state', 'rover_uart_state',
                   'rover_ephemerides', 'base_ephemerides']
  # TODO (Buro): Add in handling for explicit overwrites. Currently,
  # this will fill in and overwrite (specifically sdiffs, etc.) that
  # you might have.
  #
  # parser.add_argument('-o', '--output',
  #                     nargs=1,
  #                     default=[None],
  #                     help='Test results output filename')
  # parser.add_argument('-w', '--overwrite',
  #                     action='store_true'
  #                     help='Overwrite .')
  args = parser.parse_args()
  log_datafile = args.file
  num_records = args.num_records[0]
  verbose = args.verbose
  with pd.HDFStore(log_datafile) as store:
    try:
      if verbose:
        print "Verbose output specified..."
        print "Loading table %s ." % str(store)
        print "Interpolating times for tables %s." % ', '.join(gps_time_tabs)
      if not store.rover_spp.empty:
        get_gps_time_col(store, gps_time_tabs, verbose=verbose)
        reindex_tables(store,
                       ['rover_iar_state', 'rover_logs'],
                       verbose=verbose)
      else:
        raise Exception("No single-point solutions available for interpolation.")
    except (KeyboardInterrupt, SystemExit):
      print "Exiting!"
      sys.exit()
    finally:
      store.close()