Среди большого многообразия космических аппаратов, летающих в космосе, есть и метеорологические. Сегодня разберемся, где взять данные с таких спутников и как нанести на карту информацию о направлении и скорости ветра в ArcGIS.
Примерами метеорологических аппаратов могут служить европейские MetOp-А и B. На спутниках установлено множество аппаратуры, но нас будут интересовать данные со скаттерометра — микроволнового радара, по данным которого можно восстанавливать параметры приводного ветра на морской поверхности.
Посылая микроволновые импульсы, скаттерометр принимает отражённые от морской поверхности сигналы и по их интенсивности определяет степень волнения (сильно возмущенная ветром морская поверхность сильнее рассеивает излученный прибором импульс).
В итоге у нас есть массив данных по скорости и направлению ветра на морскую поверхность, обновляемый несколько раз в день и бесплатно доступный на ftp по ссылке.
Результатом нашей работы будут вот такие карты приводного ветра, полученные в автоматизированном режиме:
Исходные данные на ftp структурированы следующим образом: по аппаратам, далее по размеру сетки, год, день в году и далее массив данных за все пролеты в этот день. Формат хранения netCDF — подробнее о формате можно прочитать здесь. Название файлов расшифровываются следующим образом:
ascat_YYYYMMDD_HHMMSS_metopa_ORBIT_SRV_T_SMPL_CONT.l2.frmt
- ascat = the scientific instrument: Advanced Scatterometer
- YYYYMMDD = the date (Year, Month, Day) of the first data in the file
- HHMMSS = the time (UTC Hour, Minute, Second) of the first data in the file
- metopa = the satellite name: MetOp-A
- ORBIT = the orbit number (00000-99999)
- SRV = the service: ‘eps’ for global OSI SAF product
- T = the processing type: ‘o’ for operational, ‘t’ for test
- SMPL = the WVC sampling: 250 is 25.0 km, 125 is 12.5 km
- CONT = the product contents: ‘ovw’ for Ocean Vector Winds
- l2 = the processing level: l2 for Level 2
- frmt = the file format: ‘nc’ for NetCDF
Обозначим ряд задач, которые стоят перед нами для нанесения на карту этих данных
1. Преобразование формата netCDF в точечный векторный слой с информацией о скорости и направлении ветра
2. Чтение сразу всех файлов за одну дату или несколько дат, т.к. ручная конвертация может занять продолжительное время
3. Удаление нулевых значений — это точки на территорию суши, т.к. там скорость и направления ветра вычислены быть не могут в связи с принципом работы прибора
4. Сохранение данных только на определенный район интереса, т.к. массив содержит большое количество информации на весь мир
5. Настройка отображения полученной информации о скорости и направлении ветра. Оформление в виде стрелок разного цвета и размера, где направление стрелки указывает на направление ветра, а цвет и размер на скорость. Этот пункт детально описан в журнале ArcReview, прочитать можно здесь.
6. Запись поступающих данных в единую базу геоданных с полем времени и даты.
Для автоматизации процесса обработки воспользуемся возможностями ModelBuilder в ArcGIS for Desktop, чтобы собрать такую модель:
Скачать модель, включая тестовый набор данных, можно здесь. Перед запуском необходимо будет обновить пути.
Алгоритм работы модели следующий:
1. На вход подается папка с загруженными с ftp файлами в формате netCDF (не забудьте выполнить разархивацию, т.к. на ftp лежат архивированные данные)
2. Итератор по очереди открывает каждый файл
3. Из массива данных в промежуточную таблицу записываются поля с датой и временем, долготой, широтой, скоростью ветра и его направлением
4. По долготе и широте создается промежуточный точечный векторный слой
5. Выполняется выборка по району интереса, чтобы удалить лишние точки
6. Выполняется выборка для значений не равных NULL, т.к. на территорию суши данных нет и такие точки необходимо откинуть
7. Записывается новый набор значений в заранее подготовленный класс объектов в файловой базе геоданных.
Отдельно в таблице содержания ArcMap точечный слой оформляется путем импорта шаблона оформления «оформление.lyr» — доступен вместе с моделью.
Результатом станет пополняемый точечный класс пространственных объектов с полем «time», в котором записана дата и время, что позволит сделать временный слой и визуализировать информацию о ветре за разные промежутки времени.