最近很忙,每天都特别忙碌,也很少有时间去打球了。

祝愿大家一切都好,北京一切还好,就是北京物价很贵,没有工资补助的我露出了卑微的笑容~

今天和大家分享的是IDL怎么读取MOD021KM MYD021KM中的角度数据,将其重采样到其他的反射率光谱数据的维数大小,即ns = 1354,nl = 2030.重要的是如何避免最容易错的地方,直接po上程序来,如下:
本来我是批处理的,此处简化,po出单景图像的程序,亦可用(中间的其他经纬度代码是我原来读取的时候要用到的,没有用但我就不删除了)。

pro MODIS_angle_resize;***************************启动ENVI批处理模式************************************time_begin = systime(1)compile_opt idl2envi,/restore_base_save_filesenvi_batch_initcd,'G:\MODIS_TOA_r_Original\'fnames = 'MOD021KM.A2018071.0240.061.2018071132914.hdf'out = modis_georef(fnames)envi_batch_inittime_end = systime(1)print,'running time :',(time_end-time_begin)/60.0,'mins'
end
;***************************所调用的函数*********************************************
function modis_georef,fn;在函数中也一定要加上编译,否则主过程中的compile不会传到函数中compile_opt idl2envi,/restore_base_save_files;打开文件hd_id = hdf_sd_start(fn);读取文件数据集数量和属性数量hdf_sd_fileinfo,hd_id,nsds,natts;选择打开数据集lat_id = hdf_sd_select(hd_id,0)long_id = hdf_sd_select(hd_id,1)SOZ_id = hdf_sd_select(hd_id,16);*****************************************读取经纬度数据值*********************************************hdf_sd_getdata,lat_id,Lathdf_sd_getdata,long_id,Lonhdf_sd_getdata,SOZ_id,SOZSOZ = SOZ*0.01;*****************************************SOZ角度重采样**********************************************sz = size(SOZ)ns0 = sz[1]nl0 = sz[2];print,angle[58:60,69:71,3]envi_enter_data,SOZ,r_fid = SOZ_fid,ns = ns0,nl = nl0,nb= 1,data_type = 4,interleave = 0,offset = 0pos = lindgen(1)dims = [-1,0,ns0-1,0,nl0-1]outname = 'G:\MODIS_TOA_反射率\out1'xsize = ns0/1354.0ysize = nl0/2030.0envi_doit,'resize_doit',fid = SOZ_fid,dims = dims,pos = pos,interp = 1,rfact = [xsize, ysize],out_name =outname ,r_fid = r_fid;关闭数据集hdf_sd_endaccess,lat_idhdf_sd_endaccess,long_idhdf_sd_endaccess,SOZ_idhdf_sd_end,hd_id;关闭文件
end

易错点1:
xsize = ns0/1354.0
ysize = nl0/2030.0
重采样的时候设置的xsize和ysize必须是由原来的小size的图像行列数比上最终要得到的重采样后的图像行列号(本程序中是采样到对应的文件中1km反射率波段数据)的大小。或者如果想要扩n倍重采样,则不需要比值,只需要设置:
xsize = 1/n.0
ysize = 1/n.0
一定要.0
易错点2:
dims = [-1,0,ns0-1,0,nl0-1]
envi_doit,‘resize_doit’,fid = SOZ_fid,dims = dims,pos = pos,interp = 1,rfact = [xsize, ysize],out_name =outname ,r_fid = r_fid
在我们本科徐永明老师写的《遥感二次开发语言IDL》书中’resize_doit’这个过程后,对于dims的说明是“重采样后数据的空间范围”,而实际上此处应该是待重采样原始数据的dims,原始待重采样的空间范围。dims数组由一行五列元素组成,其中第一位如果不是用一个已经打开的ROI去重采样的话,就默认用-1,后面四位见下:
DIMS
The “dimensions” keyword is a five-element array of long integers that defines the spatial subset (of a file or array) to use for processing. Nearly every time you specify the keyword FID, you must also specify the spatial subset of the corresponding file (even if the entire file, with no spatial subsetting, is to be processed).

DIMS[0]: A pointer to an open ROI; use only in cases where ROIs define the spatial subset. Otherwise, set to -1L.
DIMS[1]: The starting sample number. The first x pixel is 0.
DIMS[2]: The ending sample number
DIMS[3]: The starting line number. The first y pixel is 0.
DIMS[4]: The ending line number


版权归作者 小白是哪个小白_ 所有,转载、引用请注明链接出处,侵权必纠!

