Как получить растровый файл из вложенного списка растров, созданного пакетом landscapemetrics в R? - PullRequest
0 голосов
/ 13 февраля 2020

Пакет landscapemetrics может вычислить площадь каждого патча для данного растрового файла, форму этого патча и так далее. Я хочу иметь не только тиббл-фрейм с вычисленными метриками патчей, но и новый растр, в котором каждый пиксель в указанном патче c будет иметь значение площади этого патча, индикатора формы и так далее. Мы можем сделать это с помощью функции spatialize_lsm() (она создает вложенный объект Large list с, вероятно, RasterObject объектами внутри):

library(landscapemetrics)

plot(podlasie_ccilc) # this raster data is provided with package

podlasie.metrics.area <- spatialize_lsm(podlasie_ccilc, what = 'lsm_p_area') # creates a list

plot(podlasie.metrics.area) # produces an error...

Как получить из этого списка желаемый растровый файл с метриками исправлений? Я предполагаю, что речь идет о пакете raster или о чем-то еще, поскольку документация landscapemetrics ничего не говорит об этом шаге.

Я не думаю, что эти данные и новый растр не имеют разрешение пикселя, как в метрах (30, 30 для спутникового изображения Landsat, например). Поэтому мы не можем построить новый созданный растр:

podlasie.metrics.area[[1]]
plot(podlasie.metrics.area[[1]])

Так что я полагаю, что ландшафтная метрика не может справиться с такими растрами, мы даже можем использовать ее функцию для проверки пригодности предыдущего растра для обнаружения патчей:

check_landscape(podlasie_ccilc)

Upd. Я сделал это для набора данных Landsat с разрешением 30, 30, и он создал растровую область патча, но опять же я не могу открыть / показать / сохранить как растр из-за той же ошибки.

1 Ответ

0 голосов
/ 13 февраля 2020

Помощник по пакетам помогает решить проблему (да, это просто связано со структурой списка):

plot(podlasie.metrics.area[[1]]$lsm_p_area)
...