Zhaoguanhua / AtmosphericCorrection

6s模型大气校正python版本,支持GF1、2,Landsat-8,Sentinel-2等影像
182 stars 79 forks source link

GF脚本中参数的设置 #18

Open bingoodog opened 1 month ago

bingoodog commented 1 month ago

明确参数的意义

参考https://blog.csdn.net/VickyChenVC/article/details/107861708

6S参数的设置

优先读取头文件信息参数。2022年之后的GF1数据应该是改版了。可以用ENVI的国产卫星工具打开,能正常识别参数。或者在https://data.cresda.cn/#/home 查看影像具体信息。可以自行对比头文件在考虑是否修改。

    # 传感器类型 自定义
    s.geometry = Geometry.User()
    s.geometry.solar_z = 90-float(dom.getElementsByTagName('SolarZenith')[0].firstChild.data)
    s.geometry.solar_a = float(dom.getElementsByTagName('SolarAzimuth')[0].firstChild.data)
    # s.geometry.view_z = float(dom.getElementsByTagName('SatelliteZenith')[0].firstChild.data)
    # s.geometry.view_a = float(dom.getElementsByTagName('SatelliteAzimuth')[0].firstChild.data)
    s.geometry.view_z = 0
    s.geometry.view_a = 0

考虑调整为:

    # 传感器类型 自定义
    s.geometry = Geometry.User()
    # 2022年之后的数据头文件中SolarZenith为太阳天顶角。不需要90-
    # s.geometry.solar_z = 90-float(dom.getElementsByTagName('SolarZenith')[0].firstChild.data)
    s.geometry.solar_z = float(dom.getElementsByTagName('SolarZenith')[0].firstChild.data)
    s.geometry.solar_a = float(dom.getElementsByTagName('SolarAzimuth')[0].firstChild.data)
    # 读取头文件信息进行计算
    s.geometry.view_z = float(dom.getElementsByTagName('SatelliteZenith')[0].firstChild.data)
    s.geometry.view_a = float(dom.getElementsByTagName('SatelliteAzimuth')[0].firstChild.data)
    # s.geometry.view_z = 0
    # s.geometry.view_a = 0

其他参数设置

参考https://blog.csdn.net/VickyChenVC/article/details/107861708

    # 气溶胶类型大陆
    s.aero_profile = AtmosProfile.PredefinedType(AeroProfile.Continental)

    # 下垫面类型
    s.ground_reflectance = GroundReflectance.HomogeneousLambertian(0.36)

    # 550nm气溶胶光学厚度,对应能见度为40km
    s.aot550 = 0.14497

json文件更新

定标系数以及光谱响应函数下载:https://www.cresda.com/zgzywxyyzx/zlxz/article/20240416163618563132683.html

具体更新方法:https://blog.csdn.net/qq_15038823/article/details/140120644?spm=1001.2101.3001.6650.2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-2-140120644-blog-110977519.235%5Ev43%5Epc_blog_bottom_relevance_base7

在“RadiometricCorrectionParameter.json”的相应位置添加不同传感器、不同波段对应的Gain、Offset值,以及高分六号的光谱响应函数(SRF)数值,SRF需要按照官网提供的1nm间隔插值制作为2.5nm间隔的
bingoodog commented 1 month ago

感谢大佬的代码 a2d8fc370a40d2c46fbbe0f4b7e9d9c0