В этом проекте я измерил высоту крон деревьев в Алматы 🌳. Визуализация была разработана с использованием языка программирования R и следующих библиотек: chmloader
, terra
, sf
, maptiles
, classInt
, tidyverse
, tidyterra
, leaflet
и htmlwidgets
.
Контекст: Чем темнее зеленый цвет на карте, тем выше кроны деревьев. Высота крон — это высота верхнего слоя растительности в лесу или другой экосистеме, обычно измеряемая от земли до верхушек деревьев или других растений. Это важный показатель в лесном хозяйстве, экологии и исследованиях окружающей среды, так как он может служить индикатором возраста, состояния и структуры леса.
Значение измерения высоты деревьев
Измерение высоты деревьев важно по нескольким причинам:
- Оценка здоровья растений: Позволяет выявлять заболевания, стрессовые условия или повреждения.
- Определение возрастной структуры: Индицирует возраст деревьев, что важно для оценки их состояния и потребностей в уходе.
- Оценка экосистемной роли: Связана с способностью деревьев к углеродному захвату, созданию тени и обеспечению животным укрытия.
- Планирование урбанистической среды: Позволяет оценивать зеленые насаждения и их вклад в городскую среду.
- Мониторинг изменений в ландшафте: Отслеживание роста и здоровья деревьев для устойчивого управления лесными и городскими зелеными зонами.
Объяснение кода
Полный код проекта доступен на GitHub. Ниже приведено краткое объяснение основных частей кода, использованных в этом проекте:
1. Загрузка данных
Код начинается с загрузки необходимых библиотек и данных. Библиотека `chmloader` используется для загрузки данных модели высоты крон (CHM), которая предоставляет информацию о высоте деревьев. Библиотека `terra` используется для обработки пространственных данных, а `sf` применяется для работы с пространственными объектами.
library(chmloader) library(terra) library(sf) # Загрузка модели высоты крон (CHM) chm <- rast("path_to_chm_data.tif")
2. Подготовка данных
После загрузки данных CHM код обрабатывает их с использованием пакета `terra`. Данные CHM перепроецируются для соответствия координатной системе базовых карт, и применяются специфические пространственные преобразования для подготовки данных к визуализации.
# Перепроецирование данных CHM chm_reproj <- project(chm, "EPSG:4326") # Подготовка данных для картографирования chm_clipped <- crop(chm_reproj, extent_of_area) chm_masked <- mask(chm_clipped, mask_shapefile)
3. Визуализация данных
Визуализация создается с использованием библиотек `tidyterra`, `maptiles` и `leaflet`. Эти библиотеки позволяют интегрировать данные о высоте крон с базовыми картами, создавая интерактивное и информативное отображение высоты деревьев по всему Алматы. Более темные зеленые цвета обозначают более высокие кроны деревьев.
# Создание карты с помощью leaflet leaflet() %>% addProviderTiles(providers$CartoDB.Positron) %>% addRasterImage(chm_masked, colors = height_color_palette, opacity = 0.8) %>% addLegend("topright", pal = height_color_palette, values = values(chm_masked), title = "Высота крон (м)")
4. Настройка карты
Карту можно дополнительно настроить с помощью различных слоев, цветовых палитр и интерактивных элементов. Код также позволяет добавлять маркеры, метки и другие элементы карты для выделения определенных областей интереса или предоставления дополнительного контекста.
Заключение
Этот проект демонстрирует процесс измерения и визуализации высоты крон в городской среде, такой как Алматы. Используя R и различные библиотеки для пространственного анализа, мы можем получить ценные сведения о зеленой инфраструктуре города и ее роли в городской экосистеме. Для получения более подробной информации и полного кода посетите проект на GitHub.