MRT(MODIS Reprojection Tool)安装、影像批量拼接、重投影和格式转换

2023-05-16

一、安装MRT(MODIS Reprojection Tool)

  安装准备:检查是否安装java.exe。Java版本至少为Java 2 Runtime Environment version 1.5或者是Java 2 SDK version 1.5或者更高的版本。在Windows平台中可以通过开始/搜索并输入java.exe来检查自己的电脑是否安装有java,也可以不检查直接重新安装一份。

  解压安装包MRT_download_<platform>.zip。包含四个文件:mrt_install.bat,MRT_<platform>.zip,reg_set.exe, 以及unzip.exe。

  双击mrt_install.bat,并按提示完成安装。

       注:下载地址为https://lpdaac.usgs.gov/tools/modis_reprojection_tool,要先注册账号才能下载,注册的时候最好用国外邮箱,如雅虎什么的,反正QQ,163邮箱收不到验证链接。

二、使用MRT(MODIS Reprojection Tool)

(一)GUI界面操作   

  安装完成后,打开MRT的安装路径文件夹,打开bin文件夹,双击ModisTool.bat或者ModisTool.jar即可进 入MRT的GUI界面。

  输入MODIS数据,选择输出NDVI和EVI,指定输出路径输出文件格式为GEOTIFF,采样方式为最近邻,投影类型为Albers Equal Erea,输出像元大小为250m,然后直接点击run就可以了。其中,投影参数设置见下图(STDPR1第一条标准纬线25,STDPR2第二条标准纬线为47,CentMer中央经线为105,datum基准面WGS84):

(二)批处理拼接之一年以内的数据

  备注:该操作数据及BAT文件须放在一个文件夹下(文件夹起名请用英文,MRT对中文路径数据会打不开)。

  操作步骤:

  1.新建一个DATA文件夹,将HDF数据拷到DATA文件夹下;

  2.在DATA文件夹下再新建个Result文件夹(存放拼接后数据);

  3.将以下代码内容粘到一个TXT文件中,更改TXT文件扩展名为BAT即可,假设你命名该BAT文件名为MOSAIC.BAT;

  4:点击MOSAIC.BAT,即可进行拼接操作。

  注意:第一行代码里,把MRTDATADIR替换为你自己的MRTDATADIR名称,MRTDATADIR名称可以在安装目录里,找到ModisTool.bat,然后右键选择编辑中查看;

       此外以下代码未考虑中间天数间断的情况,比如对MODIS时间分辨率为16天的数据,在一个应连续的等差数列中间有数据缺失,存在相差32天的情况,可能会报错,请注意。

set MRTDATADIR=f:\MOD_HDE_SOURCE  

set /a DAY=2000049        rem ***开始日期***

set /a DEADLINE=2000353  rem ***结束日期***

:start

if %DAY% leq %DEADLINE% (goto ORDER) else exit

:ORDER

rem **将当天的图幅数据文件名放在一个TXT文件中**

dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT

rem **拼接HDF12种数据中的第一种**

d:/software_install/MRT/bin/mrtmosaic.exe -i MOSAICINPUT.TXT -s "1 0 0 0 0 0 0 0 0 0 0 0" -o MOSAIC_TMP_%DAY%.hdf 

rem **将拼接后数据复制到已建Result 文件夹中并删除当天的数据**

copy MOSAIC_TMP_%DAY%.hdf  Result & del MOSAIC_TMP_%DAY%.hdf

del *%DAY%.*.hdf

set /a DAY= %DAY% + 16   rem ***拼接下一个时相的数据***

goto start
(三)批处理拼接之多年的数据

  以上代码只能处理一年之内或者每隔一年的数据,如果要一次性处理多年的数据,则参见以下的代码

set MRT_DATA_DIR=f:\MOD_HDF_SOURCE

set /a DAY=2015337

set /a DAY1=337    

set /a DEADLINE=2016353  

:start

if %DAY% leq %DEADLINE% (goto ORDER1) else exit

:ORDER1 

if %DAY1% leq 353 (goto ORDER)

:ORDER

dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT

d:/software_install/MRT/bin/mrtmosaic.exe -i MOSAICINPUT.TXT -s "1 0 0 0 0 0 0 0 0 0 0 0" -o MOSAIC_TMP_%DAY%.hdf 

copy MOSAIC_TMP_%DAY%.hdf  Result & del MOSAIC_TMP_%DAY%.hdf

del *%DAY%.*.hdf

set /a DAY1= %DAY1% + 16

set /a DAY= %DAY% + 16  

