Sunrise

Sunrise[]

给出当前日期和地点下一次日出的时间.

Sunrise[datespec]

给出指定日期下一次日出的时间.

Sunrise[locationspec]

给出指定地点下一次日出的时间.

Sunrise[locationspec,datespec]

给出指定日期和地点下一次日出的时间.

Sunrise[{{location1,date1},{location2,date2},}]

给出所有指定地点在指定日期下一次日出的时间.

Sunrise[locationspec,datespec,func]

对于某个区域,用 func 来确定返回的结果.

更多信息和选项

  • 日出被定义为太阳圆盘的上缘在上升时视觉上与地平线接触的瞬间.
  • 观测位置可以是太阳系中物体表面的任何一点,定义当地的地平线.
  • 位置可以指定为 Entity 对象,假设它们表示具有地理坐标的对象,或者可以是纬度/经度对,假设以度数为单位.
  • Sunrise[] 利用 $GeoLocation$TimeZone 来确定你所在的位置和时区.
  • datespec 可以是 DateObject 表达式、TimeObject 表达式、日期字符串或 {y,m,d,h,m,s} 日期列表.
  • datespec 假定在 $TimeZone 中,除非其为具有明确 TimeZone 选项值的 DateObjectTimeObject 表达式.
  • locationspecdatespec 可以是单个形式,也可以是以列表形式出现.
  • 如果 datespec 是一系列日期,则结果将包含 EventSeries 对象.
  • datespec 可以被指定为 {start,end,increment},以便和 DateRange 的格式相兼容.
  • 当给定地点是一片区域时,用 Sunrise[,func] 来指定输出格式.
  • func 的可能设置包括:
  • Automatic仅返回区域数据的变化区间
    Interval返回所有指定地点数据的变化区间
    Mean返回区域数据的平均值
    Min返回区域数据的最小值
    Max返回区域数据的最大值
    StandardDeviation返回区域数据的标准差
  • 假定你的计算机时区由 $TimeZone 设定,Sunrise[TimeZone->z] 给出在时区 z 的下一次日出的日期和时间.
  • Sunrise[TimeDirection->-1] 给出上一次日出的日期.
  • Sunrise 可接受以下选项:
  • ReferenceAltitude Automatic定义升起/落下时刻的高度值
    TimeDirection 1是返回下一次还是上一次 Sunrise
    TimeZone $TimeZone用于确定日期的时区
  • TimeDirection 的可能设置包括:
  • 1返回指定日期之后下一次日出
    -1返回指定日期之前上一次日出
  • ReferenceAltitude 选项可取的值包括:
  • Automatic太阳的上边缘穿过零高度
    alt太阳的中心穿过数值高度 alt
    {alt,limb}太阳的指定边缘穿过数值高度 alt
  • 可用 Quantity 角或角的数值表达式(单位为度)给出参考高度角 alt. 这些是常用的参考高度值:
  • "Civil"太阳中心高度为 -6 度
    "Nautical"太阳中心高度为 -12 度
    "Astronomical"太阳中心高度为 -18 度
  • 太阳边缘可取的值包括:
  • "UpperLimb"太阳的上边缘
    "Center"太阳的中心点
    "LowerLimb"太阳的下边缘
    limb1(下边缘 )和 1(上边缘 )之间的数值
  • 计算基于无法准确预测的大气折射模型. 这与局部地形偏差相结合可导致与实际观察时间相差数分钟以上的错误.

范例

打开所有单元关闭所有单元

基本范例  (6)

计算你当前所在位置下一次日出的时间:

计算指定日期之后下一次日出的时间:

计算指定地点下一次日出的时间:

计算指定经纬度在指定日期下一次日出的时间:

计算指定城市在指定日期下一次日出的时间:

生成下一次日出的时间:

范围  (13)

日期  (4)

可以用 DateObject 指定日期:

用日期字符串指定日期:

日期可指定为一个 TimeObject

生成指定日期范围内下一次日出的时间:

地点  (7)

位置可以是经纬度:

位置可以包含高程信息:

城市被认为是单个的特定位置:

默认情况下,对于区域,返回的是该区域数据的变化区间:

可以更改区域数据结果的格式:

地点也可以在地球之外:

生成多个地点下一次日出的时间:

时区  (2)

用 GMT 时区表示你所在地理位置的下一个日出:

求指定地点在指定日期下一次日出的时间,其中时间为格林威治标准时间:

选项  (4)

ReferenceAltitude  (2)

默认情况下,Sunrise 给出太阳上边缘高度为零的时刻:

因此,太阳的实际中心位于地平线以下:

使用特定的高度值和部分选择:

查找下一个日出时刻,默认使用地平线和太阳的上边缘:

使用相同的零视高度地平线,但现在以太阳的中心为参考点:

求民用、航海和天文曙光的开始时刻,所有这些都由太阳中心定义:

TimeZone  (1)

求英国格林威治下一次日出的时间:

TimeDirection  (1)

给出你所处地点上一次日出的时间:

应用  (2)

给出南美各国首都下一次日出的时间:

如果你以恒定的速度,从日出开始,向着太阳的方向步行,到日落时你所到达的位置:

以10分钟为增量,迭代计算以获取新的路径和目的地:

显示计算所得的路径:

求起点和终点之间的距离:

属性和关系  (3)

默认情况下,位置由 $GeoLocation 指定,日期由当前日期指定:

当给定的是一定范围内的日期时,返回结果形式为 EventSeries

计算下一次日出,定义为太阳视盘的上边缘接触地平线时:

求当时太阳中心的位置:

太阳的高度对应于它的角半径:

消除大气折射效应,日出时太阳的真实位置在地平线以下更远的地方:

可能存在的问题  (3)

由于一年内 $TimeZone 的值可能会发生变化,指定日期的结果可能会不同,取决于你进行计算的时间:

如果想纠正上述现象,可使用 TimeZone 选项来确保得到同样的结果:

设置为 Sunrise[locationspec,Interval] 时,指定地点的结果被强制以数值区间形式给出:

Sunrise 返回考虑大气折射效应的值:

这些效应在地平线附近特别大,但在地平线以下几度处效应会消失:

使用 "TrueAltitude" 方法禁用大气折射,并与之前的结果进行比较:

巧妙范例  (4)

绘制你所处的位置,在二分二至日,太阳从日出到日落的轨迹图:

生成意大利地图,并用日出作为光照:

生成欧洲各国首都日出时间表,只显示前五个和后五个城市:

绘制某指定年份全年白天的长度:

Wolfram Research (2014),Sunrise,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Sunrise.html (更新于 2024 年).

文本

Wolfram Research (2014),Sunrise,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Sunrise.html (更新于 2024 年).

CMS

Wolfram 语言. 2014. "Sunrise." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/Sunrise.html.

APA

Wolfram 语言. (2014). Sunrise. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Sunrise.html 年

BibTeX

@misc{reference.wolfram_2024_sunrise, author="Wolfram Research", title="{Sunrise}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/Sunrise.html}", note=[Accessed: 24-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_sunrise, organization={Wolfram Research}, title={Sunrise}, year={2024}, url={https://reference.wolfram.com/language/ref/Sunrise.html}, note=[Accessed: 24-November-2024 ]}