我正在尝试将白天/夜间线添加到世界地图ggplot
中,以指示白天和黑夜区域;像这样的东西:
计划是在 24 小时周期内为我的地图制作动画,如下所示:
上面的动画是使用正弦波实现的,我知道这是完全不准确的。我知道这geosphere::gcIntermediate
可以让我画出大圆线,如下所示:
library(ggplot2)
library(ggthemes)
library(geosphere)
sunPath1 <- data.frame(gcIntermediate(c(-179, -30), c(0, 30), n=100))
sunPath2 <- data.frame(gcIntermediate(c(0, 30), c(179, -30), n=100))
sunPath <- rbind(sunPath1, sunPath2)
ggplot(sunPath) +
borders("world", colour = "gray95", fill = "gray90") +
geom_ribbon(aes(lon, ymax = lat), ymin=-180, fill="black", alpha=0.2) +
theme_map()
虽然我不确定是否可以在一年中的不同时间点绘制所需的线条,例如在 3 月,它看起来像这样:
我没有找到解决方案,但我猜我不知道要搜索的关键字,因为这超出了我的知识范围。我认为答案可能在日出方程的某个地方,但我不知道如何应用这些来找到解决方案,也不知道如何在一年中改变这些参数。这个网站(用于上面的情节)似乎也很有用,但我还不确定如何!