先转过来,后面再看

在开展野外试验的时候,经常需要知道当时的太阳天顶角和方位角,比如测量地物反射率时,需要知道太阳天顶角,来选择恰当的灰板反射率曲线。进行地物BRDF测量时,更需要知道太阳天顶角。
太阳天顶角和方位角可以通过经纬仪实地测量得到,但是经纬仪携带不便。只要知道当地经纬度和时间,就可以根据下文的原理,计算得到当时当地的太阳天顶角和方位角。
1日地距离
  地球绕太阳公转的轨道是椭圆形的,太阳位于椭圆两焦点中的一个。发自太阳到达地球表面的辐射能量与日地间距离的平方成反比,因此,一个准确的日地距离值R就变得十分重要了。日地平均距离R0,又称天文单位,
1天文单位=1.496×108km
或者,更准确地讲等于149597890±500km。日地距离的最小值(或称近日点)为0.983天文单位,其日期大约在1月3日;而其最大值(或称远日点)为1.017天文单位,日期大约在7月4日。地球处于日地平均距离的日期为4月4日和10月5日。
  由于日地距离对于任何一年的任何一天都是精确已知的,所以这个距离可用一个数学表达式表述。为了避免日地距离用具体长度计量单位表示过于冗长,一般均以其与日地平均距离比值的平方表示,即ER=(r/r0)2,也有的表达式用的是其倒数,即r0/r,这并无实质区别,只是在使用时,需要注意,不可混淆。
  我们得到的数学表达式为
  ER=1.000423+0.032359sinθ+0.000086sin2θ-0.008349cosθ+0.000115cos2θ(1)
式中θ称日角,即
θ=2πt/365.2422
(2)
这里t又由两部分组成,即
t=N-N0
(3)
式中N为积日,所谓积日,就是日期在年内的顺序号,例如,1月1日其积日为1,平年12月31日的积日为365,闰年则为366,等等。
  N0=79.6764+0.2422×(年份-1985)
-INT〔(年份-1985)/4〕
(4)
2太阳赤纬角
  地球绕太阳公转的轨道平面称黄道面,而地球的自转轴称极轴。极轴与黄道面不是垂直相交,而是呈66.5°角,并且这个角度在公转中始终维持不变。正是由于这一原因形成了每日中午时刻太阳高度的不同,以及随之而来的四季的变迁。太阳高度的变化可以从图1中形象地看到。图中日地中心的连线与赤道面间的夹角每天(实际上是每一瞬间)均处在变化之中,这个角度称为太阳赤纬角。它在春分和秋分时刻等于零,而在夏至和冬至时刻有极值,分别为正负23.442°。

由于太阳赤纬角在周年运动中任何时刻的具体值都是严格已知的,所以它(ED)也可以用与式(1)相类似的表达式表述,即:
  ED=0.3723+23.2567sinθ+0.1149sin2θ
-0.1712sin3θ-0.758cosθ+0.3656cos2θ
+0.0201cos3θ(5)
式中θ的含义与式(1)中的相同。
3时差
  真正的太阳在黄道上的运动不是匀速的,而是时快时慢,因此,真太阳日的长短也就各不相同。但人们的实际生活需要一种均匀不变的时间单位,这就需要寻找一个假想的太阳,它以均匀的速度在运行。这个假想的太阳就称为平太阳,其周日的持续时间称平太阳日,由此而来的小时称为平太阳时。
  平太阳时S是基本均匀的时间计量系统,与人们的生活息息相关。由于平太阳是假想的,因而无法实际观测它,但它可以间接地从真太阳时S⊙求得,反之,也可以由平太阳时来求真太阳时。为此,需要一个差值来表达二者的关系,这个差值就是时差,以Et表示,即
S⊙=S+Et(6)
  由于真太阳的周年视运动是不均匀的,因此,时差也随时都在变化着,但与地点无关,一年当中有4次为零,并有4次达到极大。时差也可以以式(1)相似的表达式表示:
  Et=0.0028-1.9857sinθ+9.9059sin2θ
-7.0924cosθ-0.6882cos2θ
(7)
  上面,我们给出了3个计算式,从形式上讲,它们与一般书籍中给出的并无不同。我们之所以又重新研究它,是因为以往的公式存在以下的通病:①对平年和闰年不加区分,一方面,这对闰年就不好处理,另一方面,闰年的影响有累计效应,会逐步增长;②即使是从当年天文年历查到的数值,也是格林尼治经度处0点时刻的数值,而我们所需要的数值,会因所在地点的地理经度以及具体时刻与表值有异而不同。具体地讲,一般要进行如下3项订正:
  (1)年度订正:除非我们只用当年的天文年历值,此外均需使用此项订正,引入此项订正的原因就是一回归年的实际长度不是365日,而是365.2422日,但日历上只有整日,不可能有小数日。假定我们选用的是1981年的表值,1982年再用时,就要加上-0.2(-0.2422)日的订正了。这个订正到了1983年为-0.51(-0.4844)日,1984年为-0.7(-0.7266)日,但此年为闰年,多了1日,实际订正应为-0.7+1=0.3(0.2734)日,1985年为0.0(0.0312)日,等等,余类推。
  (2)经度订正:即使我们查阅的是当年的天文年历,也需此项订正。在我国的地理经度范围内,各地的订正值是
