Я заранее извиняюсь за очень базовую природу этого вопроса, но меня смущает то, как функция mask () работает в растровом пакете в R.
Чтение документации для функции, которая звучитаналогичные ячейки в растре x устанавливаются в NA (по умолчанию), если эти ячейки соответствуют значению маски в объекте маски (значением маски по умолчанию является NA).Однако описание функции mask () в книге Геокомпьютеры с R автором Lovelace et al.(https://geocompr.robinlovelace.net/spatial-operations.html#spatial-ras) (раздел 4.3.1) звучит так, как если бы ячейки в растре x были KEPT, если они соответствуют значению маски в объекте маски, и установлены в NA, если они этого не делают. Они приводят этот пример:
mask(elev, rmask, maskvalue = TRUE)
"we only want to keep those values of elev which are TRUE in rmask"
Отсюда мое замешательство. Буду признателен, если кто-нибудь сможет уточнить, какая интерпретация правильная.
Причина, по которой я хотел бы знать, заключается в том, что я хотел бы замаскировать растр, содержащийДанные MODIS о процентном покрытии дерева с растром из того же продукта MODIS, который содержит коды качества данных. Я хотел бы сохранить только те значения в растре "древесный покров", которые имеют качественные коды качества в растре "качество"Разъяснение того, как работает функция mask (), поможет мне определить, нужно ли мне использовать код [1] или код [2] для достижения того, чего я хочу:
[1]
good <- c(0,1,2,3,4,5...etc.) # The codes in the quality raster that represent good quality data
tree_cover_masked <- mask(tree_cover, quality, maskvalue = good, inverse = TRUE)
# i.e. set cells in tree_cover to NA if they match any value OTHER THAN the "good" values in the quality raster.
# This is the code I would use based on my interpretation of the function documentation.
[2]
tree_cover_masked <- mask(tree_cover, quality, maskvalue = good)
# i.e. keep values in tree_cover that match "good" values in the quality raster, and set all others to NA
# This is the code I would use based on my interpretation of Lovelace et al.
Еще раз прошу прощения, если этот вопрос очень упрощенный, но я был бы признателен за вашу помощь!