首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用st_rasterize时捕获数据帧内的数据?

如何在使用st_rasterize时捕获数据帧内的数据?
EN

Stack Overflow用户
提问于 2020-02-17 18:28:25
回答 1查看 166关注 0票数 0

我有一个多边形:

代码语言:javascript
复制
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多边形对象:

代码语言:javascript
复制
library(sf)
poly_sfc <- st_sfc(st_polygon(p1))

现在向其中添加一个简单的数据帧:

代码语言:javascript
复制
data <- data.frame(name = "Los Angeles", language = "English", weather ="sunny")
df <- st_sf(data, geometry = poly_sfc)

我可以看到它已经将数据添加到了整个sfc中。

代码语言:javascript
复制
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...

现在我想要栅格化这个,我可以使用:

代码语言:javascript
复制
library(star)
r <- st_rasterize(df, options = "ALL_TOUCHED=TRUE")

但是,当我查看栅格r时,来自df的数据已被删除。

代码语言:javascript
复制
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做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2020-02-17 19:02:03

所以你可以从df made开始。因此,要制作栅格:

代码语言:javascript
复制
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)

这就是结果

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60260456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档