太阳天顶角、方位角、高度角计算

1.利用python中库ephem实现计算

import ephem
import datetime          as     datetime
import math
def calculate_solar_zenith_angle(latitude, longitude, elevation, date_time):
    # 创建观测者对象
    observer = ephem.Observer()
    observer.lat = str(latitude)
    observer.lon = str(longitude)
    observer.elev = elevation

    # 设置观测时间
    observer.date = date_time

    # 创建太阳对象
    sun = ephem.Sun()

    # 计算太阳天顶角
    sun.compute(observer)
    solar_alt_angle = math.degrees(sun.alt)  #高度角
    solar_azimuth = math.degrees(sun.az)#方位角
    solar_zenith_angle=90-solar_alt_angle #天顶角
    return  solar_zenith_angle,solar_azimuth,solar_alt_angle


latitude =36.729  # 纬度
longitude =101.752   # 经度
elevation = 2262     # 观测者的海拔高度(单位:米)

# 设置日期和时间
date_time = datetime.datetime(2021, 7, 18,0, 0, 0)  #世界时

# 计算太阳天顶角
solar_angle = calculate_solar_zenith_angle(latitude, longitude, elevation, date_time)
print(f"天顶角: {solar_angle[0]:.2f} degrees",f"方位角: {solar_angle[1]:.2f} degrees",f"高度角: {solar_angle[2]:.2f} degrees")


2.SPA计算器计算(转载)

SPA Calculator (nrel.gov)icon-default.png?t=N7T8https://midcdmz.nrel.gov/solpos/spa.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值