Почему writeRaster in terra выдает предупреждающее сообщение?

Я пытаюсь создавать растры по слоям, используя пакет terra. Я использую следующий код

library(terra)

# first create a raster
r1 <- r2 <- r3 <- rast(nrow=10, ncol=10)
# Assign random cell values
values(r1) <- runif(ncell(r1))
values(r2) <- runif(ncell(r2))
values(r3) <- runif(ncell(r3))
s <- c(r1, r2, r3)

names(s) <- c("a", "b", "c")

writeRaster(s, paste0(names(s), ".tif"), overwrite=TRUE)

Он работает со следующим предупреждающим сообщением

Warning message:
In tools::file_ext(filename) %in% c("nc", "cdf") || isTRUE(list(...)$filetype ==  :
  'length(x) = 3 > 1' in coercion to 'logical(1)'

Что означает это сообщение?

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
0
19
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ваша линия

paste0(names(s), ".tif")

На самом деле создает вектор из 3 строк:

paste0(c("a", "b", "c"), ".tif")
[1] "a.tif" "b.tif" "c.tif"

Вероятно, вам нужен только один файл с таким именем, как

paste0(paste(c("a", "b", "c"), collapse = "_"), ".tif")
[1] "a_b_c.tif"

Чтобы избежать вложенных вызовов вставки, я предлагаю изучить пакет клей.

На самом деле я хочу 3 отдельных растра.

Bappa Das 17.05.2022 15:57
Ответ принят как подходящий

Это ошибка, которую вы можете игнорировать. Это было исправлено в версии для разработчиков, которую вы можете установить с помощью install.packages('terra', repos='https://rspatial.r-universe.dev'), но она еще не попала в CRAN.

Другие вопросы по теме