下面的代码主要用于使用python语言调用NASA官方的MODIS处理工具HEG进行投影坐标转换与重采样批量处理 主要参考

主要的注意事项如下:

根据HEG用户手册批量生成批处理参数文件,可以在HEG工具中生成一个文件,拿来自己改改用用

**具体调用哪一个工具,参数文件如何写,请一定仔细阅读用户手册,东西全都在上面。一般常用的是resample.exe和swtif.exe,如果实在无法判断可以先用HEG的GUI处理一个自己的数据,保存一个prm文件,然后根据这个文件中的参数,对照着用户手册一个一个的找,**就可以了。

生成参数文件写入时**一定要注意,设定换行符为‘\n’,**fo=open(prmfilename,'w',newline='\n'),否则由于在windows系统下默认换行符为‘\r\n’,程序无法运行成功

下面是源码分享

# -*- coding: utf-8 -*-

"""

Created on Sun Feb 16 11:27:19 2020

调用HEG相关工具批处理MODIS数据,主要完成投影坐标转换与重采样

@author: pan

"""

import os

# 设置HEG相关环境变量

os.environ['MRTDATADIR']='D:/MyApps/HEG/HEG_Win/data'

os.environ['PGSHOME']='D:/MyApps/HEG/HEG_Win/TOOLKIT_MTD'

os.environ['MRTBINDIR']='D:/MyApps/HEG/HEG_Win/bin'

# 设置HEG的bin路径

hegpath = 'D:/MyApps/HEG/HEG_Win/bin'

# 指定处理模块的可执行程序文件路径,此处采用resample.exe,可以根据具体的处理问题设置

hegdo = os.path.join(hegpath, 'resample.exe')

hegdo = hegdo.replace('\\', '/') # 全路径以“/”连接

# 指定输入数据的路径

inpath = r'C:\Users\pan\Desktop\Py_ex\data\hdf'

inpath = inpath.replace('\\', '/')

# 指定输出数据的路径

outpath = r'C:\Users\pan\Desktop\Py_ex\data\hdf\out'

outpath = outpath.replace('\\', '/')

# os.chdir(inpath) #改变当前工作目录到输入数据目录

# 获取当前文件夹下的所有hdf文件

allfiles = os.listdir(inpath)

allhdffiles = []

for eachfile in allfiles:

if os.path.splitext(eachfile)[1] =='.hdf':

allhdffiles.append(eachfile)

print('--'*20)

print('文件数量为:', len(allhdffiles),',所有hdf文件如下')

print(' '+'\n '.join(allhdffiles))

print('--'*20)

# prm文件设置模块,需要首先在HEG工具中生成一个参考的prm文件,示例如下

# 设置prm文件存储路径

prmpath = r"C:\Users\pan\Desktop\Py_ex\data\hdf\prm"

prmpath = prmpath.replace('\\', '/')

for eachhdf in allhdffiles:

prm=['NUM_RUNS = 1\n',

'BEGIN\n',

'INPUT_FILENAME = ' + inpath+'/'+eachhdf+'\n',

'OBJECT_NAME = MODIS_Grid_8Day_1km_LST|\n',

'FIELD_NAME = LST_Day_1km\n',

'BAND_NUMBER = 1\n','SPATIAL_SUBSET_UL_CORNER = ( 90.0 -180.0 )\n',

'SPATIAL_SUBSET_LR_CORNER = ( -90.0 180 )\n',

'RESAMPLING_TYPE = BI\n',

'OUTPUT_PROJECTION_TYPE = ALBERS\n',

'ELLIPSOID_CODE = WGS84\n',

'OUTPUT_PROJECTION_PARAMETERS = ( 0.0 0.0 25.0 47.0 105.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 )\n',

'OUTPUT_PIXEL_SIZE = 500.0\n',

'OUTPUT_FILENAME = ' + outpath+'/'+eachhdf+'_out.tif\n',

'OUTPUT_TYPE = GEO\n',

'END\n']

prmfilename=prmpath +'/'+ eachhdf+'.prm'

prmfilename=prmfilename.replace('\\', '/')

#这里一定要注意,设定换行符为‘\n’,否则由于在windows系统下默认换行符为‘\r\n’,则无法运行成功

fo=open(prmfilename,'w',newline='\n')

fo.writelines(prm)

fo.close()

for eachhdf in allhdffiles:

prmfilepath=prmpath +'\\'+ eachhdf + '.prm'

prmfilepath=prmfilepath.replace('\\', '/')

try:

resamplefiles = '{0} -P {1}'.format(hegdo, prmfilepath)

os.system(resamplefiles)

print(eachhdf + ' has finished')

except:

# 提示错误信息

print(eachhdf + 'was wrong')

