Polymer大气校正环境配置
目录
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大气校正环境配置相关推荐
- 应用RSD对高分6号(GF6)MUX/PAN一键正射校正和大气校正
同GF6 WFV一样,RSD对GF6 MUX也是一键完成正射和大气校正.配置正射校正的DEM以及大气校正的辅助数据与高分6号WFV一样.高分6号(GF6)MUX/PAN不是共享免费的,样例数据请自行准 ...
- 大气顶层反射率无量纲_环境星CCD数据大气校正研究
4.1 大气校正前后反射率对比 在研究区内的HJ-1 A图像上分别选取不同典型地物(草地.裸土和水体(达里诺尔湖))的训练样本100个, 统计训练样本的反射率平均值.图1为草地.裸土和水体的表观反射率 ...
- python大气校正_Python调用C2RCC实现批量数据的大气校正
目录 1.前言 2.配置环境 3.程序 1.前言 C2RCC大气校正方法在SNAP中作为一个工具出现,安装好SNAP后,就会有该工具.但是发现在SNAP中直接打开C2RCC对OLCI数据进行大气校正时 ...
- 基于6s模型的遥感影像大气校正方法
目的:针对光学遥感影像(Landsat-8.Sentinel-2.GF-1.GF-2)的大气校正自动化实现方法,大多数是使用ENVI的FLASSH模块进行大气校正,虽然现在ENVI提供了FLASSH模 ...
- 基于6S模型的国产卫星数据大气校正
本文只讲干货,不讲客套话,不讲没有由头的技术细节.目的只为将6S模型用于国产卫星大气校正. 6S模型介绍 首先来讲为什么要进行大气校正,讲讲必要性.首先,只有定量化需求才会用到大气校正,当然为了满足项 ...
- python 大气校正_基于6s模型的遥感影像大气校正方法
基于6s模型的遥感影像大气校正工程化实现 目的:针对光学遥感影像(Landsat-8.Sentinel-2.GF-1.GF-2)的大气校正自动化实现方法,大多数是使用ENVI的FLASSH模块进行大气 ...
- 大气校正后的ndvi_Sentinel2 L1C下载、大气校正、重采样
点击蓝字关注我哦 1.基本信息(成像仪/重访周期/波段数/分辨率) 哨兵2号是高分辨率多光谱成像卫星,携带一枚多光谱成像仪(MSI),用于陆地监测,可提供植被.土壤和水覆盖.内陆水路及海岸区域等图像, ...
- 使用RSD对高分1号卫星数据进行批量大气校正
高分数据处理可以有下述5中选项 MSS数据的批量正射校正 MSS数据批量正射校正和大气校正 PAN 数据的批量正射校正 MSS与PAN批量正射校正和融合 MSS与PAN批量正射校正.MSS的大气校正和 ...
- 6S大气校正模型源码
转载:http://blog.sina.com.cn/s/blog_678716330102v8g8.html 6S的源码是用FORTRAN来写的,想要对6S有所了解,还是要有一定的FORTRAN基础 ...
最新文章
- 同时10万个事务在线,读写频繁,数据库该如何设计
- 解决Mybatis启动报错: Invalid bound statement (not found)
- c语言游戏编程网盘下载,C语言游戏编程 计算器(5分下载)
- java的md5盐值加密_MD5盐值加密
- JAVA学习--集合的遍历
- CVPR 2019 | 旷视提出超分辨率新方法Meta-SR:单一模型实现任意缩放因子
- linux free命令详解(一)
- java mybatis缓存机制_mybatis缓存机制与陷阱
- 现场操作前,软件界面的各个功能面板应该通过拖动进行合理布局.请看参考图
- 解决Android Studio不停的Indexing的问题
- 业务中台实践助力企业数字化转型
- 6. LaTeX 参考文献的排版与引用
- 工作站 服务器 监控系统,电网工作站智能安全监控系统的设计与实现
- 2013年第四届蓝桥杯省赛C/C++ B试题解析
- 八、Web 的攻击技术
- 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心, 因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。
- [机器学习与scikit-learn-38]:算法-分类-支持向量机-通过等高线可视化决策边界线和隔离带
- 教你一波Lucas(卢卡斯)定理在数论解题中的应用
- 关于腾讯云服务器使用FTP详细配置教程
- 暴涨彰显市场做多情绪