Windows7 64位环境6sv2.1大气传输模型修改源码添加国产高分卫星GF-1 GF-2光谱响应支持
下面开始添加国产卫星光谱响应的支持:
以下主要参考文章“6S大气传输模型修改源码添加、自定义卫星光谱响应(以HJ-1B CCD为例)”网址:http://blog.csdn.net/sam92/article/details/50390556
我是在Windows7 64位系统下做的。6sv2.1版本,还是有很多注意问题的。
添加GF-1与GF-2传感器光谱响应支持,从中国资源卫星网站上下载。

1. 修改main.f
解压压缩包之后,找到main.f打开。 可以发现首先出现与传感器有关的代码是在第363行的nsat变量:

nsat保存了传感器波段名称字符串,会显示在输出结果的传感器名称上。所以我们要在nsat的末尾加上我们自己的传感器:
GF1 PMS1
GF1 PMS2
GF1 WFV1
GF1 WFV2
GF1 WFV3
GF1 WFV4
GF2 PMS1
GF2 PMS2
SPOT5 HRG

我加了8个字符串。注意保持字符串长度和之前的字符串长度一致(包含空格17个字符),看到代码292行:

这里是nsat的定义,nsat(200)*17改为nsat(209)*17。
接下来,看到代码大约1319行,关于spectral conditions的说明,可以添加传感器的说明,添加编号(200-240),

这个编号是索引依据,大约1407行左右:

这个注释说明了不同传感器输入对应应该goto哪一个语句,把自己的传感器加进去。如果输入是200-225,则goto 165编号的GF1行。如果输入是226-235,则goto 166编号GF2的行。如果输入是236-240,则goto 167编号SPOT5的行。注意检查一下goto的编号是否已经存在了。
这只是修改了注释,接下来修改代码。就在注释下方编号18的goto,观察一下就是与注释相对应的,我们把自己的传感器加在下方:

然后就是写编号为165、166、167的代码行了,在编号164的下方,稍微修改一下函数名就好,注意括号里的(iwave-199),而不是(iwave-200),这是保证输入参数波段号从1开始。

对mian.f的修改完成!
GF1波段26个,编号200-225
GF2波段10个,编号226-235
SPOT5波段5个,编号236-240
2. 制作传感器文件(SPOT5.f)
下面制作传感器光谱响应文件。新建一个文件,取名为SPOT5.f,注意文件名和上一步call的函数名一致。 内容拿MODIS.f全部复制粘贴过来。
由于SPOT5有5个波段,所以定义sr需要5行,下面定义每一个波段上的光谱响应了。用excel很简单就能把光谱响应函数的光谱间隔差值到了2.5nm。

一行一行解释,首先注释行说明了起始波长和终止波长,下面是具体每一个波长上光谱响应值。注意每一行是1501列的,这个不能修改。因为6s中光谱范围是0.25-4um,间隔为0.0025um,所以有(4-0.25)/0.0025+1=1501个波长。7行的数据中第一项92*0说明这一行数据前92个数为0;最后一项1343 * 0说明最后1343个数为0。中间有66个光谱响应值,一共是92+1343+66=1501个波段。具体计算方法是:假定光谱响应的范围是(a,b),则前面的0计算方法是(a-250)/2.5,中间非零的计算方法是(b-a)/2.5+1;后面的0是(4000-b)/2.5。
按照上面的方法继续完成剩余的3个波段,最后需要修改各个波段的上下限:

3. 修改makefile
最后要修改一下makefile,很简单,打开makefile,在那一长串的字符最后加上我们的 GF1.o、GF2.o、SPOT5.o就OK了:

编译 即可
如果编译成功的话,就可以运行6s程序了,
output中可以看到我们自己加入的传感器波段名 以及大气校正的结果。

