目录

1.polymer源码下载
2.配置环境
3.事例

建了一个QQ群,大家可以在里边聊聊水色遥感数据下载和数据处理方面的事情:1087024529

首先说一下我的系统及Python版本号

Ubuntu 20.04
Python 3.6.5

1.polymer大气校正

POLYMER(POLYnomial based approach applied to MERIS data)大气校正算法最初是为MERIS传感器开发的,该算法的主要优势是对太阳耀光区域进行大气校正。对于该算法的详细说明,请参考论文:

STEINMETZ F, DESCHAMPS P Y, RAMON D. Atmospheric correction in presence of sun glint: application to MERIS[J]. Opt Express, 2011,19(10): 9783-9800.

作者将该算法的源码进行了发布,并且提供了很多接口方便其他人使用(为作者的开源精神干杯)。
polymer官方链接(请大家不要再被骗积分了,有些无良博主也真是够了):
https://www.hygeos.com/polymer

polymer的作者建的有博客页(Forum),有不懂的问题可以在里边提问。

下载后,其实是一个压缩包(文件结构如下),需要自己配置环境然后才能使用。

2.配置环境

其实作者提供了一个说明书(README.md),可以按照里边的步骤一步一步安装。所以这里按照说明书种的步骤进行说明。

注意:作者在说明文档里说,他只在Linux系统下进行了测试,因此我这里也在Linux系统下安装

2.1.安装需要的软件,首先,需要系统中已经安装了python、cython和gcc软件。
我直接在系统中安装的anaconda,所以直接跳过了安装python和cython的步骤,这两个的安装比较常规,不再说明。安装gcc可以在终端中输入:

sudo apt-get install gcc

2.2.安装需要的python库,作者在说明文档里提供了所需python库的列表。如下:

  numpy             scipy             python-hdf4 (or pyhdf)           pandas           pyepr            netCDF4                           lxml           glymur         pyproj      ecmwf-api-client            cdsapi        xarray            pygrib        gdal

如果你使用的是anaconda,作者提供了一个一键安装的脚本:install-anaconda-deps.sh。不过我还是建议一个库一个库安装。
在安装gdal库前,需要系统中安装libgdal-dev,安装pyhdf前需要在系统中安装libhdf4-alt-dev。

sudo apt-get install libhdf4-alt-dev
sudo apt install libgdal-dev

2.3.以上装好之后,在polymer文件夹中打开终端,在终端中输入make,进行编译即可

make

即可。

3.事例

下面就可以利用polymer提供的接口处理自己的数据了,作者提供了很多事例,这里就不再介绍。最好在自己的脚本里把polymer的路径加上,在python程序中加入如下代码:

sys.path.append('/home/hyzhao/polymer-v4.13/')

之后就可以导入polymer提供的函数。
下面是我批量处理数据的一个例子。

ancillary参数,就是在大气校正时,利用的一些臭氧、风速等数据,Ancillary_NASA就是在校正的时候,从NASA上下载这些数据,还有其他数据源,利用不同的数据源,最后的结果可能会不同。对于OLCI的大气校正,可以不用指定该参数。

关于对OLCI的大气校正,我在polymer作者建立的博客页中做了提问,这里也贴出来供大家参考。
https://forum.hygeos.com/viewtopic.php?f=7&t=80

下边的代码,关键部分就是我定义的Process_OLCI函数。其他的只是在改变输入文件路径和输出文件路径。

import os
import sys
import time
import datetime
from subprocess import call
sys.path.append('/home/hyzhao/polymer-v4.13/')
from polymer.main import run_atm_corr
from polymer.main import Level1
from polymer.main import Level2
from polymer.level2_hdf import Level2_HDF
from polymer.level2_nc import Level2_NETCDF
from polymer.level1_nasa import Level1_NASA
from polymer.level1_olci import Level1_OLCI
from polymer.ancillary import Ancillary_NASAdef Process_OLCI(inputFile,outputFile):run_atm_corr(Level1_OLCI(inputFile,ancillary=Ancillary_NASA()),Level2_NETCDF(filename=outputFile),calib=None,bands_corr=[412,443,490,510,560,620,665,754,779,865],bands_oc=[412,443,490,510,560,620,665,754,779,865],bands_rw=[400,412,443,490,510,560,620,665,674,681,709,754,779,865,885,1020])#--------------------------------------------------------------
#需要更改的变量
#inputFilePath='/home/hyzhao/321/Data/'
#outputDir='/home/hyzhao/321/Polymer/'
inputFilePath='/home/hyzhao/ShareWin/Data/'
outputDir='/home/hyzhao/ShareWin/Polymer/'
#--------------------------------------------------------------inputFilePathList=[]
outputFilePathList=[]fileList1=os.listdir(inputFilePath)
for fl1 in fileList1:outputFilePath=outputDir+fl1+'_Polymer_Add_Para.nc'if os.path.exists(outputFilePath):continueelse:outputFilePathList.append(outputFilePath)filePath2=inputFilePath+fl1fileList2=os.listdir(filePath2)filepath3=filePath2+'/'+fileList2[0]inputFilePathList.append(filepath3)for ifpl,ofpl in zip(inputFilePathList,outputFilePathList):try:print('开始处理-----------'+str(datetime.datetime.now()))print(ifpl)Process_OLCI(ifpl,ofpl)print('处理结束-----------'+str(datetime.datetime.now()))time.sleep(5)print('\n\n')except:print(ifpl+'处理失败')continue

