Адаптированы для работы с автоматическим алгоритмом

This commit is contained in:
L_DelOff
2021-06-12 23:31:37 +03:00
parent 87b79bc538
commit 33a9e3dc2c
3 changed files with 188 additions and 124 deletions

View File

@@ -1,49 +1,19 @@
function loaddata_edr %DATA=loaddata_edr(filename)
function loaddata_edr(sattelite, year, month, type_sensor) %DATA=loaddata_edr(filename)
%% By L_DelOff
% Загрузка данных из файла *.EDR
% Описание файла приведено в:
% !docs/!AFRL ASCII and Binary File Format Descriptions.pdf
%% Поехали
warning off
sattelite_range=15:18; % Выбор с какого спутника требуются данные
year_range=2015; %
month_range=9; %
%% Скачать данные в формате архива
if 1
for sattelite=sattelite_range %6:20
for year=year_range % года
for month=month_range % месяца
download_fun(sattelite, year, month); %скачивание и обработка нужных данных
end
end
end
end
download_fun(sattelite, year, month, type_sensor); %скачивание и обработка нужных данных
%% Распаковать архив
if 1
for sattelite=sattelite_range %6:20
for year=year_range % года
for month=month_range % месяца
extract_data_fun(sattelite, year, month); %скачивание и обработка нужных данных
end
end
end
end
extract_data_fun(sattelite, year, month, type_sensor); %скачивание и обработка нужных данных
%% Преобраховать EDR в mat
if 1
for sattelite=sattelite_range %6:20
for year=year_range % года
for month=month_range % месяца
convert_data_fun(sattelite, year, month); %скачивание и обработка нужных данных
end
end
end
convert_data_fun(sattelite, year, month, type_sensor); %скачивание и обработка нужных данных
end
end
function convert_data_fun(sattelite, year, month)
type_sensor='ssies';
function convert_data_fun(sattelite, year, month, type_sensor)
foldername=['DATA/f' num2str(sattelite) '/' type_sensor '/' num2str_new(year,4) '/' num2str_new(month,2)];
target=ls(foldername);
[str row]=size(target);
@@ -91,8 +61,7 @@ for i=1:str
end
end
function extract_data_fun(sattelite, year, month)
type_sensor='ssies';
function extract_data_fun(sattelite, year, month, type_sensor)
foldername=['DATA/f' num2str(sattelite) '/' type_sensor '/' num2str_new(year,4) '/' num2str_new(month,2)];
target=ls(foldername);
[str row]=size(target);
@@ -107,10 +76,9 @@ for i=1:str
end
end
function download_fun(sattelite, year, month)
function download_fun(sattelite, year, month, type_sensor)
% https://satdat.ngdc.noaa.gov/dmsp/data/f18/ssies/2020/05/
% https://satdat.ngdc.noaa.gov/dmsp/data/f18/ssies/2020/05/PS.CKGWC_SC.U_DI.A_GP.SIES3-F18-R99990-B9999090-APGA_AR.GLOBAL_DD.20200501_TP.000001-235959_DF.EDR.gz
type_sensor='ssies';
message=['Ищем данные спутника F' num2str(sattelite) ' по дате:' num2str_new(year,4) '/' num2str_new(month,2) '...'];
fprintf(message)
url_site=['https://satdat.ngdc.noaa.gov/dmsp/data/f' num2str_new(sattelite,2) '/' type_sensor '/' num2str_new(year,4) '/' num2str_new(month,2) '/'];
@@ -157,43 +125,6 @@ while i<length(text)
end
end
% %% Инициализация
% %load DATA
% %% Открытие файла если уже нет DATA
% if exist('DATA')~=1
% fid = fopen('DATA/PS.CKGWC_SC.U_DI.A_GP.SIES3-F18-R99990-B9999090-APGA_AR.GLOBAL_DD.20140831_TP.000001-235959_DF.EDR', 'rt'); % открыть для чтения
% counter=1;
% while ~feof(fid) % пока не конец файла
% frame=[]; % здесь будет 1 кадр (1 минута) в текстовом формате
% for i=1:114
% if ~feof(fid)
% frame(i).str = fgets(fid); % Последовательно читаем из файла строки
% end
% end
%
% if counter==1
% DATA=getframe_edr(frame); % Считываем кадр
% else
% DATA(counter)=getframe_edr(frame); % Считываем кадр
% end
% counter=counter+1;
% if mod(counter,100)==0
% disp(num2str(counter));
% end
% end
% end
%
% for i=1:length(DATA)
% x(i)=(DATA(i).GeoLong(1));
% y(i)=(DATA(i).GeoLat(1));
% end
% plot(x,y)
% xlabel('Geographic longitude (degrees, east)')
% ylabel('Geographic latitude (degrees, north)')
%end
function FRAME=getframe_edr(frame)
HEALTH=0; % "здоровье кадра"
%% строка 1: Пустая строка (Blank line)