

Sentinel screenshot courtesy of Storybench.
Использование языковой среды R для создания GIF-изображений на основе спутниковых снимков
«Таймлапс (интервальная) анимация исчезновения водохранилищ Ченнаи потрясает воображение», — недавно написал в своем Twitter ведущий репортер веб-ресурса Earther Брайан Кан. Недавно он опубликовал статью «Почему Ченнаи, шестой по величине город Индии, может остаться без воды», которая была проиллюстрирована несколькими GIF-изображениями уменьшающихся водохранилищ города.
Когда его спросили, как он создавал свои GIF-файлы, Кан рассказал нам о разработанном Европейским космическим агентством ресурсе Sentinel Hub, который дает возможность использовать спутниковые снимки. Функция Sentinel Hub Playground особенно удобна, поскольку предоставляет возможность быстрого доступа и визуализации изображений Sentinel-2, Landsat 8, DEM и MODIS.
Нужно больше советов для ваших расследований? Загляните в ресурсный центр GIJN на русском.
Мы расскажем, как можно сделать такое GIF-изображение с помощью Sentinel Hub и RStudio, пошагово воссоздавая эту анимацию исчезновения Ченнайского водохранилища. Примененная нами технология и приведенный ниже код могут быть использованы для множества других анимаций, иллюстрирующих, например, разрушение плотин, вырубку лесов, лесные пожары и многое другое.
Кстати, если вам почему-то не по душе R, вы можете воспользоваться разработанным Sentinel Hub браузером ЕО для создания GIF-изображений при помощи их интерфейса для пользователей. Далее по тексту этот момент будет объяснен подробнее.
Примечание: познакомиться с R и RStudio поближе помогут эти пособия.
Загрузка спутниковых изображений
После перехода на Sentinel Hub Playground, введите “Chennai, India” в строку поиска и перетащите окно к интересующему водохранилищу. Убедитесь, что вы выбрали «Sentinel-2» в разделе “Datasets” («Наборы данных») в верхнем правом углу и “Natural color” («Естественный цвет») на вкладке “Rendering” («Рендеринг») в крайнем левом углу.
Выберите иконку календаря («calendar icon») на верхней панели навигации и начните просматривать доступные изображения Ченнаи.
После того, как вы нашли изображение, которое вам подходит — в идеале без чрезмерного облачного покрова — нажмите кнопку “Generate” («Создать») в левом нижнем углу, и во всплывающем окне появится кнопка “Download Image” («Загрузить изображение»). Нажмите на нее.
В итоге, после просмотра и изучения изображений за несколько месяцев и отбора наименее облачных дней, я скачал 15 JPG-картинок с 15 июня 2018 г. по 15 июня 2019 г. Я сохранил структуру имен файлов Playground, которая выглядит как “Sentinel-2 image on 2018-06-15.jpg” («Изображение Sentinel-2 на 2018-06-15.jpg»), и сохранил их в папке, которая доступна в RStudio.
Анимация изображений формата JPG в R с помощью “Magick”
Благодаря крутому пособию эколога Райана Пика я знал, что могу импортировать файлы в RStudio и создать GIF-изображения, используя R-пакеты «dplyr» и «purrr» для обработки данных и «magick» для обработки изображений.
Процесс проходил очень просто: вы сообщаете RStudio, где находятся файлы, просматриваете их, соединяете, потом присваиваете GIF-файлу название “Lake Puzhal, Chennai: June 2018 – June 2019,” («Озеро Пужал, Ченнаи: июнь 2018 — июнь 2019»), а затем анимируете GIF-изображение с частотой 4 кадра в секунду.
Наконец, заходим в рабочую директорию и получаем необходимый chennai.gif. И дело в шляпе.
Подробные описание и пособия по невероятному пакету «magick» есть здесь.
Экспорт квадратного GIF-изображения в соцсети
С помощью функции image_crop(), вы можете обрезать и передвигать свое GIF-изображение, применяя два параметра «+». Подробнее об этом здесь.
chennai_square <- list.files(path = «chennai/», pattern = «*.jpg», full.names = T) %>% map(image_read) %>% image_join() %>% image_crop(«500×500+450+125») %>% image_annotate(«Lake Puzhal, Chennai: June 2018 — June 2019», location = «+10+10», size = 16, color = «white») %>% image_animate(fps=4) %>% image_write(«chennai-box.gif»)
Использование браузера EO от Sentinel Hub для создания GIF-изображений без кода
Правозащитная группа Bellingcat создала отличное пособие по применению EO Browser от Sentinel Hub. По сути, вы получаете бесплатный логин, переходите к интересующим вас данным и нажимаете на находящуюся справа на экране иконку “Create timelapse animation” («Создать интервальную анимацию»).
Затем вы выбираете интересующие вас даты и уровень облачного покрова — я выбрал 27% для приведенного ниже GIF-изображения — и скачиваете файл, нажимая “Download” («Скачать»). Ничего сверхсложного.
Окончательная GIF-ка выглядит так:
Другие базы спутниковых изображений
Hazard Mapping System и Emergency Response Imagery Национального Управления океанических и атмосферных исследований (NOAA) Система GOES System [ЛІНК НЕЖИВИЙ] НАСА и NOAA (используется в графике Washington Post и New York Times) Earth Engine Google Сервис Worldview НАСА Сервисы НАСА MODIS и VIIRS images Open Data Program Digital Globe 125 million building footprints Microsoft Global Forest Watch
Другие ресурсы для “геожурналистики»
Лекция 2018 года Дэвида Янофски для Национального Института Журналистики Данных (NICAR) о применении спутниковых снимков. Объемный список ресурсов, лекций, документов и наборов данных GIJN об использовании спутниковых снимков (на русском).
Нужно больше советов для ваших расследований? Загляните в ресурсный центр GIJN на русском.
Эта публикация впервые появилась на веб-сайте Storybench и перепечатывается с разрешения.
Алежу Байяк является редактором Storybench, научным журналистом и бывшим научным сотрудником Knight Science Journalism в Массачусетском технологическом институте (MIT). Кроме того, он работал в Science Friday, основал ресурс LatinAmericanScience.org и считает своей главной задачей преодоление когнитивного разрыва между журналистами, разработчиками и дизайнерами.