Добавить частичную прозрачность в растр GeoTiff - PullRequest
0 голосов
/ 05 августа 2020

У меня есть файл GeoTiff, который я загружаю с помощью raster::brick. У меня также есть файл формы, который представляет границы города. Я хочу отобразить область растра, которая находится в этих границах, с прозрачностью 0% и за пределами границ с прозрачностью 40%. Если бы проблемой было только построение графика, я могу добиться этого, просто наложив исходный растр, нанесенный на alpha = 0.4, на его замаскированную версию, где видна только область внутри границ:

library(raster)
library(tmap)

maskedRaster <- mask(originalRaster, borderShape)

tm_shape(originalRaster) + 
  tm_rgb(alpha = 0.4) +  
  tm_shape(maskedRaster) + 
  tm_rgb() 

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

Исходный растр:

enter image description here

Masked raster:

enter image description here

Overlayed (this is the preferred result without the borders):

введите описание изображения здесь

...