我需要获取数据集的确切季节(秋季,冬季,春季和夏季)使用"POSIXct" "POSIXt"
日期时间列。
重要的是要考虑depends on equinoxes and solstices on Earth的季节及其发生的确切时间随年份以及纬度和经度位置的变化。因此,这不像为所有这些年的春分和至日定义相同的日期和时间那样简单。
这是一张表格,显示了多年来的变化:http://www.astropixels.com/ephemeris/soleq2001.html。
某些R包中是否有内置函数可以实现这一目标?
下面是一个起点:
# Load packages
library(lubridate)
library(dplyr)
# Create dummy df with datetime col
df <- data.frame(datetimes = seq(as.POSIXct("2016-01-01 00:00:00", tz = "UTC"),
as.POSIXct("2019-12-31 23:59:59", tz="UTC"),
by = "hour"))
# Calculate season in a fix position given by lon, lat pairs
df2 <-
df %>%
mutate(season = datetimeToExactSeason(datetimes))