IDL实现MOD021KM 角度数据重采样中的易错点相关推荐

  1. js中childNodes易错点、详解定义以及用法

    js中childNodes易错点.详解定义以及用法 最近学习的时候,我遇到了childNodes的一些问题,我查阅了一些资料,总结一下其定义及用法.在学习childNodes之前,我们需要先了解一下D ...

  2. 关于数据表中插入数据报错(pymysql.err.IntegrityError) (1062, “Duplicate entry ‘0112‘ for key ‘‘teacher.PRIMARY‘“)

    文章目录 1.错误截图: 2.错误解决方案: 1.错误截图: 2.错误解决方案: 数据库的teacher表中已经存在了该数据.执行下面的操作会将报上面的错误. 在设置id和username属性的时候, ...

  3. 【2】二级C语言中那些易错的概念题

    本篇是这几天总结的C语言易错概念题,这些题往往就是因为概念不清而做错,而当我们对概念非常熟练时,又可以秒选.这些题其实都是强行记住就行了,概念不清也就是没记住嘛,因为这种题失分简直就太不值得了,因此有 ...

  4. HiveSql工作中常见易错点总结

    目录 0 前言 1. decimal 2. location 3. load data 和 load data local 4. drop 和 truncate 5. join 连接 6. left ...

  5. 集成学习模型(xgboost、lightgbm、catboost)进行回归预测构建实战:异常数据处理、缺失值处理、数据重采样resample、独热编码、预测特征检查、特征可视化、预测结构可视化、模型

    集成学习模型(xgboost.lightgbm.catboost)进行回归预测构建实战:异常数据处理.缺失值处理.数据重采样resample.独热编码.预测特征检查.特征可视化.预测结构可视化.模型保 ...

  6. 7本书带你掌握数据科学中的数学基础(附下载)

    作者:Ajit Jaokar 翻译:李海明 本文约1500字,建议阅读6分钟. 想要精通数据科学,学好数学功不可没. 微信后台回复"7本书"获取文章内的书籍资源 关键词:书,数据科 ...

  7. 西瓜创客张平曦:从商业目标出发解决数据治理中的困境

    在以"矩·变"为主题的神策 2019 数据驱动大会现场,西瓜创客数据分析负责人张平曦发表了名为<从商业目标出发解决数据治理中的困境>的主题演讲.以下内容根据其现场演讲整 ...

  8. PPT 下载 | 数据治理中的一些挑战与应用

    本文根据神策数据联合创始人 & CTO 曹犟在神策 2019 数据驱动大会的精英训练营上发表的<数据治理中的一些挑战与应用>主题演讲整理而成.本文将为你重点介绍: ·      数 ...

  9. 从源码角度解析Android中APK安装过程

    从源码角度解析Android中APK的安装过程 1. Android中APK简介 Android应用Apk的安装有如下四种方式: 1.1 系统应用安装 没有安装界面,在开机时自动完成 1.2 网络下载 ...

最新文章

  1. 为什么有些xpath绝对路径拿不到数据_我写的Xpath 为什么爬取不到内容
  2. java 取日期_java取的日期的操作
  3. Ecplise中怎样导入Maven项目
  4. Python技术分享:numpy库的安装教程
  5. python格式化字符串_阿博的Python之路详解String数据类型
  6. c语言程序设计实验报告2,C语言程序设计实验报告2.docx
  7. ubuntu18.04(bionic) 配置阿里数据源
  8. Linux源码编译安装程序
  9. 千年老二的 Python 值得学吗?
  10. Sass 基本特性-基础 笔记
  11. 使用谷歌云盘和colab训练自己的数据集(yolov5格式)
  12. BGP基本配置和路由聚合
  13. admi后台 vue_vue-ele-admin后台管理系统框架__布局
  14. 蓝牙Sig Mesh 概念入门③——分层结构Layered architecture
  15. 史上最短命!由于BUG微软撤回Win10更新
  16. Is the American Dream Really Dead?
  17. 基于SSM的企业财务分析报告系统
  18. vue实现PC端调用摄像头拍照人脸录入、移动端调用手机前置摄像头人脸录入、及图片旋转矫正、压缩上传base64格式/文件格式
  19. htpps安装证书检查提示“错误: 服务器缺少中间证书”
  20. 3559A sample hifb解析

热门文章

  1. IDEA中使用git提交到Coding+Git常用的知识
  2. 给定一个多边形的点集——判断所给点集的方向为顺时针方向还是逆时针方向【java实现+原理讲解】
  3. windows2012部署的WSUS服务器无法连接微软服务器无法同步
  4. [转载]J2ME无线开发之MIDlet的部署
  5. 手机摄像模组基本知识
  6. Java、JSP酒店网上订房系统
  7. DSU模板题(树上并查集)
  8. 国内课题基金英文翻译
  9. 电脑开机后过一段时间就自动关机
  10. 具有过零检测的可控硅晶闸管AC模块(交流无极调压)