获取数据框列中坐标的边界框

Get bounding box for coordinates in columns of dataframe

我有一个包含两列类型 numeric 的数据框。

foo <- data.frame(replicate(2,sample(10.1:15.2,100,rep=TRUE)))

    X1 X2
1 13.1 15.1
2 13.1 11.1
3 13.1 15.1
4 10.1 13.1
5 15.1 11.1
6 13.1 11.1
...

这些数字代表4326中的坐标。 X1是纬度,X2是经度。我如何获得所有这些坐标的边界框?

转换为 sf 并使用 st_bbox:

library(sf)

foo %>% 
  st_as_sf(coords = c("X2","X1"), crs = 4326) %>% 
  st_bbox()

# xmin ymin xmax ymax 
# 10.1 10.1 15.1 15.1 

如果您想在包中使用 light-weight 选项,使用 sfheaders 会更简洁。

sfheaders::sf_bbox(foo, x = "X2", y = "X1")

# xmin ymin xmax ymax 
# 10.1 10.1 15.1 15.1 
# attr(,"class")
# [1] "bbox"

但是,如果您无论如何都在工作流程中使用 sf,那么纯粹的 sf 方法就可以了。