Polymer大气校正环境配置相关推荐

  1. 应用RSD对高分6号(GF6)MUX/PAN一键正射校正和大气校正

    同GF6 WFV一样,RSD对GF6 MUX也是一键完成正射和大气校正.配置正射校正的DEM以及大气校正的辅助数据与高分6号WFV一样.高分6号(GF6)MUX/PAN不是共享免费的,样例数据请自行准 ...

  2. 大气顶层反射率无量纲_环境星CCD数据大气校正研究

    4.1 大气校正前后反射率对比 在研究区内的HJ-1 A图像上分别选取不同典型地物(草地.裸土和水体(达里诺尔湖))的训练样本100个, 统计训练样本的反射率平均值.图1为草地.裸土和水体的表观反射率 ...

  3. python大气校正_Python调用C2RCC实现批量数据的大气校正

    目录 1.前言 2.配置环境 3.程序 1.前言 C2RCC大气校正方法在SNAP中作为一个工具出现,安装好SNAP后,就会有该工具.但是发现在SNAP中直接打开C2RCC对OLCI数据进行大气校正时 ...

  4. 基于6s模型的遥感影像大气校正方法

    目的:针对光学遥感影像(Landsat-8.Sentinel-2.GF-1.GF-2)的大气校正自动化实现方法,大多数是使用ENVI的FLASSH模块进行大气校正,虽然现在ENVI提供了FLASSH模 ...

  5. 基于6S模型的国产卫星数据大气校正

    本文只讲干货,不讲客套话,不讲没有由头的技术细节.目的只为将6S模型用于国产卫星大气校正. 6S模型介绍 首先来讲为什么要进行大气校正,讲讲必要性.首先,只有定量化需求才会用到大气校正,当然为了满足项 ...

  6. python 大气校正_基于6s模型的遥感影像大气校正方法

    基于6s模型的遥感影像大气校正工程化实现 目的:针对光学遥感影像(Landsat-8.Sentinel-2.GF-1.GF-2)的大气校正自动化实现方法,大多数是使用ENVI的FLASSH模块进行大气 ...

  7. 大气校正后的ndvi_Sentinel2 L1C下载、大气校正、重采样

    点击蓝字关注我哦 1.基本信息(成像仪/重访周期/波段数/分辨率) 哨兵2号是高分辨率多光谱成像卫星,携带一枚多光谱成像仪(MSI),用于陆地监测,可提供植被.土壤和水覆盖.内陆水路及海岸区域等图像, ...

  8. 使用RSD对高分1号卫星数据进行批量大气校正

    高分数据处理可以有下述5中选项 MSS数据的批量正射校正 MSS数据批量正射校正和大气校正 PAN 数据的批量正射校正 MSS与PAN批量正射校正和融合 MSS与PAN批量正射校正.MSS的大气校正和 ...

  9. 6S大气校正模型源码

    转载:http://blog.sina.com.cn/s/blog_678716330102v8g8.html 6S的源码是用FORTRAN来写的,想要对6S有所了解,还是要有一定的FORTRAN基础 ...

最新文章

  1. 同时10万个事务在线,读写频繁,数据库该如何设计
  2. 解决Mybatis启动报错: Invalid bound statement (not found)
  3. c语言游戏编程网盘下载,C语言游戏编程 计算器(5分下载)
  4. java的md5盐值加密_MD5盐值加密
  5. JAVA学习--集合的遍历
  6. CVPR 2019 | 旷视提出超分辨率新方法Meta-SR:单一模型实现任意缩放因子
  7. linux free命令详解(一)
  8. java mybatis缓存机制_mybatis缓存机制与陷阱
  9. 现场操作前,软件界面的各个功能面板应该通过拖动进行合理布局.请看参考图
  10. 解决Android Studio不停的Indexing的问题
  11. 业务中台实践助力企业数字化转型
  12. 6. LaTeX 参考文献的排版与引用
  13. 工作站 服务器 监控系统,电网工作站智能安全监控系统的设计与实现
  14. 2013年第四届蓝桥杯省赛C/C++ B试题解析
  15. 八、Web 的攻击技术
  16. 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心, 因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。
  17. [机器学习与scikit-learn-38]:算法-分类-支持向量机-通过等高线可视化决策边界线和隔离带
  18. 教你一波Lucas(卢卡斯)定理在数论解题中的应用
  19. 关于腾讯云服务器使用FTP详细配置教程
  20. 暴涨彰显市场做多情绪

热门文章

  1. linux RPM-GPG-KEY-6 错误解决方法
  2. 边缘计算:客户端 + 人工智能
  3. linux 查看freetype安装目录,linux freetype 安装
  4. 【无限互联】浅析开源框架SDWebImage
  5. python+pycharm+mysql+sqlyog下载安装
  6. 使用jxl创建excel基本操作
  7. Excel基本操作常用总结
  8. Android架构师之路
  9. 43岁老程序员的编程之路,我是如何做到退休的?龙叔真的退休了吗?
  10. 教你如何在Win10/Win8/Win7运行MATLAB7.0