我試圖使用自然地球地圖資料作為 sf 物件來裁剪以太平洋為中心的世界地圖。該地圖是根據
我想裁剪到一個涵蓋印度洋和太平洋的感興趣區域(就像從“地圖”world2 投影中截取的這個螢屏截圖):

為了裁剪,我嘗試了以下操作:
world4 <- st_crop(world3, c(xmin= 30, ymin = -40, xmax = 230, ymax = 40))
然而,上面的代碼以瘋狂的小緯度/經度增量產生不正確的裁剪:
ggplot(data = world3, aes(group = admin))
geom_sf(fill = "grey")

如果有人能幫助我弄清楚如何使用緯度和經度進行裁剪來定義這張以太平洋為中心的地圖的區域,那將是非常昂貴的。我知道還有其他方法可以獲得以太平洋為中心的地圖,但該專案的未來計劃分析要求它是自然地球地圖。
uj5u.com熱心網友回復:
您的代碼的問題在于您需要使用與world3物件相同的 CRS 為裁剪過濾器定義 bbox 。例如:
world4 <- st_crop(
x = world3,
y = st_as_sfc(
st_bbox(c(xmin= 30, ymin = -40, xmax = 230, ymax = 40), crs = 4326)
) %>% st_transform(target_crs)
)
#> Warning: attribute variables are assumed to be spatially constant throughout all
#> geometries
ggplot(data = world4, aes(group = admin))
geom_sf(fill = "grey")

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/358882.html
下一篇:將標題添加到ggplot的頂部
