Удаление заголовка и повторяющейся информации о времени из rinex-файла GPS TEC

У меня есть файл rinex, и он показан здесь... изображение, показывающее первую часть файла rinex

http://imageshack.us/photo/my-images/593/65961409.jpg

Данные (файл AOPR Rinex) загружаются с сайта после ввода года и дня.

http://www.naic.edu/aisr/GPSTEC/gpstec.html

Я хочу открыть этот файл как матрицу в Matlab для дальнейшей обработки. После окончания заголовка в 42-й строке информация о времени находится в 43-й строке. Затем начинаются данные. Но информация о времени приходит снова после того, как некоторые строки говорят о 64 строке, которую следует отбросить. Заголовок также следует удалить. Также последний столбец идет ниже первого столбца как вторая строка, которую следует перенести в последний столбец. Всего 55700 строк. Пожалуйста, помогите мне с этим.


person Sumesh G    schedule 24.10.2012    source источник


Ответы (2)


Я подозреваю, что последний столбец, появляющийся в строке ниже, является просто артефактом того, насколько велико окно вашего текстового ридера...

В остальном, я думаю, здесь работает цикл проб и ошибок:

fid = fopen('test.txt','r');
C = {};
while ~feof(fid)
    % read lines with dictated format.
    D = textscan(fid, '%d %d %d %d');

    % this will fail on headerlines, empty lines, etc.
    if isempty(D{1})
        % in those cases, advance the file pointer by one line
        fgetl(fid);
    else
        % if that's not the case, save the lines thus read 
        C = [C;D]; %#ok
    end
end
fclose(fid);

% Post-process: concatenate all sub-arrays into one
C = arrayfun(@(ii) cat(1, C{:,ii}), 1:size(C,2), 'UniformOutput', false);

Это работает, по крайней мере, с моим test.txt:

header 
random 
garbage
1 2 3 4
4 5 6 7
4 6 7 8
more random garbage
2 5 6 7
5 6 7 8
8 6 3 7
person Rody Oldenhuis    schedule 24.10.2012

Я подозреваю, что последний столбец, появляющийся в строке ниже, является просто артефактом того, насколько велико > окно вашего текстового ридера...

В остальном, я думаю, здесь работает цикл проб и ошибок.

Дорогой Роди У меня нет опыта работы с Matlab, я только новичок. На самом деле это файл Rinex с 2780 эпохами и 6 наблюдаемыми с 30 значениями спутников. Расшифровать его в Matlab сложно. Это проблема. Вы можете прочитать пример кода на

http://web.ics.purdue.edu/~tdauterm/EAS591/Lab7/read_rinexo.m

Но проблема в том, что наблюдаемых шесть, а в m-файле только 5, что тоже не в правильном порядке. Мне нужно C1 P2 L1 L2 S1 S2... но код по ссылке дает L1 L2 C1 P1 P2. :( Можете ли вы просто исправить это.. Тогда это будет большим подспорьем..

person Sumesh G    schedule 25.10.2012