R 分区统计

R 分区统计,r,polygon,raster,geography,r-raster,R,Polygon,Raster,Geography,R Raster,我使用R中的graster包,对包含多个多边形的shapefile光栅执行提取(200)。每个多边形都有一列,其中指定了多边形的类。 当我执行提取时,我会得到一个数据框,其中光栅的每个值都“指定”给一个多边形:哪个多边形是哪个像素所在的。但是,我的多边形包含的信息(即,它们是什么类)将不复存在。提取后的数据帧类似于: test <- extract(myRaster, myTrainingPolygon, df = TRUE) ID band1 band2 band

我使用
R
中的
graster
包,对包含多个
多边形的
shapefile
光栅执行
提取
(200)。每个多边形都有一列,其中指定了多边形的
。 当我执行
提取
时,我会得到一个
数据框
,其中光栅的每个值都“指定”给一个多边形:哪个多边形是哪个像素所在的。但是,我的多边形包含的信息(即,它们是什么类)将不复存在。
提取后的数据帧类似于:

test <- extract(myRaster, myTrainingPolygon, df = TRUE)

ID     band1     band2    band3
1      0.101     0.827    ...
...    ...       ...      ...
200    0.876     0.821    ...

我如何在那里获取信息?或者首先,在我执行摘录时不要丢失它们

?extract
表示
sp
参数控制是否应将提取的值添加到空间对象的数据帧。指定
sp=TRUE
应该可以做到这一点。例如:

library(maptools)
library(raster)
data(wrld_simpl)
r <- raster(extent(-180, 180, -90, 90), res=10)
r[] <- runif(ncell(r))
wrld_simpl_new <- extract(r, wrld_simpl, fun=mean, sp=TRUE)

head(wrld_simpl_new)

##     FIPS ISO2 ISO3 UN                NAME   AREA  POP2005 REGION SUBREGION     LON     LAT     layer
## ATG   AC   AG  ATG 28 Antigua and Barbuda     44    83039     19        29 -61.783  17.078 0.9142067
## DZA   AG   DZ  DZA 12             Algeria 238174 32854159      2        15   2.632  28.163 0.1774097
## AZE   AJ   AZ  AZE 31          Azerbaijan   8260  8352021    142       145  47.395  40.430 0.3098710
## ALB   AL   AL  ALB  8             Albania   2740  3153731    150        39  20.068  41.143 0.3746480
## ARM   AM   AM  ARM 51             Armenia   2820  3017661    142       145  44.563  40.534 0.3494729
## AGO   AO   AO  AGO 24              Angola 124670 16095214      2        17  17.544 -12.296 0.2873931
库(maptools)
图书馆(光栅)
数据(wrld_siml)

r
?extract
表示
sp
参数控制是否应将提取的值添加到空间对象的数据帧。指定
sp=TRUE
应该可以做到这一点。例如:

library(maptools)
library(raster)
data(wrld_simpl)
r <- raster(extent(-180, 180, -90, 90), res=10)
r[] <- runif(ncell(r))
wrld_simpl_new <- extract(r, wrld_simpl, fun=mean, sp=TRUE)

head(wrld_simpl_new)

##     FIPS ISO2 ISO3 UN                NAME   AREA  POP2005 REGION SUBREGION     LON     LAT     layer
## ATG   AC   AG  ATG 28 Antigua and Barbuda     44    83039     19        29 -61.783  17.078 0.9142067
## DZA   AG   DZ  DZA 12             Algeria 238174 32854159      2        15   2.632  28.163 0.1774097
## AZE   AJ   AZ  AZE 31          Azerbaijan   8260  8352021    142       145  47.395  40.430 0.3098710
## ALB   AL   AL  ALB  8             Albania   2740  3153731    150        39  20.068  41.143 0.3746480
## ARM   AM   AM  ARM 51             Armenia   2820  3017661    142       145  44.563  40.534 0.3494729
## AGO   AO   AO  AGO 24              Angola 124670 16095214      2        17  17.544 -12.296 0.2873931
库(maptools)
图书馆(光栅)
数据(wrld_siml)

r始终包括并使用示例数据

library(raster)
r <- raster(ncol=36, nrow=18)
r[] <- 1:ncell(r)
cds1 <- rbind(c(-180,-20), c(-160,5), c(-60, 0), c(-160,-60), c(-180,-20))
cds2 <- rbind(c(80,0), c(100,60), c(120,0), c(120,-55), c(80,0))
p <- spPolygons(cds1, cds2)
p <- SpatialPolygonsDataFrame(p, data.frame(class=c('A', 'B'), stringsAsFactors=FALSE))
合并两者

m <- merge(pd, d)

m始终包含并使用示例数据

library(raster)
r <- raster(ncol=36, nrow=18)
r[] <- 1:ncell(r)
cds1 <- rbind(c(-180,-20), c(-160,5), c(-60, 0), c(-160,-60), c(-180,-20))
cds2 <- rbind(c(80,0), c(100,60), c(120,0), c(120,-55), c(80,0))
p <- spPolygons(cds1, cds2)
p <- SpatialPolygonsDataFrame(p, data.frame(class=c('A', 'B'), stringsAsFactors=FALSE))
合并两者

m <- merge(pd, d)

m您能提供一个shapefile示例吗?您能提供一个shapefile示例吗?它要求将
fun
参数设置为某个值,例如
mean
。但是,我只想知道哪个像素位于哪个光栅中。假设您有100x100像素的光栅,并且有两个多边形。一个多边形有50个像素,另一个多边形有20个像素。我想写出哪个像素在哪个多边形中!。执行
mean
会将所有像素减少为一个值。这需要将
fun
参数设置为某个值,例如
mean
。但是,我只想知道哪个像素位于哪个光栅中。假设您有100x100像素的光栅,并且有两个多边形。一个多边形有50个像素,另一个多边形有20个像素。我想写出哪个像素在哪个多边形中!。执行
平均值
会将我的所有像素减少到一个值。
pd <- cbind(id=1:length(p), data.frame(p))
m <- merge(pd, d)