本文主要是介绍太阳天顶角、方位角、高度角计算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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)https://midcdmz.nrel.gov/solpos/spa.html
这篇关于太阳天顶角、方位角、高度角计算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!