≤90°E
-0.2日
>90°E~<128°E
-0.3日
≥128°E
-0.4日
  (3)时刻订正:要求同前一项。即使在格林尼治当地,不同时刻也需加以订正。各时段的订正值是:
时段  336-600  600-824  824-1048  1048-1312
日  +0.2+0.3+0.4+0.5
时段  1312-1536  1536-1800  1800-2024
日  +0.6+0.7+0.8
  由于我国普遍采用的是北京时,它与格林尼治的地方时相差8小时,故具体到我国情况:
时段(北京时)200-424  424-648  648-912  912-1136
订正值(日)-0.2  -0.1  0  0.1
时段  1136-1400  1400-1624  1624-1848  1848-2112
订正值  0.2  0.3  0.4  0.5
  前面3个计算式,项数多计算麻烦,后面多项订正,更显繁琐。为了方便实际应用,特编制如下仅含20句的BASIC语言程序,供使用:
  10  input“经度,经分和年份”,JD,JF,NF
  20  A=NF/4:K=2*3.1415926#/365.2422
  30  N0=79.6764+0.2422*(NF-1985)
      -INT((NF-1985)/4)
  40  input“月,日,时,分(按北京时)”,Y,R,S,F
  50  B=A-INT(A)
  60  C=32.8
  70  ifY≤2thenC=30.6
  80  ifB=0andY>2thenC=31.8
  90  G=INT(30.6*Y-C+0.5)+R
  100  L=(JD+JF/60)/15
  110  H=S-8+F/60
  120  N=G+(H-L)/24
  130=(N-N0)/K
  140  式(1)
  150  式(5)
  160  式(7)
  170  print“Er=”;Er;“Ed=”;Ed,“Et=”;Et
  180  input“是否仍要计算y/n?”,W0
  190  ifW10-1.gif (92 bytes)=“Y”orW10-1.gif (92 bytes)=“y”then10else200
  200  end
  程序中50-90各句的目的在于计算当天的积日,100句是经度订正,110句是时刻订正,130句包含3年度订正的内容。
  在太阳能利用中,最常见的是要求计算太阳高度和太阳方位。
  太阳高度(h⊙)的计算公式为
sinh⊙=sinδsinφ+cosδcosφcosτ(8)
式中,δ就是太阳赤纬角,即式(5)中的Ed,φ为当地的地理纬度,τ为当时的太阳时角。φ值不难获得,且一旦确定,不会改变。δ值的计算可以从前述程序中得到。唯一需要说明的是太阳时角的计算。其计算式为

(9)
  这里时S和分F的符号均加上了⊙下标,表示是真太阳时,为了从北京时求出真太阳时,需要两个步骤:首先,将北京时换成地方时Sd:

(10)
式中,120°是北京时的标准经度,乘4是将角度转化成时间,即每度相当于4分钟,除60是将分钟化成小时。
  其次,进行时差订正,即
S⊙=Sd+Et/60                     (11)
这里应该指出的是,时角是以太阳正午时刻为0点的,顺时针方向(下午)为正,反之为负。
  太阳方位角的计算式为
  cosA=(sinh⊙sinφ-sinδ)/cosh⊙cosφ
(12)
由此可求出二个A值,第一个A值是午后的太阳方位,
  当cosA≤0时90°≤A≤180°
  当cosA≥0时0≤A≤90°
第2个A值为午前的太阳方位,取360°-A。
  实例:计算东经110°北回归线上1999年6月23日北京时12∶42的太阳高度角及当日的日落时的方位角。
  计算:将JD=110,JF=0,NF=1999,Y=6,R=23,S=12,F=42,各参数输入运行中的程序;屏幕上立即显示:Er=1.0330,Ed=23.438,Et=-1.84
  将北京时12∶42换算成东经110°的地方时,利用式(10),可得Sd=12∶02
  加当日时差Et≈-2,得此时当地的S⊙=12∶00,将其代入式(9)得τ=0°,北回归线处φ=23.442°
  最后根据式(8)求得h⊙=89.966°
  读者可能产生疑问,为何在北回归线上,夏至日的中午时刻的太阳高度不等于90°,大家不妨变换NF的输入值,看一看结果不仅都不等于90°,且各年之间还略有差异。之所以会如此,是因为夏至不仅有日期,还有时刻,很难遇到夏至时刻在正午是12时的。
  在计算日落时的方位角时,由于此时h⊙=0,所以式(12)的形式有所变化:
cosA=-sinδ/cosφ
(13)
将已知参数代入,得cosA=-0.3977
  依照判据90°≤A≤180°,故A=113.44°
 
