You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中删除跨国际日期变更线多边形多余连线(以rnaturalearth俄罗斯数据为例)

解决方案

核心思路是先对原始WGS84地理坐标的全球国家数据做跨日期变更线的坐标偏移处理,再裁剪为目标投影的研究范围对应的区域,即可消除多余连线。

具体操作步骤

  • 第一步:提取原始WGS84坐标系下的国家数据,将经度大于180°的部分做偏移调整,避免多边形在180°经线处被“切断”后投影出现错误连线。
  • 第二步:将调整后的地理坐标数据转换为目标投影(EPSG:3338 阿拉斯加阿尔伯斯投影)。
  • 第三步:按设定的坐标范围裁剪数据后绘图即可。

可运行的修改后代码

library(tidyverse)
library(rnaturalearth)
library(sf)

# 导入全球国家数据
world <- ne_countries(scale = "medium", returnclass = "sf") 

# 处理跨国际日期变更线的多边形:调整经度坐标
world_shift <- st_shift_longitude(world)

# 设定目标投影与范围
target_crs <- 3338
xmin <- -2255938
xmax <- 1646517
ymin <- 449981
ymax <- 2676986

# 转换为目标投影
world_proj <- st_transform(world_shift, crs = target_crs)

# 按范围裁剪数据
world_crop <- st_crop(world_proj, xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax)

# 绘图
ggplot()+
  geom_sf(data = world_crop, color = "black", size = 1)+
  coord_sf(crs = target_crs, xlim = c(xmin, xmax), ylim = c(ymin, ymax))+
  theme_bw()

注意事项

  • 如果你处理的是其他自定义空间数据,也可以先通过st_shift_longitude()做经度偏移,再做投影转换,绝大多数跨180°经线的多边形连线问题都可以通过该方法解决。
  • 裁剪操作建议在投影转换完成后执行,避免地理坐标裁剪时出现范围匹配错误。

内容的提问来源于stack exchange,提问作者Matt Callahan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:45:04