我有一个多边形:
p1 <- rbind(c(-180,-20), c(-140,55), c(10, 0), c(-140,-60), c(-180,-20))
hole <- rbind(c(-150,-20), c(-100,-10), c(-110,20), c(-150,-20))
p1 <- list(p1, hole)我创建了一个simple feature多边形对象:
library(sf)
poly_sfc <- st_sfc(st_polygon(p1))现在向其中添加一个简单的数据帧:
data <- data.frame(name = "Los Angeles", language = "English", weather ="sunny")
df <- st_sf(data, geometry = poly_sfc)我可以看到它已经将数据添加到了整个sfc中。
Simple feature collection with 1 feature and 3 fields
geometry type: POLYGON
dimension: XY
bbox: xmin: -180 ymin: -60 xmax: 10 ymax: 55
epsg (SRID): NA
proj4string: NA
name language weather geometry
1 Los Angeles English sunny POLYGON ((-180 -20, -140 55...现在我想要栅格化这个,我可以使用:
library(star)
r <- st_rasterize(df, options = "ALL_TOUCHED=TRUE")但是,当我查看栅格r时,来自df的数据已被删除。
stars object with 2 dimensions and 1 attribute
attribute(s):
ID
Min. :1
1st Qu.:1
Median :1
Mean :1
3rd Qu.:1
Max. :1
NA's :34597
dimension(s):
from to offset delta refsys point values
x 1 328 -180 0.580682 NA NA NULL [x]
y 1 199 55 -0.580682 NA NA NULL [y]如何确保将df中的数据传递到光栅中?有没有办法通过st_rasterize做到这一点?
发布于 2020-02-17 19:02:03
所以你可以从df made开始。因此,要制作栅格:
library(raster)
r <- raster(ncol = 180, nrow = 180) # create a base of the raster
extent(r) <- extent(df) # extent the raster to your df
rp <- rasterize(df, r)这就是结果

https://stackoverflow.com/questions/60260456
复制相似问题