添加光谱响应还是很有比较的,比如实验结果表明,GF2的两个PMS传感器波段2的差异还是很小的,但与TM的对应波段还是有差距的,大气校正过程不建议近似替代。
Windows7 64位环境6sv2.1大气传输模型修改源码添加国产高分卫星GF-1 GF-2光谱响应支持的更多相关文章
- 64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 )
64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 ) [PS: 如果在64位系统下,出现调用测试demo,返回false的情况下,请修改Hook Dll的代码] glhH ...
- Windows7 64位环境下Python-igraph环境配置
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 其实配置很简单,但是网上的几个都不咋靠谱.而且我本身对这个软件挺感兴趣.igraph是一个网络 ...
- 64位centos 下编译 hadoop 2.6.0 源码
64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新 ...
- ubuntu14.04 64位系统下编译3.13.11内核源码
该过程一共分为四步: 1.下载内核:我下载的是3.13.11这个版本的内核! 2.解压内核:我将其解压/home/jello/Downloads/linux-3.13.11目录下!下文将会基于此目录编 ...
- Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)
Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...
- 装numpy 环境:python3.4+ windows7 +64位系统
机器学习实战python 因为图像处理的原因,初步学习机器学习,选用语言python,参考书籍<机器学习实战> 环境:python3.4+ windows7 +64位系统 首先,今天解决的 ...
- Windows7 64位安装配置Apache2.4+PHP5.4+MySQL5.5+Xdebug
PHP更新已经到了5.4.7了,之前是用PHPstudy安装的PHP5.2.13版本,今天有空,就把之前的集成安装卸载了.换上了新一代PHP,记录一下.. 环境:Windows7 64位(内部版本76 ...
- Windows7 64位机上Emgu CV2.4.2安装与配置
Windows7 64位机上Emgu CV2.4.2安装与配置 分类: Emgu CV 2012-11-28 17:22 92 ...
- PL/SQL Developer 在windows7 64位系统下连Oaracle11g64位系统的解决经验
PL/SQL Developer 在windows7 64位系统下连Oaracle11g64位系统的解决经验 一.问题现象及解决方法 现象: 1.PL/SQL 无法登录64位数据库 2.在PL/SQL ...
随机推荐
- 音视频编解码技术(一):MPEG-4/H.264 AVC 编解码标准
一.H264 概述 H.264,通常也被称之为H.264/AVC(或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC) 1. H.264视频编解码的意义 H.264的出现就是为了创 ...
- input使用小技巧
①:如何修改placeholder样式? input::-webkit-input-placeholder { color: #ccc; font-size: 15px; } 注:其它浏览器适配方案 ...
- [Swift]LeetCode343. 整数拆分 | Integer Break
Given a positive integer n, break it into the sum of at least two positive integers and maximize the ...
- [Swift]LeetCode720. 词典中最长的单词 | Longest Word in Dictionary
Given a list of strings words representing an English Dictionary, find the longest word in words tha ...
- python的基本数据类型(一)
整型和浮点型 一.整型:(int)通俗来说就是我们数学中整十整百的数字 1, 2, 3, 4.......9,10 -1, -2,-3........ 在其他的编程语言中(比如Java.C这一类的语言 ...
- javascript 使用小技巧总结
按位取反 ~a 即:返回 -(a+1),会去掉小数点. let a = 3.14; let b = ~a; //b = -(3.14+1) 取整 为-4: let c = ~b; //c = -(-4 ...
- Nginx学习系列二Linux下Nginx实现负载均衡
关于在本地虚拟机(VMware 14)下安装Linux同时安装Nginx,请参考Nginx学习系列之搭建环境 1.启动Nginx 在Nginx安装成功的前提下,启动Nginx 已root模式登陆(权限 ...
- Jquery.tmpl
它是一个基于jquery的模板展示插件,有了它就可以去展示JSON数据渲染到HTML页中!一.使用方法引入Jquery引入 tmpl<script src="../Scripts/j ...
- 『Power Hungry Cows A*启发式搜索』
Power Hungry Cows(POJ 1945) Description FJ的奶牛想要快速计算整数P的幂 (1 <= P <=20,000),它们需要你的帮助.因为计算极大数的幂, ...
- asp.net core 系列 8 Razor框架路由(下)
三.页面路由操作约定 接着上篇讲asp.net core 系列 7 Razor框架路由.在上篇继续第三节 "页面路由操作约定" 的最后一小节 AddPageRoute . 3.3. ...