SunPosition

SunPosition[]

给出对应当前日期和地理位置的太阳位置.

SunPosition[datespec]

给出指定日期的太阳位置.

SunPosition[locationspec]

给出指定地理位置的太阳位置.

SunPosition[locationspec,datespec]

给出指定日期和地理位置的太阳位置.

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

给出在指定日期所有指定地理位置的太阳位置.

SunPosition[locationspec,datespec,func]

使用 func 决定对扩展的地理位置应该返回的内容.

更多信息和选项

  • SunPosition 返回在地球上任何位置任何日期观察到的太阳在天体上的坐标.
  • 结果的默认格式为 {azimuth,altitude}.
  • 观测位置可以是太阳系中物体表面的任何一点,定义当地的地平线.
  • 位置可以指定为 Entity 对象,假设它们表示具有地理坐标的对象,或者可以是纬度/经度对,假设以度数为单位.
  • SunPosition[] 利用 $GeoLocation$TimeZone 决定你所在的地理位置和时区.
  • datespec 可以是 DateObject 表达式、TimeObject 表达式、日期字符串或 {y,m,d,h,m,s} 日期列表.
  • datespec 假定在 $TimeZone 中,除非其为具有明确 TimeZone 选项值的 DateObjectTimeObject 表达式.
  • locationspecdatespec 可以为单独的项或它们的列表.
  • 如果 datespec 是一个日期的列表,那么结果将会包含 TimeSeries 对象.
  • 针对与 DateRange 规范的兼容性,datespec 可以被指定为 {start,end,increment} .
  • 当地理位置被指定时,SunPosition[,func] 被用来指定输出格式.
  • func 的可能设置包括:
  • Automatic只对扩展的地理位置返回间隔
    Interval对所有指定地理位置返回间隔
    Mean对扩展的地理位置返回平均值
    Min对扩展的地理位置返回最小值
    Max对扩展的地理位置返回最大值
    StandardDeviation对扩展的地理位置返回标准差
  • SunPosition[CelestialSystem->"Equatorial"] 给出太阳的赤经和赤纬.
  • SunPosition 可以接受以下选项:
  • AltitudeMethod "ApparentAltitude"是否在计算高度角时考虑大气折射的因素
    CelestialSystem "Horizon"是返回高度角/方位角,还是返回赤经/赤纬
  • CelestialSystem 的可能设置包括:
  • "Horizon"将结果作为方位角/高度 (az/alt) 值返回
    "Equatorial"以一对赤经/赤纬 (/) 值的形式返回结果
  • AltitudeMethod 的可能设置包括:
  • "ApparentAltitude"高度角计算考虑大气折射的因素
    "TrueAltitude"高度角计算假设没有大气折射

范例

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

基本范例  (5)

计算你所在地理位置的当前太阳位置:

计算你所在地理位置的当前太阳位置:

计算指定地理位置的当前太阳位置:

计算指定纬度/经度和日期的太阳位置:

计算指定城市和日期的太阳位置:

范围  (9)

Dates  (3)

日期可以被指定为 DateObject

日期可以被指定为日期字符串:

为日期范围生成太阳位置:

Locations  (6)

地理位置可以是纬度/经度对:

城市被视为单个、具体的地理位置:

扩展地理位置的结果默认为间隔:

扩展地理位置的结果形式可被重写:

地点也可以在地球之外:

找到多个地理位置的太阳位置:

选项  (2)

CelestialSystem  (1)

找到你所在地理位置的太阳的赤经和赤纬:

AltitudeMethod  (1)

有模拟大气折射的 AltitudeMethod 默认设置:

当计算太阳高度角时允许没有大气折射:

应用  (2)

通过找出太阳在正午的赤经与在正午的恒星时的差别,绘制均时差:

若你以恒速从日出到日落向着太阳方向步行,决定你最后的地理位置:

以10分钟的增量迭代方位,得到一条新的路线和目的地:

可视化结果路径:

求起点到终点的距离:

属性和关系  (11)

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

当指定一个日期范围时,结果以 TimeSeries 的形式呈现:

对每一个日期规范,结果为多值,因此用 DateListPlot 绘制结果将得到两条曲线,一条对应方位角,另一条对应高度角:

求在此位置和日期的太阳位置:

这也可以用 AstroPosition 计算:

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

求当时太阳中心的位置:

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

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

生成太阳的日行迹:

绘制你所在位置的从日出到日落的太阳位置(对至点和昼夜平分点):

生成一幅照明为日出时的意大利地图:

绘制一个月内太阳和月球之间的角距离:

在天球上绘制太阳和月球的位置:

考察太阳位置如何随纬度和经度的变化而变化:

可能存在的问题  (2)

如果用 SunPosition[locationspec,Interval],具体地理位置的结果被强制转成区间:

尝试使用 "Minute" 粒度或更大粒度绘制 SunPosition 的结果可能会导致伪像:

此类问题的一种解决方法是强制输入日期,使其具有 "Instant" 粒度:

巧妙范例  (1)

选择位置和日期:

这是该位置当时的恒星时:

获取太阳、月球和行星的赤经:

构建文本标签:

绘制在南极相对于固定恒星的太阳、月球和行星的方向:

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

文本

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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