获取数据框列中坐标的边界框
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
方法就可以了。
我有一个包含两列类型 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
方法就可以了。