zoukankan      html  css  js  c++  java
  • MODIS MRT安装、影像批处理投影及拼接

     注:本文是作者上学期间科研工作需要所总结,原文发表在QQ个人空间,因工作若干年后还有同学需要做类似工作,公开至此处,便于更多人检索到。

     作者:Sinsonglew 出处:http://www.cnblogs.com/sinsonglew 欢迎转载,也请保留这段声明。thanks :)

    1  MRT工具的安装

    检查自己的电脑上是否已安装java.exe(搜索java.exe即可,当然也可不检查,重新安装一份),在WINDOWS平台下,JAVA.虚拟机的安装路径及MRT的安装路径不宜包含空格。

    WINDOWS平台下的安装过程中,输入路径名注意斜杠“”应改为“/”,比如 c:Modis must be entered as c:/Modis.

    安装MRT之前需要先安装JAVA虚拟机,因为安装MRT的过程中会提示输入java.exe的路径。

    2  MRT工具的使用及批处理操作

    2.1 界面操作

    安装完毕之后,打开MRT的安装路径文件夹,打开bin文件夹,找到ModisTool.bat,创建该文件的快捷方式到桌面,双击快捷方式便进入MRTGUI界面(见Fig.1)。

    Fig.1中,对MODIS  MYD13Q1数据,选择输出EVI NDVI两个数据,指定输出路径输出文件格式为GEOTIFF,采样方式为最近邻,投影类型为UTM,输出像元大小为250m,然后直接点击run就可以了。

      

                             Fig.1  MRT GUI界面 

    2.2 批处理投影

    Fig.1中红色椭圆圈定部分,设定一个HDF文件投影变换的参数后,点击“Save Parameter File…”保存自己设定的参数文件,假设为head.prm

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

    rem Set the MRTDATADIR environmental var to the MRT data directory.
    
     
    
    rem **********************************************************
    
    rem
    
    rem   replace "c:Modisdata" to your own MRTDATADIR setuped"
    
    rem   please refer to "ModisTool.bat",right key and choose "Edit" and you'll get "MRTDATADIR"
    
    rem ***********************************************************
    
     
    
    set MRTDATADIR=c:Modisdata
    
     
    
    rem **********************************************************
    
    rem
    
    rem   change head.prm to your own .prm file, then it's ok!
    
    rem   if somethings wrong, change resample to full path. i.e.
    
    rem   " for %%i in (*.hdf) do resample -p head.prm -i %%i  -o  %%iout.tif "
    
    rem   to "for %%i in (*.hdf) do C:Modisin
    esample.exe -p head.prm -i %%i  -o  %%iout.tif"
    
    rem
    
    rem ***********************************************************
    
     
    
    for %%i in (*.hdf) do resample -p head.prm -i %%i  -o  %%iout.tif

    以上内容可粘贴到自己的记事本文件中,注意红色字体部分为需要改动部分。蓝色字体部分为注意内容。REM为注释的意思,其后所注内容可删去。

    新建一个文件夹,假设起名为DATA,,将head.prmmodis.bat, 所有MODIS HDF数据放在该文件夹下,双击modis.bat,便可看到命令窗口的批出理过程,如发生异常,参见该节中蓝色内容

    2.3 批处理拼接

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

      操作步骤:

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

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

      3:将以下代码内容粘到一个TXT文件中(下文代码绿色字体内容为代码注释内容,请删去),更改TXT文件扩展名为BAT即可,假设你命名该BAT文件名为MOSAIC.BAT;

      4:点击MOSAIC.BAT,即可进行拼接操作,如有问题,请参见"2.2 批处理投影"中提示的注意内容。

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

    set MRTDATADIR=c:Modisdata
    
    set /a DAY=2009257        rem ***开始日期***
    
    set /a DEADLINE=2009273  rem ***结束日期***
    
    :start
    
    if %DAY% leq %DEADLINE% (goto ORDER) else exit
    
    :ORDER
    
    rem **将当天的图幅数据文件名放在一个TXT文件中**
    
    dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT
    
    rem **拼接HDF12种数据中的第一种**
    
    c:/Modis/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
  • 相关阅读:
    MAC下MAMP安装php扩展教程记录
    公司通知正式上班邀请函 3分钟生成微信通知h5邀请函
    H5是什么?H5是否等于HTML5???
    浏览器渲染机制
    小程序后台布局,B站的经典写法
    原创:子组件传递数据给父组件
    父组件传递数据给自定义子组件过程
    原创: 自定义tabs切换组件并使用(微信小程序中
    原创: SpringBoot中filter的使用详解及原理
    若依官方文档 集成jwt实现登录授权访问,返回SysUser对象更多信息给前端
  • 原文地址:https://www.cnblogs.com/sinsonglew/p/4675079.html
Copyright © 2011-2022 走看看