小编mar*_*usl的帖子

我可以在R(sf包)上为不同类别(最小凸多边形)创建一系列多边形吗

我正在 R 中处理空间信息(sf),并且我有一个物种列表及其各自的出现点。

我想使用st_convex_hull函数获得每个物种的多边形。我已设法为所有点创建一个多边形,但无法按物种变量对它们进行分组。

这是我到目前为止所拥有的脚本:

#Library
library(sf)
library(tidiverse)
library(mapview)

#create data frame
lat <- c(15.53033,15.53033,15.5219,15.1739,19.08333,17.13333,18.09861,21.27667,25.54863,18.80907,25.54147,
        20.0605,23.299,25.5501,25.55005,25.54997)
lon <- c(-92.802,-92.802,-92.7997,-92.3361,-96.9667,-91.9333,-94.4297,-99.2117,-100.271,-99.2168,-100.272,-97.4713,
         -106.443,-100.27,-100.27,-100.27)
species <- c("Sp1", "Sp1","Sp1", "Sp1","Sp1", "Sp1","Sp1", "Sp2","Sp2","Sp2","Sp2","Sp2","Sp2","Sp2","Sp2","Sp2")
df <- data.frame(lat, lon, species)

#create spatial matrix
df.1<- df %>%
sf::st_as_sf(coords = c("lon", "lat"),crs="EPSG: 4326")
mapview::mapview(df.1) #View map
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

#create polygon for the points
sp1_mcp <- st_convex_hull(st_union(df.1))
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切进展顺利,但我希望它根据数据框的“物种”值生成不同的多边形。真正的问题是我的数据库包含 200 个物种,这就是我想要自动化该过程的原因。

最后,我还希望能够将 shapefile (.shp) 保存为文件。

r polygon geospatial r-sf

2
推荐指数
1
解决办法
94
查看次数

标签 统计

geospatial ×1

polygon ×1

r ×1

r-sf ×1