首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓冲区内湿地类型面积的计算

缓冲区内湿地类型面积的计算
EN

Stack Overflow用户
提问于 2022-07-28 18:35:17
回答 1查看 33关注 0票数 0

我对R相当陌生,当我试图计算缓冲区内每种湿地类型的面积时,我都会遇到错误。当我试图按湿地类型对数据进行分组并总结该区域时,我会收到错误的UseMethod () no applicable method for 'group_by' applied to an object of class c(SpatialPolygonsDataFrame).,如何解决这个问题?

代码语言:javascript
复制
library(tidyverse)
library(rgeos)
library(tidyr)
library(sf)

Neosho_wetlands<- readOGR("HU8_11070205_watershed", layer="HU8_11070205_Wetlands")
Spring_wetlands<- readOGR("HU8_11070207_watershed", layer="HU8_11070207_Wetlands")
North_wetlands<- readOGR("HU8_10290104_watershed", layer="HU8_10290104_Wetlands")
South_wetlands<- readOGR("HU8_11070206_watershed", layer="HU8_11070206_Wetlands")

wetlands<-rbind(Neosho_wetlands, Spring_wetlands, North_wetlands, South_wetlands)
rm("Neosho_wetlands", "Spring_wetlands","North_wetlands","South_wetlands")
plot(wetlands)

points<-read.csv("SiteCov.csv")
coordinates(points)<-points[c("long", "lat")]
proj4string(points)<-CRS("+proj=longlat")
points_sp<-spTransform(points, crs(wetlands))

buffer2<-buffer(points_sp[1:32,], 2000)
crop2<-crop(wetlands, buffer2)
plot(crop2)
as.data.frame(crop2)

crop2 %>% group_by(WETLAND_TY) %>%
  summarize(sum("Freshwater Emergent Wetland",
                "Freshwater Forested/Shrub Wetland",
                "Freshwater Pond",
                "Lake",
                "Riverine"))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-28 20:15:06

当前运行as.data.frame(crop2),但不将其分配给对象。因此,当您将crop2传递给group_by()时,它仍然是一个SpatialPolygonsDataFrame,并且它没有很好地处理它。您应该能够简单地将as.data.frame(crop2)更改为crop2 <- as.data.frame(crop2)并保持良好状态。否则,您可以按照乔纳森在注释中所指出的那样使用st_read()

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

https://stackoverflow.com/questions/73157668

复制
相关文章

相似问题

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