Answers:
给定太阳的位置,您可以轻松地创建纬度坐标中的表面光强度网格(忽略大气和地形影响)。根据需要重新投影该网格并将其覆盖在地图上。
公式是球形坐标的标准公式:对应于球形坐标(lon,lat)的单位向量为
(cos(lon)cos(lat), sin(lon)cos(lat), sin(lat)).
强度取决于单位向外法线(“向上”)方向与太阳方向之间的余弦值。这个余弦只是这两个单位向量的点积。也就是说,令(x,y,z)为指向太阳的单位向量(在地心坐标中),将每个网格单元中心点的大地坐标(lat,lon)转换为单位向量(xi,eta,zeta)和计算
(x,y,z) . (xi, eta, zeta) = x*xi + y*eta + z*zeta.
小于0的任何结果都对应于不可见的太阳,因此请将其设置为零。
这些计算很容易通过地图代数执行,可以从(纬度,经度)值的网格开始(这就是我的工作方式),也可以从一对网格开始,一个用于纬度,另一个用于经度(这就是您的本意)例如使用ESRI软件)。
(要创建纬度或经度网格,请分别在地理坐标中形成y坐标或x坐标网格,然后对其进行投影。)根据此初始信息,一劳永逸地计算出三个网格[xi],[eta] ]和ze(或单个矢量值的网格[xi,eta,zeta])代表网格单元上的向上方向。对于任何给定的太阳位置,计算成为上面给出的xi,η和ze的简单线性组合;太阳确定系数x,y和z(当然,它们只是数字)。
这是在这样的强度网格(216 x 432个细胞)的Plate Carree投影中的世界地图。
像本初一样,本初子午线位于中心,而北经则位于顶部。为了进行此计算,我将太阳矢量设置为与(0.6,-0.8,0.5)成正比,近似于大西洋中部正午的夏日。(回想起来,z值为0.4会更现实;太阳永远不会向北偏远。)
Aster彩色地图上的Alpha叠加层(也使较亮的区域也更加透明)会生成此图像。
随着时间的变化,太阳的向量(x,y,z)得到重新计算,需要重新计算强度网格。这是一个快速的计算。您也不需要高分辨率:在此插图中,我仅使用原始网格的分辨率(2160 x 4320像素)的十分之一。用于显示较粗的强度网格的插值可以很好地填补空白。这样,您可以根据需要几乎立即修改显示内容,从而创建平滑的动画。