请问modtran怎么设置能见度小于200米时

MODTRAN的一些设置
#!/usr/bin/python
# Filename: SolveRadRefEquationsTool.py
##################################################
#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#&& Author:
chongya&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#&& Email:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#&& Last Modified:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
##################################################
class SolveRadRefEquationsTool:
&&& '''This
class is used for solving TOA radiance - surface reflectance
equations.
&&& rou_s = (L -
L_p) / (F + (L - L_p) * rou_bar)'''
&&& __url_rou_0
&&& __url_rou_1
&&& __url_rou_2
&&& __rou_1 =
&&& __rou_2 =
&&& __dms =
solve(self, url_rou_0, url_rou_1, url_rou_2, rou_1, rou_2,
'''solve TOA radiance - surface reflectance equations.
url_rou_0: url of chn file where rou_s = 0, string format
url_rou_1: url of chn file where rou_s = rou_1, string format
url_rou_2: url of chn file where rou_s = rou_2, string format
rou_1: value of rou_1, float format
rou_2: value of rou_2, float format
dms: number of bands, int format
return: solution of equations, list[list] format,
&&&&&&&&&&&&&&&
the length of the 1st list is equal to dms,
&&&&&&&&&&&&&&&
each element is a solution for corresponding band,
&&&&&&&&&&&&&&&
the length of the 2nd list is 3,
&&&&&&&&&&&&&&&
since there are 3 variables to be solved'''
self.__url_rou_0 = url_rou_0
self.__url_rou_1 = url_rou_1
self.__url_rou_2 = url_rou_2
self.__rou_1 = rou_1
self.__rou_2 = rou_2
self.__dms = dms
mtx_Radiance = self.__buildRadianceMatrix()
mtx_Solution = self.__solveEquations(mtx_Radiance)
return mtx_Solution
__buildRadianceMatrix(self):
'''Reads simulated radiance results from the three different chn
files then reorganizes them.'''
# Read files
file0 = open(self.__url_rou_0,'r')
file1 = open(self.__url_rou_1,'r')
file2 = open(self.__url_rou_2,'r')
# Build file list
lst_File = [file0, file1, file2]
# Initialize a matrix, which will be returned at the end of
mtx_Radiance = [[0] * self.__dms for i in range(0,3)]
# Index of current rou_s
idx_rou_s = -1
# Proccess each file
for file in lst_File:
&&&&&&&&&&&
# Next rou_s
&&&&&&&&&&&
idx_rou_s = idx_rou_s + 1
&&&&&&&&&&&
&&&&&&&&&&&
# Get line list from current file
&&&&&&&&&&&
lst_Line = file.readlines()
&&&&&&&&&&&
&&&&&&&&&&&
# Index of current line
&&&&&&&&&&&
idx_Line = 1
&&&&&&&&&&&
&&&&&&&&&&&
# Index of band
&&&&&&&&&&&
idx_Band = -1
&&&&&&&&&&&
&&&&&&&&&&&
# Traverse all lines
&&&&&&&&&&&
for obj_Line in lst_Line:
&&&&&&&&&&&
&&&&&&&&&&&&&&&
# Data in chn file begins with line 6
&&&&&&&&&&&&&&&
if idx_Line & 5:
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
# Next band
&&&&&&&&&&&&&&&&&&&
idx_Band = idx_Band + 1
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
# Get cell tuple in current line
&&&&&&&&&&&&&&&&&&&
tup_Cell = obj_Line.split()
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
# Get SPECTRAL& RADIANCE value from column 3
&&&&&&&&&&&&&&&&&&&
val_Radiance = float(tup_Cell[2]) *
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
# Update radiance matrix
&&&&&&&&&&&&&&&&&&&
mtx_Radiance[idx_rou_s][idx_Band] = val_Radiance
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
# Next line
&&&&&&&&&&&&&&&
idx_Line = idx_Line + 1
return mtx_Radiance
__solveEquations(self, mtx_Radiance):
'''Solves equations using three SPECTRAL& RADIANCE
values and two SURREF values.'''
# Initialize a matrix, wich will be returned at the end of
mtx_Solution = [[0] * 3 for i in range(0,self.__dms)]
# Process each band
for idx_Band in range(0,6):
&&&&&&&&&&&
# Get each radiance
&&&&&&&&&&&
L_0 = mtx_Radiance[0][idx_Band]
&&&&&&&&&&&
L_1 = mtx_Radiance[1][idx_Band]
&&&&&&&&&&&
L_2 = mtx_Radiance[2][idx_Band]
&&&&&&&&&&&
&&&&&&&&&&&
# Use formula
&&&&&&&&&&&
lst_Para = self.__formula(L_0, L_1, L_2, self.__rou_1,
self.__rou_2)
&&&&&&&&&&&
&&&&&&&&&&&
# Update solution matrix
&&&&&&&&&&&
mtx_Solution[idx_Band] = lst_Para
return mtx_Solution
__formula(self, L_0, L_1, L_2, rou_1, rou_2):
'''The core formula, can be seen in my article.
L_0: simulated radiance when rou_s = 0
L_1: simulated radiance when rou_s = rou_1
L_2: simulated radiance when rou_s = rou_2
rou_1: value of rou_1
rou_2: value of rou_2
return: solution, list format
&&&&&&&&&&&&&&&
the first element is L_p
&&&&&&&&&&&&&&&
the second element is rou_bar
&&&&&&&&&&&&&&&
the third element is F'''
# Initialize a list, which will be returned at the end of
lst_Para = [0] * 3
# Calculate
rou_bar = ((L_1 - L_p) / (L_2 - L_p) * rou_2 / rou_1 - 1) / (rou_2
* ((L_1 - L_p) / (L_2 - L_p) - 1))
F = (L_2 - L_p) * (1 - rou_2 * rou_bar) / rou_2
lst_Para[0] = L_p
lst_Para[1] = rou_bar
lst_Para[2] = F
return lst_Para
(2) 调用该类的主程序python代码
#!/usr/bin/python
# Filename: AtmosphericCorrection.py
##################################################
#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&
#&& Author:
chongya&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#&& Email:
&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#&& Last Modified:
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
##################################################
'''Procedure Function:
&&& DN image
-& Ref image'''
import struct
import SolveRadRefEquationsTool
import BinaryImageIOTool
import RadiometricCalibrationTool
import ReflectionCalculateTool
# Image parameters
# Full url of input original DN image in ENVI Standard format with
a hdr header file
url_DN = "../Subset/Sub__ETM+"
# Full url of output radiometric calibrated image in ENVI Standard
format with a hdr header file
url_Rad = "Rad__ETM+"
# Full url of output atmospheric corrected image in ENVI Standard
format with a hdr header file
url_Atm = "Atm__ETM+"
# Sensor type
sensor = "ETM+"
# Year of image
year = 2003
# Month of image
month = 11
# Day of image
# MODTRAN products parameters
# Directory of MODTRAN tapes
dir_Tapes = "./"
# MODTRAN chn file simulated with rou_s = 0
str_Chn0 = "SURREF0.chn"
# MODTRAN chn file simulated with rou_s = rou_1
str_Chn1 = "SURREF50.chn"
rou_1 = 0.5
# MODTRAN chn file simulated with rou_s = rou_2
str_Chn2 = "SURREF80.chn"
rou_2 = 0.8
# Input DN image
# Instantiate tool
tool_BinaryImageIO = BinaryImageIOTool.BinaryImageIOTool()
# Input DN image
data = tool_BinaryImageIO.inputImage(url_DN)
# Get infos (columns count, rows count, band count, data
width = tool_BinaryImageIO.getWidth()
height = tool_BinaryImageIO.getHeight()
dms = tool_BinaryImageIO.getDmsInput()
type = tool_BinaryImageIO.getTypeInput()
# MODTRAN postprocess
# Make urls of .chn files
url_rou_0 = dir_Tapes + str_Chn0
url_rou_1 = dir_Tapes + str_Chn1
url_rou_2 = dir_Tapes + str_Chn2
# Instantiate tool
tool_SolveRadRefEquations =
SolveRadRefEquationsTool.SolveRadRefEquationsTool()
# Run tool
mtx_Solution = tool_SolveRadRefEquations.solve(url_rou_0,
url_rou_1, url_rou_2, rou_1, rou_2, dms)
# Print solution matrix
print "Ps" % ("Solution of Equations")
print 7 * "s" % ("Band No.", "", "L_p", "", "rou_bar", "",
for idx_Band in range(0,dms):
"ds.3fs.3fs.3f" % \
&&&&&&&&&&&
(idx_Band + 1, "", mtx_Solution[idx_Band][0], "",
mtx_Solution[idx_Band][1], "", mtx_Solution[idx_Band][2])
# Radiometric calibration
# Copy data as initial result
results = data[:]
# Instantiate tool
tool_RadiometricCalibration =
RadiometricCalibrationTool.RadiometricCalibrationTool()
# Run tool
tool_RadiometricCalibration.calibrate(data,results,width,height,dms,sensor,year,month,day)
# Change data type
type = "float"
# Output image
tool_BinaryImageIO.outputImage(url_Rad,results,dms,type)
# Reflection Calculate
# Copy radiometric calibration results as data
data = results[:]
# Instantiate tool
tool_ReflectionCalculate =
ReflectionCalculateTool.ReflectionCalculateTool()
# Run tool
tool_ReflectionCalculate.calculate(data,results,width,height,dms,mtx_Solution)
# Output image
tool_BinaryImageIO.outputImage(url_Atm,results,dms,type)
方程的解打印结果:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Solution of Equations
No.&&&&&&&&&&&&&&&&
L_p&&&&&&&&&&&&
rou_bar&&&&&&&&&&&&&&&&&&
1&&&&&&&&&&&&&
47.176&&&&&&&&&&&&&&
0.191&&&&&&&&&&&&
2&&&&&&&&&&&&&
24.682&&&&&&&&&&&&&&
0.138&&&&&&&&&&&&
3&&&&&&&&&&&&&
12.706&&&&&&&&&&&&&&
0.102&&&&&&&&&&&&
4&&&&&&&&&&&&&&
4.569&&&&&&&&&&&&&&
0.067&&&&&&&&&&&&
5&&&&&&&&&&&&&&
0.193&&&&&&&&&&&&&&
0.020&&&&&&&&&&&&&
6&&&&&&&&&&&&&&
0.034&&&&&&&&&&&&&&
0.011&&&&&&&&&&&&&
大气校正后的图像:(略)=。=|||
限 于篇幅,主程序中使用的二进制图像输入输出工具类BinaryImageIOTool、辐射定标工具类
RadiometricCalibrationTool和反射率计算工具类ReflectionCalculateTool的python代码不在此列
出,如需参考,请同作者联系。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。利用MODTRAN3计算我国太阳直接辐射和散射辐射_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
利用MODTRAN3计算我国太阳直接辐射和散射辐射
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩5页未读,
定制HR最喜欢的简历
你可能喜欢&>&MODTRAN中文说明,介绍MODTRAN中主要参数设置的中文说明
MODTRAN中文说明,介绍MODTRAN中主要参数设置的中文说明
上传大小:299KB
MODTRAN中文说明,介绍MODTRAN中主要参数设置的中文说明
综合评分:5
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有3条
不错,可以用
有一定参考价值
水色,大气校正很关键
双鱼金枪鱼
综合评分:
积分/C币:5
综合评分:
积分/C币:5
nini_kaikai
综合评分:
积分/C币:12
双鱼金枪鱼
综合评分:
积分/C币:5
综合评分:
积分/C币:3
nini_kaikai
综合评分:
积分/C币:12
综合评分:
积分/C币:10
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
MODTRAN中文说明,介绍MODTRAN中主要参数设置的中文说明
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
MODTRAN中文说明,介绍MODTRAN中主要参数设置的中文说明flaash大气校正 [3]_博客园
当前位置: >
>flaash大气校正
flaash大气校正
& 作者:蓝紫 & 来源: 博客园-lanzi &
数据经纬度与获取时间决定选用的大气模型
水气反演设置 (Water Retrieval)
水气反演设置,采用两种方式对水气进行去除
a.&利用水气去除模型恢复影像中每个像元的水气量
使用水气反演模型,数据必须具有 15nm以上波谱分辨率,且至少覆盖以下波谱范围之一:1050-1210nm(优先考虑),770-870nm,870-1020nm。 对于大多传感器,水气反演默认显示的是 NO,因为大多数传感器没有适当的波段来补偿水气的影响。
b.单一的水气因数用于整体影像,默认是1,多光谱数据使用水气反演模型,可以在多光谱设置
中手动设置水气波段
气溶胶模型 (Aerosol Retrieval )
用气溶胶模型要求数据波段覆盖 660nm和 2100nm波谱。
a.&提供四种标准 MODTRAN 气溶胶模型
Rural(乡村)、Urban(城市)、Maritime(海洋)、Tropospheric
b.&两种气溶胶反演方法
2-Band(K-T)方法(类似模糊减少法),如果没有找到适应的黑值(一般是阴影区或者水体),系统将采用能见度值来计算;所以即使选择了该选项也要给。
天气情况与能见度的关系
7.光谱打磨(高光谱) Spectral Polishing
&& 光谱打磨(高光谱数据)&&&
使波谱曲线更加近似于真实地物的波谱曲线&&
&对波谱曲线进行微调
8.多光谱数据参数设置
当基本设置里设置了水气反演模型和气溶胶模型时,相应的在改多光谱设置框中设置参数&&&
水气去除模型参数&&&
气溶胶模型参数设置(用气溶胶模型要求数据波段覆盖 660nm和 2100nm波谱.) 设置值见下表所示:
9.高光谱数据参数设置
自动选择通道定义(推荐)&&&
设置通道定义
10.高级设置
光谱定义文件:内置 AVIRIS、HYMAP、HYDICE、HYPERION、CASI、AISA
气溶胶高度
CO2 混合比率:390ppm
使用领域纠正
使用以前的 MODTRAN 模型计算结果
设置 MODTRAN 模型的光谱分辨率(推荐值 5 cm-1)
设置 MODTRAN 多散射模型
天顶角&方位角(针对非星下点传感器)
相关阅读:
来源:(微信/QQ:,微信公众号:makaidong-com) &&&&&& 欢迎分享本文,转载请保留出处!
&&&&&& 【原文阅读】:
上一篇:没有了
【相关文章】
每日最新文章
每日最热文章
本周最热文章
本月最热文章
本年最热文章
Powered by
Copyright &
www.makaidong.com, All Rights Reserved}

我要回帖

更多关于 能见度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信