if %DAY1% GTR 357 (goto ORDER2)

pause

goto start


:ORDER2


set /a DAY=%DAY% + 1000 - 368

set /a DAY1=1

pause

goto start 
(四)批处理重投影及格式转换

  新建一个文件夹,假设起名为DATA,把所有要处理的MODIS HDF文件放到该文件夹下;    

  在GUI界面中,设定一个HDF文件投影参数后,点击“Save Parameter File…”保存自己设定的参数文件到DATA文件夹下,假设为test.prm;

  在DATA文件夹里,新建一个记事本文件,将下面的内容粘贴进去,需更改几处。更改完毕之后,将记事本文件另存为“.bat”文件,假设为“modis.bat”;

set MRT_DATA_DIR=f:\MOD13Q1_REPROJECTION

for %%i in (*.hdf) do resample.exe -p albers_equal_area_orchid.prm -i %%i -o %%iout.tif

pause
  其中,

  第一行代码里,把MRT_DATA_DIR替换为你自己的MRT_DATA_DIR名称,MRT_DATA_DIR名称可以在安装目录里,找到ModisTool.bat,然后右键选择编辑中找到;

  第二行代码里,把test.prm替换为自己的投影参数文件,如果运行出错的话,可以把resample替换为其完整的路径,如D:\software_install\MRT\bin\resample.exe; 

  第三行代码为运行完成后保留bat运行窗口,如果出现错误,可参见bat窗口的提示,将安装目录下的datum.txt和spheroid.txt文件复制到DATA文件夹里;

  

  双击modis.bat,便可看到命令窗口的批出理过程,如发生异常,检查prm的参数是否设置正确(可在GUI中运行看是否报错)或见上一段的注意事项。