hdf heg 批量拼接_python调用HEG工具批量处理MODIS数据相关推荐

  1. python modis数据拼接_python调用HEG工具批量处理MODIS数据的方法及注意事项

    下面的代码主要用于使用python语言调用NASA官方的MODIS处理工具HEG进行投影坐标转换与重采样批量处理 主要参考 HEG的用户手册:https://newsroom.gsfc.nasa.go ...

  2. Prometheus:Java调用PromQL工具类(瞬时数据查询)

    目录 PostMan瞬时数据查询:Windows主机空闲内存量 请求 响应数据 Java:调用PromQL工具类(瞬时数据查询) Prometheus返回结果反序列化 Prometheus常用Prom ...

  3. python批处理工具_python调用HEG工具批量处理MODIS数据的方法及注意事项

    下面的代码主要用于使用python语言调用NASA官方的MODIS处理工具HEG进行投影坐标转换与重采样批量处理 主要参考 HEG的用户手册:https://newsroom.gsfc.nasa.go ...

  4. hdf heg 批量拼接_MODIS数据处理新工具(HDF-EOS To GeoTIFF Conversion Tool,HEG_2.15)官方使用说明...

    MODIS数据处理新工具(HDF-EOS To GeoTIFF Conversion Tool,HEG_2.15)官方使用说明 日期: 2020-08-01 21:57:35 人气: - HDF-EO ...

  5. python大气校正_Python调用C2RCC实现批量数据的大气校正

    目录 1.前言 2.配置环境 3.程序 1.前言 C2RCC大气校正方法在SNAP中作为一个工具出现,安装好SNAP后,就会有该工具.但是发现在SNAP中直接打开C2RCC对OLCI数据进行大气校正时 ...

  6. python arcgis批量绘图_python调用ArcGIS批量生成多环缓冲区(多边形等距离放大)...

    任务说明:需要对地图文件进行要素转面,绘制缓冲区,最后面转线,需要处理的文件有一百多个,手工处理费时费力,写一个脚本,批量自动转换 import os import time import arcpy ...

  7. python win32转pdf 横版_Python调用Win32com实现批量Office转PDF

    from win32com.client import Dispatch from os import walk import sys import fitz def doc2pdf(input_fi ...

  8. python从tushare获取数据_python调用tushare获取股票月线数据

    接口:monthly 描述:获取A股月线数据 限量:单次最大3700,总量不限制 积分:用户需要至少300积分才可以调取,具体请参阅本文最下方积分获取办法 注:tushare库下载和初始化教程,请查阅 ...

  9. python 调用HEG工具批量处理modis数据将hdf转为tif

    python 调用HEG工具批量处理modis数据将hdf转为tif 搞了2.3天才搞定,在这里做个记录,希望 可以帮到需要的朋友. HEG工具安装需要的准备工作: 一.. JAVA安装. 电脑上没有 ...

最新文章

  1. python 新建文件夹
  2. 担心被机器人抢饭碗?亚马逊教 10 万员工这样保住工作
  3. 批量kill掉包含某个nginx的进程
  4. 【T-SQL系列】新的排序函数
  5. TortoiseGit 更新远程仓库最新代码到本地仓库_入门试炼_05
  6. List.Sort用法
  7. win7下node.js设置npm环境变量
  8. python判断奇数_python 中x%2 x1 判断偶数奇数 性能对比
  9. 基于JAVA+SpringBoot+Mybatis+MYSQL的送水公司后台管理系统
  10. 如何代理物联卡?需要什么流程认证?
  11. 房屋租赁管理系统 基于SSM框架 带视频讲解 有文档
  12. Ubuntu18版本安装ROS
  13. Ubuntu修改/home下各目录为英文
  14. python阿拉伯数字转中文_阿拉伯数字转化为中文数字
  15. 程序员职业规划和学习规划
  16. 水箱建模最小二乘法_消防水箱的设置要求
  17. 陈强教授《机器学习及R应用》课程 第十三章作业
  18. 【毕业设计】基于单片机的心率检测系统 - stm32 物联网 嵌入式
  19. 人脸检测研究最新进展
  20. 小白都会用的低代码大数据ETL工具又来了

热门文章

  1. java计算出现负数吗,请问一个计算器的有关问题,怎么实现负数计算
  2. ps如何把自己的图与样机结合_ps小白想知道怎样使用样机素材?
  3. openGL增强表面细节--凹凸贴图
  4. insert into 语句的四种写法
  5. 拆掉思维里的墙读书笔记
  6. 人工智能/数据科学比赛汇总 2019.9
  7. 天线要设计为四分之一波长的原因
  8. 考研数学一无穷级数总结
  9. 冯诺伊曼体系结构建模与模拟 之TOY模型机※
  10. PHP反序列化原生类利用