在使用ggOceanMaps绘制海底深度数据时,地图显示为上下颠倒
我正在尝试为我在阿拉斯加研究的区域绘制海底地形图。
当我使用推荐的 ggOceanMaps 代码时,地图会被绘制成上下颠倒的样子。
我的代码:
library(ggOceanMaps)
library(terra)
dt <- data.frame(lon = c(-172, -172, -164, -164), lat = c(57, 52, 52, 57))
basemap(data = dt, bathymetry = TRUE) +
geom_polygon(data = transform_coord(dt), aes(x = lon, y = lat),
# color = "red",
fill = NA)
解决方案
这之所以会发生,是因为 ggOceanMaps 数据的坐标参考系(CRS)是WGS 84 Arctic Polar Stereographic/EPSG:3995。这也是你需要对dt对象应用 transform_coord() 以使其与海底地形的CRS相匹配的原因。一个线索是经度网格线并非平行,而纬线网格线是弯曲的。
使用 rotate = TRUE 将绘图定向,使北方位于顶部。
library(ggOceanMaps)
dt <- data.frame(lon = c(-172, -172, -164, -164), lat = c(57, 52, 52, 57))
# Create ggplot() object
p <- basemap(data = dt, bathymetry = TRUE)
# Examine CRS of p
p$coordinates$crs$input
# [1] "EPSG:3995"
format(p$coordinates$crs)
# [1] "WGS 84 / Arctic Polar Stereographic"
# Use the rotate parameter to orientate your map so north at top
basemap(data = dt, bathymetry = TRUE, rotate = TRUE) +
geom_polygon(data = transform_coord(dt), aes(x = lon, y = lat),
fill = NA)
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。
