如何在不拆分的情况下制作R中的俄罗斯地图?分裂的发生是因为本初子午线



我正在尝试制作一张俄罗斯地图。我已经尝试了几个技巧,但对我来说什么都不起作用

起初,我只是想使用spplot:

library(rgdal)
gadm= getData('GADM', country = 'RUS', level = 1)
gadm$regions = as.factor(1:83)
spplot(gadm, "regions")

然后我意识到由于本初子午线的原因存在问题,所以我尝试了这个:

gadm_new <- spTransform(gadm, CRS("+proj=longlat +lon_wrap=105"))
spplot(gadm_new, "regions")

结果是相同的

我的最后一次尝试也失败了

proj4.str <- CRS("+init=epsg:3413 +lon_0=105")
gadm.prj <- spTransform(gadm, proj4.str)
spplot(gadm.prj, "regions")

我不知怎么把它翻了个底朝天

我迫切需要帮助!

我已经明白了:

library(rgdal)
library(RColorBrewer)
library(raster)
gadm=getData('GADM', country = 'RUS', level = 1)
chukotka=gadm@polygons[[12]]
for (i in 1:length(chukotka@Polygons)) {
polygon_long <- chukotka@Polygons[[i]]@coords[, 1]
if (mean(polygon_long) < 0) {
polygon_long <- 360 + polygon_long
}
chukotka@Polygons[[i]]@coords[, 1] <- polygon_long
}
gadm@polygons[[12]]=chukotka
gadm$regions = as.factor(1:83)
my.palette=brewer.pal(n = 9, name = "OrRd")
spplot(gadm, "regions", xlim=c(15,190), ylim=c(40,83), col.regions = my.palette, cuts = 4, col = "transparent")

最新更新