我从https://gadm.org/download_country_v3.html以R(sf)格式下载了0级美国地图(国家边界)。我绘制了美国边界(等级0),如下所示:
library(tidyverse)
us0 <- readRDS("<file.path>\\gadm36_USA_0_sf.rds")
ggplot() +
geom_sf(data = us0, size = 1, color = "steelblue", fill = NA)
我想移走偏远的岛屿A和B,并将阿拉斯加从C移到C'。
我尝试但未从us0
中提取经度和纬度数据。我在线搜索,但没有找到有关如何在R中执行此操作的充分答案。我想知道如何使用R可以从us0
中提取经度和纬度数据,以便我可以自由删除A和B并删除C。谢谢您。
使用raster
包和geom()
函数,您可以从RDS对象中提取原始坐标,以及该坐标属于哪个岛/状态,以及它是实体还是孔。您的情况:
geom(us0)
然后,只需找出哪些顶点属于哪些岛。删除B的快速方法是删除所有带有正x坐标的东西。如果要移动和缩放它,则需要找出与Alaska对应的对象。夏威夷的顶部比佛罗里达群岛的底部低(i.i.r.c),因此您也可以摆脱所有纬度小于23的东西。
而且,我怀疑许多夏威夷人会反对将夏威夷称为离岛。...