Зональная статистика в Google Earth Engine в браузере
Некоторое время провозился с расчетами зональной статистики в GEE и в итоге написал скрипт который позволяет по полигональному слою собирать статистики сразу из нескольких растров и считать сразу кучу параметров (mean, median, stdDev, variance, min, max ).
Процесс описал в статье на medium. Там же есть скрипт который можно кастомизировать под свои нужды (подставить свой полигональный файл и свои растры)
https://medium.com/@anton.biatov/how-to-combine-topography-and-vegetation-a-practical-guide-to-zonal-statistics-in-google-earth-d8167615937b
#gee
Некоторое время провозился с расчетами зональной статистики в GEE и в итоге написал скрипт который позволяет по полигональному слою собирать статистики сразу из нескольких растров и считать сразу кучу параметров (mean, median, stdDev, variance, min, max ).
Процесс описал в статье на medium. Там же есть скрипт который можно кастомизировать под свои нужды (подставить свой полигональный файл и свои растры)
https://medium.com/@anton.biatov/how-to-combine-topography-and-vegetation-a-practical-guide-to-zonal-statistics-in-google-earth-d8167615937b
#gee
Medium
How to Combine Topography and Vegetation: A Practical Guide to Zonal Statistics in Google Earth…
A step-by-step guide to building an efficient tool for spatial data analysis
Гайд: Зональная статистика в Python с Earth Engine.
Внутри:
— Шаблон для одновременного расчёта нескольких растров;
— Унифицированный редуктор (среднее/медиана/Стандартное отклонение/дисперсия/мин/макс за один проход — экономит квоты и время);
— Конвертация в GeoDataFrame (geopandas)
— Экспорт в GPKG/CSV + загрузка на Google Диск;
— Наглядные карты (рельеф, NDVI, температура почвы).
— Кодовые ячейки — как в блокноте, 1:1.
В конце статьи есть ссылка на готовый блокнот Colab.
https://medium.com/@anton.biatov/zonal-statistics-in-python-using-earth-engine-and-google-colab-7101d1d42ffd
#gee #colab #python
Внутри:
— Шаблон для одновременного расчёта нескольких растров;
— Унифицированный редуктор (среднее/медиана/Стандартное отклонение/дисперсия/мин/макс за один проход — экономит квоты и время);
— Конвертация в GeoDataFrame (geopandas)
— Экспорт в GPKG/CSV + загрузка на Google Диск;
— Наглядные карты (рельеф, NDVI, температура почвы).
— Кодовые ячейки — как в блокноте, 1:1.
В конце статьи есть ссылка на готовый блокнот Colab.
https://medium.com/@anton.biatov/zonal-statistics-in-python-using-earth-engine-and-google-colab-7101d1d42ffd
#gee #colab #python
Medium
Zonal statistics in python using Earth Engine and Google Colab
In this article, I’ll guide you through calculating zonal statistics for multiple parameters — like mean, median, standard deviation…
🔥1
Нашел идеальный сервис для скачивания видео с YouTube
https://ytdlp.online/
По сути это просто веб-обертка для Python библиотеки
Прямо в браузере отображается выполняемая команда. Можно ее повторить у себя на локальном компе.
Так же там можно скачать последнюю версию библиотеки
Самый прикол в том что из-за того что сервис бесплатный, его создатели максимально с экономили затраты сервиса и реализовали скачивание видео в открытую папку, которая автоматически отчишается каждый час. И если перейти по адресу https://ytdlp.online/download/ можно увидеть что другие пользователи скачивали за последний час 😈
Сервис бесплатный.
Можно задонатить создателям через крипту или PayPel
#YouTube #video #download
https://ytdlp.online/
По сути это просто веб-обертка для Python библиотеки
yt-dlp при помощи которой можно качать видео при помощи Python скриптов или команды в терминале.Прямо в браузере отображается выполняемая команда. Можно ее повторить у себя на локальном компе.
Так же там можно скачать последнюю версию библиотеки
yt-dlp для разных операционных систем, чтоб скачивать видео прямиком себе на комп.Самый прикол в том что из-за того что сервис бесплатный, его создатели максимально с экономили затраты сервиса и реализовали скачивание видео в открытую папку, которая автоматически отчишается каждый час. И если перейти по адресу https://ytdlp.online/download/ можно увидеть что другие пользователи скачивали за последний час 😈
Сервис бесплатный.
Можно задонатить создателям через крипту или PayPel
#YouTube #video #download
👍2
Супер быстрая обрезка видео (ffmpeg + Python)
Сегодня обрезал видеозаписи некоторых мастерклассов с конференции Природоохранных ГИС Украины, для загрузки их на Ютуб канал. И сделал для себя величайшее открытие!
Раньше для обрезки видео использовал такие програмы как Openshot Video Editor или DaVinci Resolve. И эти программы дают мощный функционал для монтажа, но если нужно просто вырезать фрагмент, то они излишни. И конвертация больших видео занимает очень много времени, иногда часы.
Если нужно просто обрезать с видео по заданным секундам, то это можно сделать в 1000 раз быстрее при помощи программы ffmpeg, и автоматизировать обработку множества видео при помощи Python.
Ниже приведу код при помощи которого можно пакетно нарезать множество видео.
Шаги по подготовке:
0. Устанавливаете программу
1. Выписывате с какой по какую секунду нужно вырезать какое видео и куда сохранить фрагмент.
2. Записываете выписанную информацию в словарь
3. Запускаете скрипт. Он циклом проходит по всем словарям в списке, и вырезает нужные фрагменты.
Вырезать 2 видео разрешением 2560 x 1600 по полтора часа каждое заняло 4 секунды, всего ЧЕТЫРЕ секунды !!!
Фактически это просто обертка при помощи Python и subprocess вокруг команды:
Пояснения:
*
*
*
*
Кстати, первое из вырезанных видео про Обнаружение деревьев на космоснимках при помощи нейронных сетей (U-net) уже на ютуб канале: https://youtu.be/v09eLAgUFgs
Подписывайтесь на ютуб канал. В этом году были мощнейшие мастерклассы!
Постепенно всех их опубликуем.
#python #ffmpeg #video #video_editing
Сегодня обрезал видеозаписи некоторых мастерклассов с конференции Природоохранных ГИС Украины, для загрузки их на Ютуб канал. И сделал для себя величайшее открытие!
Раньше для обрезки видео использовал такие програмы как Openshot Video Editor или DaVinci Resolve. И эти программы дают мощный функционал для монтажа, но если нужно просто вырезать фрагмент, то они излишни. И конвертация больших видео занимает очень много времени, иногда часы.
Если нужно просто обрезать с видео по заданным секундам, то это можно сделать в 1000 раз быстрее при помощи программы ffmpeg, и автоматизировать обработку множества видео при помощи Python.
Ниже приведу код при помощи которого можно пакетно нарезать множество видео.
Шаги по подготовке:
0. Устанавливаете программу
ffmpeg1. Выписывате с какой по какую секунду нужно вырезать какое видео и куда сохранить фрагмент.
2. Записываете выписанную информацию в словарь
list_clip_settings3. Запускаете скрипт. Он циклом проходит по всем словарям в списке, и вырезает нужные фрагменты.
Вырезать 2 видео разрешением 2560 x 1600 по полтора часа каждое заняло 4 секунды, всего ЧЕТЫРЕ секунды !!!
import subprocess
from time import perf_counter
def fmt(seconds: float) -> str:
"""Форматирование секунд в HH:MM:SS."""
total = int(round(seconds))
h, rem = divmod(total, 3600)
m, s = divmod(rem, 60)
return f"{h:02d}:{m:02d}:{s:02d}"
list_clip_settings = [
{
"input": "video_source/20250723_Polischuk_Svidzinska.mp4",
"output": "video_masterklasses/20250723_Polishchuk_Olexandr-Tree_detection_for_help_U-net.mp4",
"start": "00:00:51",
"end": "01:31:17"
},
{
"input": "video_source/20250723_Polischuk_Svidzinska.mp4",
"output": "video_masterklasses/20250723_Svidzinska_Daria-analiz_prostorovo-chasovih_trendiv.mp4",
"start": "01:31:32",
"end": "02:55:22"
}
]
total_start = perf_counter()
for i in list_clip_settings:
input = i.get("input")
output = i.get("output")
start = i.get("start")
end = i.get("end")
cmd = [
"ffmpeg",
"-ss", start,
"-to", end,
"-i", str(input),
"-c", "copy",
"-map", "0",
"-movflags", "+faststart",
str(output)
]
t0 = perf_counter()
subprocess.run(cmd, check=True)
elapsed = perf_counter() - t0
print(f"Файл {str(output)} готов. Время на клип: {fmt(elapsed)}")
total_elapsed = perf_counter() - total_start
print("Готово!")
print(f"Общее затраченное время: {fmt(total_elapsed)}\n")
Фактически это просто обертка при помощи Python и subprocess вокруг команды:
ffmpeg -ss 01:31:32 -to 02:55:22 -i "path_to/input_file.mp4" -c copy -map 0 -movflags +faststart "path_to/output_file.mp4"
Пояснения:
*
-c copy — без перекодирования (качество 1:1, очень быстро).*
-ss и -to — время начала/конца от исходного видео.*
-map 0 — берём все дорожки из исходника (видео+аудио).*
-movflags +faststart — удобнее для проигрывания/загрузки (метаданные впереди).Кстати, первое из вырезанных видео про Обнаружение деревьев на космоснимках при помощи нейронных сетей (U-net) уже на ютуб канале: https://youtu.be/v09eLAgUFgs
Подписывайтесь на ютуб канал. В этом году были мощнейшие мастерклассы!
Постепенно всех их опубликуем.
#python #ffmpeg #video #video_editing
YouTube
Детекція дерев за допомогою U-net (Поліщук Олександр )
Як знайти дерева на супутникових знімках за допомогою нейромереж? У цьому майстер-класі Поліщук Олександр показує повний практичний пайплайн детекції дерев із використанням U-Net для семантичної сегментації — від підготовки даних до тренування моделі й перегляду…
🔥3❤1
Веб-приложение - вьювер влажности почвы.
Хорошо видно climate change. Влажность почвы резко падает после 2020 года. Особенно хорошо видно по северным регионам.
---
Сегодня изучал возможности работы с динамическим выбором и анализом данных при помощи слайдера в GEE, и создал такое веб-приложение:
https://gee-antonbiatov.projects.earthengine.app/view/smap-soil-moisture-0-100cm
Исходные данные обновляются каждые 3 часа. Но для удобства отображения данные усреднены за каждые 10 дней.
Можно кликнуть по карте и получить график как менялась влажность почвы с марта 2015 г., усредненная за период в 10 дней.
Т.к. это дейтвительно Big Data надо подождать пока будет проведен анализ и построится график.
Внизу страницы есть слайдер, двигая который можно на карте отобразить данные за разные даты.
🌟И самое главное!
Можете использовать исходный скрипт, подставив свои данные (температуру, NDVI etc.).
Там я все подробно описал:
https://code.earthengine.google.com/b0836e84583b15c49e0bd28a1311bba6
#gee #climate
Хорошо видно climate change. Влажность почвы резко падает после 2020 года. Особенно хорошо видно по северным регионам.
---
Сегодня изучал возможности работы с динамическим выбором и анализом данных при помощи слайдера в GEE, и создал такое веб-приложение:
https://gee-antonbiatov.projects.earthengine.app/view/smap-soil-moisture-0-100cm
Исходные данные обновляются каждые 3 часа. Но для удобства отображения данные усреднены за каждые 10 дней.
Можно кликнуть по карте и получить график как менялась влажность почвы с марта 2015 г., усредненная за период в 10 дней.
Т.к. это дейтвительно Big Data надо подождать пока будет проведен анализ и построится график.
Внизу страницы есть слайдер, двигая который можно на карте отобразить данные за разные даты.
🌟И самое главное!
Можете использовать исходный скрипт, подставив свои данные (температуру, NDVI etc.).
Там я все подробно описал:
https://code.earthengine.google.com/b0836e84583b15c49e0bd28a1311bba6
#gee #climate
🔥2
Фильтрация спекл-шумов на снимках Sentinel-1 в GEE
Работая над мониторингом лесопотерь по Sentinel-1, наткнулся на интересную статью о подготовке данных: https://doi.org/10.3390/rs13101954
.
Радарные снимки содержат спекл-шум (“соль и перец”) — результат интерференции отражённых микроволн от множества мелких объектов в пикселе. Для его снижения применяют фильтрацию.
Я сравнил разные алгоритмы (ядро 9 пикселей) на лесах, вырубках и населённых пунктах. Лучшие результаты дали Boxcar и GAMMA MAP. Lee показал средний результат, Refined Lee и Improved Lee Sigma — хуже, причём последний работал медленно.
Скрипты примененных мной фильтров в комментариях к оригинальному посту: https://t.me/gis_notes/8
#gee #sar #sentinel_1
Работая над мониторингом лесопотерь по Sentinel-1, наткнулся на интересную статью о подготовке данных: https://doi.org/10.3390/rs13101954
.
Радарные снимки содержат спекл-шум (“соль и перец”) — результат интерференции отражённых микроволн от множества мелких объектов в пикселе. Для его снижения применяют фильтрацию.
Я сравнил разные алгоритмы (ядро 9 пикселей) на лесах, вырубках и населённых пунктах. Лучшие результаты дали Boxcar и GAMMA MAP. Lee показал средний результат, Refined Lee и Improved Lee Sigma — хуже, причём последний работал медленно.
Скрипты примененных мной фильтров в комментариях к оригинальному посту: https://t.me/gis_notes/8
#gee #sar #sentinel_1
🔥3
Собрал простой вьювер лесопотерь по данным Sentinel-1 которые появились за прошедший год. Вьювер со шторокой - левая чать карты 2024-10-03, правая - 2025-10-04
https://gee-antonbiatov.projects.earthengine.app/view/galamsey2024-2025v01
даже не ожидал что на столько просто получиться выявить лесопотери (без машинлёнинга, только растровый калькулятор). Ключевые моменты описал в комментах к этому посту https://t.me/gis_notes/9
#gee #sar #sentinel_1 #forest #changedetection
https://gee-antonbiatov.projects.earthengine.app/view/galamsey2024-2025v01
даже не ожидал что на столько просто получиться выявить лесопотери (без машинлёнинга, только растровый калькулятор). Ключевые моменты описал в комментах к этому посту https://t.me/gis_notes/9
#gee #sar #sentinel_1 #forest #changedetection
🔥6🎄1
Скачать растр температуры поверхности по данным Landsat 8/9
Собрал простое приложение
1) нарисовать полигон на карте
2) настроить параметры поиска и запустить поиск снимков.
3) Выбрать один из найденных снимков
4) Отобразить на карте
5) Экспортировать GeoTiff
https://gee-antonbiatov.projects.earthengine.app/view/l8l9temperaturedownloader
Разница между данными полученными по Landsat 8 и 9 до 2-х градусов Цельсия. Что может быть обусловлено разным временем съемки.
#gee #landsat #temperature
Собрал простое приложение
1) нарисовать полигон на карте
2) настроить параметры поиска и запустить поиск снимков.
3) Выбрать один из найденных снимков
4) Отобразить на карте
5) Экспортировать GeoTiff
https://gee-antonbiatov.projects.earthengine.app/view/l8l9temperaturedownloader
Разница между данными полученными по Landsat 8 и 9 до 2-х градусов Цельсия. Что может быть обусловлено разным временем съемки.
#gee #landsat #temperature
🔥4
Наткнулся на геопортал где можно скачать ЦМР и ЦММ 50см/пиксел и классифицированное c RGB данными облако точек с детализацией 10 точек на 1м²
Можно по экспериментировать с такими данными.
Круто видны рельеф и старые дороги под сплошным лесным покровом.
И еще на портале интересно реализовано предоставление пользователю заказа с протухающими ссылками с таймером.
https://cdd.dgterritorio.gov.pt/dgt-fe
#data #lidar #dem #portugal
Можно по экспериментировать с такими данными.
Круто видны рельеф и старые дороги под сплошным лесным покровом.
И еще на портале интересно реализовано предоставление пользователю заказа с протухающими ссылками с таймером.
https://cdd.dgterritorio.gov.pt/dgt-fe
#data #lidar #dem #portugal