Адаптированы для работы с автоматическим алгоритмом
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user