Как я могу хранить необработанные данные относительно времени и сортировать их? - PullRequest
1 голос
/ 30 сентября 2010

из-за интернет-связи у меня может быть два (или более) файла ASCII в формате RINEX (формат GPS ASCII) одного периода данных, которые я хотел бы объединить в один файл.

Каждый набор данных (эпоха) содержит более одной строки (в этом примере 19 строк). Я хотел бы объединить эти файлы, чтобы они в некоторых частях перекрывали друг друга.

Вот пример набора данных эпохи RINEX:

09  2 21 12 59 59.9000000  0  9G31G23G11G13G32G17G14G20G19 
 23152606.238   121667768.06047  94806069.43545  23152606.540    23152606.521 
     1262.605          43.750          31.500 
 22765313.352   119632547.53447  93220179.18745  22765312.252    22765311.072 
     3252.769          46.250          32.250 
 20798168.896   109295128.07748  85165036.96747  20798168.642    20798168.578
    -2252.493          52.750          43.250 
 25363206.177   133284559.23845 
     3776.403          32.750 
 20350616.203   106943239.96448  83332404.31147  20350615.386    20350616.499 
     -929.443          51.000          44.500 
 21994260.713   115580595.93348  90062809.84446  21994260.826    21994260.114 
      416.327          49.500          38.250 
 23964108.994   125932271.15846  98129049.02843  23964107.689    23964107.603
    -3561.500          39.250          20.250
 20225257.452   106284459.64448  82819085.85247  20225256.341    20225256.964
      956.944          52.750          45.250
 25623383.323   134651746.21445 104923415.17742  25623386.202    25623384.504
    -3991.096          34.250          12.250

Первая строка содержит информацию о времени, а ниже - необработанные данные для каждого спутника GPS.

Моя идея состояла в том, чтобы открыть каждый файл отдельно и сохранить необработанные данные в некотором виде массива относительно времени. Каждый раз, когда я читаю новую эпоху, я спрашиваю свой массив, есть ли у меня что-то со временем, и если нет, я помещаю туда необработанные данные.

У меня вопрос, как хранить необработанные данные относительно времени, поскольку это не одна строка, а нечто динамическое, которое всегда может измениться.

Если у вас есть идея получше, поделитесь ею со мной.

Привет

1 Ответ

3 голосов
/ 30 сентября 2010

Чтобы сохранить необработанные данные относительно времени, я бы:

  • Кодировал время в виде числа (# секунд с Unix "время эпохи" или с некоторого произвольного времени начала- используйте микросекунды вместо секунд в зависимости от того, какая точность RINEX установлена).

  • Сохранять необработанные данные в виде массива (данные для каждой строки - 1 элемент массива - сохраняются либо в виде строки,ссылка на массив слов или хэш значений).

  • Сохранение ссылки на этот массив в виде значения в хэше, ключом которого является закодированное время как число.

...