太阳高度角计算公式
要求:能在任意形式的日照图上读出特殊地方时(如12点、0点或24点、6点、18点)的分布。(2)图上计算:
(1)时区每差1个区,区时相差1小时,东早(多)西晚(少)注意:过日界线日期要先加减一天(2)公式计算:
(3)R为某日日期,R-6月22日为该日与6月22日相差的天数,(23°26′*4/365)为太阳直射点一日内移动的纬度距离。(假设其移动是匀速的)
(3)计算公式(与直射点相比):90度-某地H=直射点纬度与某地纬度的角度差的绝对值技巧:可以将北纬写成正数,而将南纬写成负数。(4)计算公式(与任意纬度相比):甲H-乙H=(甲纬度-乙纬度)的绝对值注意:北纬度写成正数,南纬度写成负数
太阳高度角公式推导图文过程
经度每相差15度地方时相差1小时(或1度/4分钟、经度1分/4秒钟),东早(加)西晚(减)注意:过日界线时日期还要再加(向西)减(向东)一天(3)公式计算:
(1)为了各地交往的方便,将全球经度划分为24个时区,各时区以其*经线的地方时作为全时区的共用区时。
(1)此公式只能大致计算一年当中某日太阳直射点的纬度位置;(2)计算结果若是正值,则为北纬;若为负值,则为南纬;
代码运行大概要求Python3.7+,因为代码中多处使用了f"{}",字符串中使用变量名,老版本需要将这些地方改掉。
正午太阳高度的计算方法
#第零步:将日期转化为日期序数,1,2,3,365;将时间转化为24小时制浮点数,如18:30转为18.5
#输入time:04:00,太阳未升起或已落下,不计算太阳高度角和方位角,日出时间:04:48,日落时间:19:36
另外增加了将日期转换为年积日、时间转化为浮点数,只需要输入年月日及时间,如2023/03/02、18:25就可以了:
"输入time:{time.hour:02}:{time.minute:02},太阳未升起或已落下,不计算太阳高度角和方位角,{string}
添加新评论