gpt4 book ai didi

r - 正确使用 nowrapRecenter()

转载 作者:行者123 更新时间:2023-12-02 04:51:30 29 4
gpt4 key购买 nike

我正在使用 R 3.1.2,尝试使用世界地图创建等值线。奇怪的是,因为我的观众在亚洲,所以我需要重新定位 map 。从文档来看,nowrapRecenter() 似乎非常适合此操作,但我发现它似乎并不像宣传的那样有效。例如,在没有任何重新居中的情况下开始:

library(maps)
library(maptools)
library(rgdal)
data(wrld_simpl)
plot(wrld_simpl)

现在尝试在 148E 经度重新居中,以便将亚洲移动到更靠近 map 中心的位置,同时在左/右边缘分割尽可能少的陆地 block :

library(maps)
library(maptools)
library(rgdal)
data(wrld_simpl)
world <- nowrapRecenter(wrld_simpl,offset=148,avoidGEOS=TRUE)
plot(world)

你得到的有点乱。不仅 map 以 180E 经度为中心,而且整个 map 上都有划痕,其中 nowrapRecenter() 应该被分割并在左/右重新闭合的多边形正在延伸到 map 的整个宽度。事实上,对于任何选定的偏移量,重新居中似乎都无法正常工作。

出现了类似的问题before ,最后的评论提供了一个使用 nowrapRecenter() 的示例,但它似乎不再有效。使世界地图重新居中(使用 SpatialPolygons)并正确划分左/右边缘的多边形的最佳方法是什么?

谢谢!

最佳答案

这只是部分答案,所以如果不够充分请告诉我,我会删除它。

问题似乎是转换墨卡托投影在两极附近失败。如果您愿意排除格陵兰岛和南极洲,这行得通。

library(maptools)
data(wrld_simpl)
wrld <- wrld_simpl[!(wrld_simpl$NAME %in% c("Greenland","Antarctica")),]
library(ggplot2)
ggplot(wrld,aes(x=long,y=lat,group=group))+
geom_polygon(fill="white",color="grey30")+
coord_map(orientation=c(90,0,148))+
scale_x_continuous(breaks=c(0,60,120,180,-120,-60))+
theme_bw()

即使有这个限制,nowrapRecenter(...) 还是失败了。

关于r - 正确使用 nowrapRecenter(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27656132/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com