Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
function [error] = readTsgDataLabview( hTsgGUI, filename )
%
% Fonction de lecture des fichiers TSG issus du programme
% d'acquisition LabView XXX
%
% [error] = rdtsglabview( Fichier )
%
% Input
% hTsgGUI ............ Handel to the main user interface
% filename ........... Data filename
%
% Output
% error .............. 1: OK - -1 : an error occured
%
% Liste des intitules des colonnes dans les entetes des fichiers Labview :
% Date
% Pc Date - RMC_Date - ZDA_Date
% Heure
% Pc Time - RMC_Time - ZDA_Time - GLL_Time
% Position
% RMC_Latmn - RMC_Lonmn - RMC_Latdec - RMC_Londec -
% GGA_Latdec - GGA_Londec - GLL_Latdec - GLL_Londec
% Mesures
% SBE21_Temp1 - SBE21_Sal - SBE21_Cond - SBE21_Raw
% Vitesse et cap
% RMC_Sog - RMC_Cog - 3026L_Cog - 3026L_Sog
% Autre
% RMC_Status - GGA_Hog - VTG True Track - T - Magn Track - M -
% Ground spd- N - Ground Spd - K - dd - tete - ttt
% Get the data from the application GUI
% -------------------------------------
tsg = getappdata( hTsgGUI, 'tsg_data');
% Display read file info on console
% ---------------------------------
fprintf('\nREAD_LABVIEW_FILE\n'); tic;
% Chaque colonne du fichier est separee par DELIMITER
% ---------------------------------------------------
DELIMITER = ',';
% Ouverture du fichier '.CSV'
% ---------------------------
fid = fopen( filename, 'r');
% Teste si le fichier existe
% --------------------------
if fid ~= -1
% Choix des parametres qui seront utilises par TSG-QC
% ColNo : structure des numeros de colonnes a conserver
% ---------------------------------------------------
[choix, ColNo, paraName, nPara] = choixparametres( fid, DELIMITER );
if strcmp( choix, 'ok' ) == 1
% Lecture et decodage du fichier TSG LabView. En sortie
% ------------------------------------------
[date, time, lat, lon, sst, sss, cond, condRaw, sog, cog] =...
decodeficlabview( fid, DELIMITER, ColNo, paraName, nPara );
% Nombre de lignes du fichier et allocation de memoire
% ----------------------------------------------------
nblig = length(sst);
% Indice des lignes pour lesquelles les dates
% ou les heures ne sont pas a NaN
% -------------------------------------------
noNaN = find( strcmp( date, 'NaN') == 0 & strcmp( time, 'NaN') == 0 );
% Every variable are put in a structure
% -------------------------------------
blanc = char(blanks(1)*ones(nblig,1));
tsg.DAYD = NaN*ones(nblig,1);
tsg.DAYD(noNaN) = datenum(...
[char(date(noNaN)) blanc(noNaN) char(time(noNaN))],...
'dd/mm/yyyy HH:MM:SS');
% save original date
% ------------------
tsg.DATE = datestr( tsg.DAYD, 'yyyymmddHHMMSS' );
tsg.LATX = lat;
tsg.LONX = lon;
tsg.SSJT = sst;
tsg.SSPS = sss;

jacques.grelet_ird.fr
committed
tsg.SPDC = sog;
% Set active code to NOCONTROL
% ----------------------------
tsg.qc.active.Code = get(tsg.qc.hash, 'NO_CONTROL', 'code');
% Set salinity QC (SSPS_QC) par NOCONTROL code
% --------------------------------------------
tsg.SSPS_QC = tsg.qc.active.Code * ones(nblig,1);
% populate tsg.file structure
% ---------------------------
tsg.file.name = filename;

jacques.grelet_ird.fr
committed
tsg.file.type = 'LABVIEW';
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
% Save the data in the application GUI
% ------------------------------------
setappdata( hTsgGUI, 'tsg_data', tsg );
% Clear the Workspace
% -------------------
clear date time lat lon sst sss cond condRaw sog cog
end % fin de boucle if strcmp(choix,'yes')
% Fermeture du fichier
% --------------------
fclose( fid );
% Display time to read file on console
% ------------------------------------
t = toc; fprintf('...done (%6.2f sec).\n\n',t);
error = 1;
else
% Gestion d'erreur ouverture de fichier
% -------------------------------------
msg_error = ['TSG_LABVIEW file_lecture : Open file error : ' filename];
warndlg( msg_error, 'LabView error dialog');
sprintf('...cannot locate %s\n', filename);
error = -1;
return;
end