基于地表生物地球物理状态变量(叶面积指数、冠层高度和土壤湿度)和观测几何和时间,模拟被动光学和主动微波传感器卫星数据的python包。
signaturesimulator的Python项目详细描述
这个python包模拟了基于地面的无源光学和有源微波传感器的卫星数据。 生物地球物理状态变量(叶面积指数、冠层高度和土壤湿度)和观测几何和时间。 在这里我们提供了关于这个包的文档。下面我们将演示安装包和 它的用途。
安装软件包
要使用pip安装signaturesimulator python包,只需从命令行运行以下命令:
pip install signaturesimulator
为单个采集计算反射率的示例
>;首先从交互式控制台导入SignatureSimulator包并设置模拟器的实例 课程:
import signaturesimulator as ss sim = ss.Simulator()
我们现在可以设置卫星观测的观测几何和时间,为此,我们还需要指定 python datetime对象,因此我们还将导入datetime模块:
import datetime as dt sim.get_geom = sim.geom_default(date_utc=dt.datetime(2016,6,17,10,25), vza=5.5, vaa=286.3, sza=26.8, saa=157.0)
其中vza和vaa是观测天顶和方位角,sza和saa是太阳天顶和方位角。我们 现在必须指定要计算反射率的地表状态变量:
sim.get_land_state = sim.state_default(date_utc=dt.datetime(2016,6,17,9,0), lai=3.0, canopy_ht=1.0, soil_m=0.3)
lai为叶指数(m2 m-2),canpopy_ht为植被冠层高度(m),土壤_m为表层土壤 水分(m3 m-3)。我们现在指定要使用的辐射传输模型,然后运行模拟器(当前 在为哨兵1和哨兵2建立这些模型的情况下,可以在主动微波和被动光学之间进行选择 分别执行任务)。在这里,我们对反射率感兴趣,因此设置以下参数:
sim.run_rt = sim.passive_optical sim.run()
注意
目前,被动光学模型只有在签名模拟器安装在Linux机器上时才能工作, 由于打包的半离散二进制文件。我们正在努力推出一个与windows和mac兼容的版本。 奥斯。如果您不在Linux机器上,请参阅下一个示例。有源微波模型可用于任何 建筑。
模拟器运行完成后,它将把输出写入一个新的spectra类。我们可以看看 不同波段(按波长排序)的反射值,使用以下命令:
sim.spectra.refl
此示例输出:
[array([ 0.018664, 0.020378, 0.026745, 0.02097 , 0.035889, 0.213055, 0.332095, 0.338523, 0.343047, 0.337906, 0.230565, 0.192891, 0.086688])]
接下来,我们将演示如何在指定几何结构的时间序列上运行有源微波传感器的模拟器,以及 地表状态变量。
计算多个含水层的后向散射的示例
使用前面例子中指定的模拟器实例,我们展示了如何为多个 水浸。首先,我们使用csv文件指定观测的日期和视图几何图形:
sim.get_geom = sim.geom_csv(fname=sim.example_s1_geometries)
这里sim.example_s1_geometries
指向找到的signaturesimulator包中包含的示例csv文件
这里:
$PYTHONPATH/signaturesimulator/data/geometries/s1_example_const.csv
任何几何CSV文件必须采用以下格式:
# date, vza, vaa, sza, saa 2016/01/03 05:23,34.3773946043,100.545700717,105.298744327,107.406448412 2016/01/08 05:31,23.4284120953,102.103838392,103.928256857,108.076934788 ...
接下来,我们使用csv文件指定地表状态变量的日期和值:
sim.get_land_state = sim.state_csv(fname=sim.example_state_variables)
我们再次使用了一个与模拟器打包的示例csv文件,因为land state csv文件必须遵循 格式:
# date, lai (m2 m-2), canopy_height (m), soil_moisture (m3 m-3) 2016/01/01 12:00,0.001,0.001,0.339560508728 2016/01/02 12:00,0.001,0.001,0.341959953308 ...
我们现在可以设置希望使用的辐射传输模型并运行模拟器:
sim.run_rt = sim.active_microwave sim.run()
模拟器完成运行后,它会将输出写入一个新的backscat类实例。我们可以看到输出 我们可以使用的变量:
sim.output_variables
在这种情况下,返回:
['lai', 'date_sat_ob', 'soil_moisture', 'hv', 'can_height', 'date_land_ob', 'hh', 'vv']
为了检查高压极化的输出,我们使用:
sim.backscat.hv
对于本例,返回:
[-14.839751698875441, -14.612031628695206, ..., -14.647495031040052, -14.470503894767003]
要绘制高压极化中的后向散射,可以使用以下命令:
sim.plot('hv')
将返回绘图:
对于lai:
sim.plot('lai')
返回:
在这里我们可以看到叶面积指数是对后向散射的模拟观测。
源代码
www.github.com/pyearthsci/signaturesimulator
支架
如果你有问题,请告诉我们。 联系人:e.pinnington@reading.ac.uk
许可证
许可信息的详细信息。待定。