文章引用自:http://blog.sina.com.cn/s/blog_4c4df0cf010007d3.html

http://www.ab126.com/Geography/1904.html ----- 计算网站

根据日期、时间和当地经纬度计算太阳天顶角和方位角的原理相关推荐

  1. python太阳代码_利用python计算太阳天顶角、方位角、高度角

    在遥感计算中一般都会用到天顶角.方位角.高度角.之前都是直接在excel中输入公式,这种方式输入公式比较麻烦,而且容易出错.后来在网上看到吉林大学汪自军博士的计算程序.链接:[http://blog. ...

  2. 利用python计算太阳天顶角、方位角、高度角

    在遥感计算中一般都会用到天顶角.方位角.高度角.之前都是直接在excel中输入公式,这种方式输入公式比较麻烦,而且容易出错.后来在网上看到吉林大学汪自军博士的计算程序.链接:http://blog.s ...

  3. php 日期时间运算的小结(计算当前时间之后(之前)的时间)

    先来介绍几个核心函数: mktime 函数 mktime() 函数返回一个日期的 Unix 时间戳. 参数总是表示 GMT 日期,因此 is_dst 对结果没有影响. 参数可以从右到左依次空着,空着的 ...

  4. Java日期时间类及计算

    1. Java中与日期相关的类 1.1 java.util包 类名 具体描述 Date Date对象算是JAVA中历史比较悠久的用于处理日期.时间相关的类了,但是随着版本的迭代演进,其中的众多方法都已 ...

  5. 日期减三个月oracle_Oracle如何对日期时间进行加减操作呢?

    摘要: 下文讲述Oracle数据库对日期时间加上指定时间间隔,如下所示: 实现思路: 1.使用SYSDATE 加上 (加或减号) INTERVAL '数值' 单位 对日期时间进行相应的计算 2.使用T ...

  6. DELPHI日期时间函数(DateUtils单元)

    原文出自:http://shao171.blog.163.com/blog/static/238397019201502011844293/ CompareDate  函数 比较两个日期时间值日期部分 ...

  7. 4字节 经纬度_Swift4 经纬度计算日出日落时间

    import UIKitclassPGSun: NSObject {structSunriseset { var sunrise= "07:00" //日出 var sunset ...

  8. 两个时间计算毫秒在线_SPL 的日期时间函数(下)

    4使用日期时间数据的计算 除了直接从日期时间数据中获取信息,在SPL中还可以使用日期时间类数据来执行各类计算. 最常用的有关日期的计算就是计算年龄: A1和B1中的数据如下: 在第2行用age() 函 ...

  9. 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...

最新文章

  1. 南邮CTF密码学write up
  2. C语言实现最简单的2048小游戏
  3. 中国程序员如何升职加薪,也许我们该学学印度人
  4. 201101shell脚本
  5. Spring boot @Transactional
  6. 星痕 轻松实现大屏数据可视化_数据美的历程有多难?大屏可视化轻松帮你实现...
  7. Windows下最轻量级Git克隆工具源码分享
  8. 代码和mysql服务器编码不一致_PL/SQL Developer教程:解决oracle服务器端和客户端字符编码不一致问题...
  9. python小课账号转卖_Python小课笔记--Python报错处理
  10. python处理access数据库教程_python是如何操作access数据库的,python 数据清洗
  11. Java代码审计: ClassLoader应用
  12. win10系统怎么改奇摩输入法_Win10系统如何切换输入法
  13. IE浏览器中调试各个IE版本方法
  14. html种颜色的三种不同表示方法,html网页背景颜色的代码是什么?颜色有几种表示方法?...
  15. Android 在一个APP里打开另一个APP
  16. 2021年中国计算机视觉产业及其重点企业分析(商汤科技VS旷视科技VS依图科技VS云从科技)[图]
  17. Android系统体系结构
  18. 治疗失眠的中医食疗方
  19. C++进程间通信 详解2
  20. hadoop心跳机制解析

热门文章

  1. matlab体会,Matlab心得体会
  2. 自然语言处理模型:bert 结构原理解析——attention+transformer(翻译自:Deconstructing BERT)
  3. 搭建mysql 主从复制The slave I/O thread stops because master and slave have equal MySQL server UUIDs
  4. python mac可以运行win不能运行_Pymssql程序可以在mac上运行,但不能在windows上运行...
  5. DX11 游戏开发笔记 (二) DX11 基础框架 上
  6. C++ OJ习题练习(九)定义哺乳动物类Mammal和Dog类
  7. 单核CPU和多核CPU的理解
  8. 移动最快apn服务器,中国移动修改APN为CMTDS提高4G网速
  9. android n ify三星,三星年度Android旗舰Galaxy S9包装盒曝光!
  10. 中国大学moocpython答案查询_中国大学MOOC(慕课)_Python编程基础_mooc题库答案查询...