————————————————
版权声明:本文为CSDN博主「suiluochenghu」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/suiluochenghu/article/details/79648980

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MRT(MODIS Reprojection Tool)安装、影像批量拼接、重投影和格式转换 的相关文章

  • 分页存储管理中的页表项长度是什么?

    看到很多人有疑问 xff1f 读到这里的时候我也有疑问的 在操作系统的分页存储管理方式中 xff0c 写道 xff1a 将页表始址与页号和页表项长度的乘积 相加 xff0c 便得到该表项在页表中的位置 于是可从中得到该页的物理块号 xff0
  • apt-get和aptitude

    1 apt get apt get是一条linux命令 xff0c 适用于deb包管理式的操作系统 xff0c 主要用于自动从互联网的软件仓库中搜索 安装 升级 卸载软件或操作系统 Advanced Package Tool xff0c 又
  • SPOOLing技术

    虚拟性是OS的四大特征之一 如果说可以通过多道程序技术 将一台物理CPU虚拟为多台 逻辑CPU xff0c 从而允许多个用户共享一台主机 xff0c 那么通过SPOOLing技术 便可将一台物理I O设备虚拟为多台 逻辑I O设备 xff0
  • C语言 gets()和scanf()函数的区别

    scanf 函数和gets 函数都可用于输入字符串 xff0c 但在功能上有区别 若想从键盘上输入字符串 34 hi hello 34 xff0c 则应该使用gets 函数 gets可以接收空格 xff1b 而scanf遇到空格 回车和Ta
  • vector删除元素之pop_back(),erase(),remove()

    向量容器vector的成员函数pop back 可以删除最后一个元素 而函数erase 可以删除由一个iterator指出的元素 xff0c 也可以删除一个指定范围的元素 还可以采用通用算法 remove 来删除vector容器中的元素 x
  • setw()使用方法

    1 setw xff08 int n xff09 只是对直接跟在 lt lt 后的输出数据起作用 xff0c 而在之后的 lt lt 需要在之前再一次使用setw xff1b xff08 Sets the number of charact
  • 主存到Cache直接映射、全相联映射和组相联映射

    Cache的容量很小 xff0c 它保存的内容只是主存 xff08 内存 xff09 内容的一个子集 xff0c 且Cache与主存的数据交换是以块 xff08 cache line xff09 为单位的 为了把信息放到Cache中 xff
  • 图的存储结构-十字链表和邻接多重表

    1 十字链表 对于有向图来说 xff0c 邻接表是有缺陷的 关心了出度问题 xff0c 想了解入度就必须要遍历整个图才能知道 反之 xff0c 逆邻接表 解决了入度 却不了解出度的情况 有没有可能把邻接表和逆邻接表结合起来呢 xff1f 答
  • U3D开发的逆天级大型游戏有哪些

    1 World of Diving 潜水世界 一款潜水游戏 潜水世界 xff1a http dx60 downyouxi com qianshuishijie zip 氛围不错 xff0c 不过细看建模好像不是特别精细的样子 2 The F
  • 中断屏蔽技术

    1 中断屏蔽技术 xff1a 主要用于多重中断 多重中断 xff1a xff08 中断嵌套 xff09 当CPU 正在执行某个中断服务程序时 xff0c 另一个中断源又提出了新的中断请求 xff0c 而CPU 又响应了这个新的请求 xff0
  • 互斥锁Mutex和信号量

    Mutex是一把钥匙 xff0c 一个人拿了就可进入一个房间 xff0c 出来的时候把钥匙交给队列的第一个 一般的用法是用于串行化对critical section代码的访问 xff0c 保证这段代码不会被并行的运行 Is a key to
  • TCP/UDP的Socket编程接口详解

    socket概述 xff1a socket是在应用层和传输层之间的一个抽象层 xff0c 它把TCP IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信 socket起源于UNIX xff0c 在Unix一切皆文件哲学的
  • release版本程序调用libvlc接口出现异常

    release版本程序调用libvlc接口出现异常 super raymond lu at gmail dot com 转载请注明出处http blog csdn net raymond lu rl article details 7515
  • 对基于深度神经网络的Auto Encoder用于异常检测的一些思考

    一 前言 现实中 xff0c 大部分数据都是无标签的 xff0c 人和动物多数情况下都是通过无监督学习获取概念 xff0c 故而无监督学习拥有广阔的业务场景 举几个场景 xff1a 网络流量是正常流量还是攻击流量 视频中的人的行为是否正常
  • 阿里巴巴五轮面试经验分享

    拿到阿里实习offer xff0c 经历了5次面试 xff0c 其中4轮技术面 xff0c 1轮HR面试 在这里分享一下自己的面试经验和学习心得 希望能够帮助更多的小伙伴 我本科毕业于中南大学信管专业 xff0c 真正开始学习Java是在大
  • FishC笔记—20 讲 函数:内嵌函数和闭包

    本期内容详解 xff1a 1 内嵌函数 xff1a 函数内部新创建另一个函数 2 闭包 xff1a 函数式编程的重要语法 xff0c 如果在一个内部函数里 xff0c 对外部作用域 xff08 但不是在全局作用域的变量 xff09 进行引用
  • bash: setup.bash: No such file or directory和.bashrc文件的问题

    前段时间linux中打开终端时 xff0c 总是出现bash opt ros indig setup bash No such file or directory的问题 此问题跟每次终端打开时要加载的bash有关 xff0c 于是查bash
  • STL 容器、迭代器、算法归纳整理

    注 xff1a 文章由博主同步发布于 xff1a STL 容器 迭代器 算法小结 标准模板库 内容主要源自C 43 43 Standard Library 与 C 43 43 Primer STL是C 43 43 标准库的核心 xff0c
  • 对‘pthread_create’未定义的引用

    注 xff1a 本文由博主同步发布于 xff1a 对 pthread create 未定义的引用 问题 xff1a 使用CLion xff0c 在Linux下编写C 43 43 多线程程序 xff08 使用future和async xff0
  • 无人机4G数传一站多机模式

    随着4G的普及和5G技术的发展以及传统无人机数传距离的限制 xff0c 无人机联网的需求慢慢体现出来 xff0c 乐朴智能推出的无人机4G数传专为无人机应设计 xff0c 仅重49克方便无人机挂载 并且可以支持一站多机和多机互联的方式组网

