如何解决包围国家的坐标BOX
我想要一套“环绕”国家的盒子。
我从未处理过地理(空间)数据,所以我不知道从哪里开始。
我知道有一个 st_as_sfc
函数形式 sf
包可以从现有多边形生成一组多边形,但我不确定如何为该国家/地区获取多边形以及这是否是正确的方法。
所以应该有一组坐标为'6538128.30144595,4918255.70658098,6540571.54819537,4920698.9533303995'的框
国家是波斯尼亚
解决方法
有关为波黑绘制边界框的可重现示例,请考虑以下代码;它从 gadm.org 下载波斯尼亚 shapefile - 所以一定要检查他们的条款和条件(这是一个流行的存储库,他们的条款和条件并不繁琐,但是......)
代码将返回对象 box
,其格式为 sfc,可以被 {sf} 包理解。
您可能会发现自己需要盒子的坐标;您可以通过打印框对象的 sf::st_coordinates()
来获取它们。有 5 个点,这是可以的,因为第一个和最后一个点是相同的(类似矩形的正方形是封闭的 = 它的起点和终点都在同一点/所有四个边都必须由两个点定义)。>
library(dplyr)
library(sf)
# GADM.org data for Bosna i Hercegovina
bosnia <- readRDS(url("https://biogeo.ucdavis.edu/data/gadm3.6/Rsf/gadm36_BIH_0_sf.rds"))
# get the bounding box
box <- st_bbox(bosnia) %>%
st_as_sfc() # makes the box a polygon - much easier to plot
# a visual check
plot(st_geometry(bosnia),col = "blue")
plot(box,border = "red",add = T)
# print coordinates
st_coordinates(box)
X Y L1 L2
[1,] 15.72739 42.56531 1 1
[2,] 19.61471 42.56531 1 1
[3,] 19.61471 45.27468 1 1
[4,] 15.72739 45.27468 1 1
[5,] 15.72739 42.56531 1 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。