随机推荐

  • 滑模原理框图

    这几天又重新复习了滑模控制原理 xff0c 借助相图来进行理解 xff0c 有了更深刻的认识 采用滑模控制要求系统是匹配条件下的 xff0c 更重要的是系统的扰动上界需要是已知的 xff0c 否则无法设置相应的切换增益用以抵抗干扰 xff0
  • 前端面试刷题网站汇总

    灵题库 http www lingtiku com 收集一线大厂面试真题 xff0c 还有专项训练 xff08 Promise 作用域 数据类型 React Vue 等等 xff09 以针对性提升 xff0c 每个题目有对应知识点的详细介绍
  • 大数据的感想

    1 大数据即全数据 xff08 即n 61 All xff0c 这里n为数据的大小 xff09 xff0c 其旨在收集和分析与某事物相关的 全部 数据 xff0c 而非仅分析 部分 数据 2 N 61 All xff08 所有 xff09
  • 完全搞懂shell脚本第一行:#!/bin/bash的含义

    shell脚本的第一行一般会写有以下字样 xff1a bin bash 或者 bin sh 或者 bin awk 比较常见的说法是 xff1a 第一行的内容指定了shell脚本解释器的路径 xff0c 而且这个指定路径只能放在文件的第一行
  • Python3 超好用的音频播放模块 playsound

    Python3 超好用的音频播放模块 playsound 前言playsound模块介绍一 模块安装二 使用三 使用中遇到大坑 xff1a 文件无法解除占用 xff01 前言 python2有个很好用的音频播放模块MP3player xff
  • ros中rviz查看激光雷达数据 hokuyo

    一开始没加tf会报错如下 WARN 1531227099 238940419 MessageFilter target 61 map Dropped 100 00 of messages so far 解决如下 启动传感器驱动 xff0c
  • ubuntu vscode 学习

    扩展 visual studio keymap 快捷键 Open the Command Palette View gt Command Palette Ctrl 43 Shift 43 P See an overview of the u
  • repo sync出现错误的解决方法

    1 xff1a 多次出现 fatal The remote end hung up unexpectedly fatal early EOF fatal index pack failed 网络不好 xff0c 挂VPN或使用其他的镜像源
  • python函数参数改不改变的问题

    python函数参数改不改变的问题 结论 xff1a python有可变对象和不可变对象之分 如果传入的参数是不可变对象 xff0c 则在函数体内对形参的修改不会导致实参被修改 xff0c 而如果传入的是可变对象 xff0c 实参有可能会变
  • Google 开源项目风格指南 (中文版)

    Google 开源项目风格指南 中文版 在线文档托管在 ReadTheDocs 在线阅读最新版本中文风格指南 GitHub 托管地址 xff1a zh google styleguide Note 声明 本项目并非 Google 官方项目
  • 富斯,迈克,天地飞4合1接收机说明书

    xff08 上图 xff0c 飞机用的接收机 xff09 xff08 上图 xff0c 车用的接收机 xff09 目录 1 如何和遥控器对码 xff1f 富斯FLLYSKY xff0c 天地飞 MC6C MC7C 2 如何切换对码另一个摇控
  • matlab: Unsupported shape type PolyLineZ

    参考 xff1a https gis stackexchange com questions 40613 importing shapefile in matlab Matlab使用shaperead读取shp文件时 xff0c 出现错误
  • 解决:mount: unknown filesystem type ‘ntfs’ 问题

    使用 mount dev sdb1 mnt usb 挂载U盘报错 mount unknown filesystem type ntfs 上网查询说是系统不支持ntfs文件 解决方法 xff1a 使用 ntfs 3g 来解决 打开ntfs 3
  • Centos7 进入单用户模式

    Centos7 进入单用户模式 当我们设置用户密码时 xff0c 有可能会忘记 xff0c 这时如何登陆呢 xff0c 单用户模式就可以 首先我们进入开机界面 xff0c 按e进行选择 会进入以下界面 xff0c 然后找到图中红线标注的该行
  • centos关机、重启、图形界面与命令行界面切换命令

    1 关机 xff1a init0 poweroff halt shutdown 2 重启 xff1a init1 reboot 3 图形界面切换到命令行界面 xff1a init3 或者 xff0c 修改配置文件 xff1a vi etc
  • CentOS连接Wifi及无法连接问题

    1 查看是否需要安装固件 大多无线网卡还需要固件 内核一般会自动探测并加载两者 xff0c 如果您得到类似 SIOCSIFFLAGS No such file or directory 的输出 xff0c 意味着您得手动加载固件 若不确定
  • Linux挂载windows网盘

    Linux挂载windows网盘 sudo mount t cifs o username 61 yourusername password 61 yourpsw 172 8 8 8 subpath mnt mountpath 安装问题解决
  • Linux命令行curl访问有登陆页面的网络

    curl d 34 username 61 yourusrname amp password 61 yourpsw amp pwd 61 yourpsw amp secret 61 true 34 X POST http 192 8 8 8
  • Windows下搜索指定类型文件,并写入txt中

    使用方式 xff0c dir会搜索包含子目录下的文件 dir path file type b s gt list txt 例如 xff1a 搜索wav文件夹下所以的wav文件 xff0c 包括子目录下的wav文件 xff0c 将结果写入w
  • MRT(MODIS Reprojection Tool)安装、影像批量拼接、重投影和格式转换

    一 安装MRT MODIS Reprojection Tool 安装准备 xff1a 检查是否安装java exe Java版本至少为Java 2 Runtime Environment version 1 5或者是Java 2 SDK v