Python读取GSMap数据的问题

 更新时间:2021年03月10日 10:17:41   作者:凡人不修仙  
这篇文章主要介绍了Python读取GSMap数据的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

前言

最近需要处理一些GSMap的遥感影像,GSMaP是全球降水计划(GPM)时代最主要的高分辨率降水产品,下载需要申请,然后通过ftp地址进行下载。下载好以后用ENVI打开,发现没有头文件,自定义头文件之后,影像极其的奇怪,大概是下面这个样子,实在不符合想象,如果有同学知道怎么回事,希望您能告知我,感谢。现在我打算用python先转成tif格式。

微信图片_20210305235437

python库

glob:是一个文件操作相关模块,支持通配符操作,可用于查找符合一定条件的文件,这里用来批量查找".dat"文件
numpy:读取“.dat”文件为array,固定尺寸为[1200, 3600],填补异常值和缺失值为-999.0
arcpy:将numpy的array输出为“.tiff”格式,添加空间参考GCS_WGS_1984,最终保存tif文件

函数说明

glob.glob:用于选择“.dat”格式文件
np.fromfile:读取二进制文件到array
arcpy.NumPyArrayToRaster:将array转化为栅格数据
arcpy.SpatialReference(4326):引用GCS_WGS_1984的空间参考代号
arcpy.DefineProjection_management:建立空间参考

完整代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Name : gsmap2TIFF.py
# Author : zengsk in NanJing
# Created: 2019/8/24 23:26

'''
说明:1.该脚本是读取gsmap小时尺度降水数据,输出为tiff
 2.运行环境需要安装python2 需要arcpy模块
 3.使用arcgis自带的python环境(有arcpy模块)
 4.运行结果可以直接用arcgis打开
'''

# 导入module
import os
import glob
import numpy as np
import arcpy
import warnings

warnings.simplefilter("ignore") # 忽略警告

# 原始降水数据文件夹,可根据自己本地情况修改
sPath = r'./data'
oDir = r"./tiff/"

for fileName in glob.glob(sPath + '\*.dat'):
 print("Processing... {0}".format(fileName))
 ds = np.fromfile(fileName, dtype=np.float32)
 ds = np.resize(ds, [1200, 3600])
 ds[ds < 0] = -999.00
 ds[np.isnan(ds)] = -999.00 # NODATA_value

 # 输出为TIFF(注意:要用到arcpy模块)
 if not os.path.exists(oDir):
  os.makedirs(oDir)
 TiffName = oDir + os.sep + os.path.basename(fileName)[0:-4] + '.tif' # 输出文件名(可根据实际情况改)
 # arcpy.NumPyArrayToRaster()不清楚输入参数可以查看arcpy的官方文档
 # 矩阵转为栅格
 raster = arcpy.NumPyArrayToRaster(ds, arcpy.Point(0, -60.0),
          x_cell_size=0.1, y_cell_size=0.1, value_to_nodata=-999.00)
 # 添加地理坐标系 GCS_WGS_1984
 spatialRef = arcpy.SpatialReference(4326)
 arcpy.DefineProjection_management(raster, spatialRef)
 raster.save(TiffName)

print("\n++++++ Data Processing Successfully Completed ! ++++++")

最终结果

最终得到GSMap的栅格数据,示例结果如下图。

image-20210306000720650

到此这篇关于Python读取GSMap数据的问题的文章就介绍到这了,更多相关Python读取GSMap数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 简单了解OpenCV是个什么东西

    简单了解OpenCV是个什么东西

    这篇文章主要介绍了简单了解OpenCV是什么,结合了几篇相关文章的介绍,还是比较不错的,希望大家在阅读过之后,会对OpenCV有一个简单了解。
    2017-11-11
  • python dataframe获得指定行列实战代码

    python dataframe获得指定行列实战代码

    对于一个DataFrame,常常需要筛选出某列为指定值的行,下面这篇文章主要给大家介绍了关于python dataframe获得指定行列的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • 利用Python的tkinter模块实现界面化的批量修改文件名

    利用Python的tkinter模块实现界面化的批量修改文件名

    这篇文章主要介绍了利用Python的tkinter模块实现界面化的批量修改文件名,用Python编写过批量修改文件名的脚本程序,代码很简单,运行也比较快,详细内容需要的小伙伴可以参考一下下面文章内容
    2022-08-08
  • Python 2/3下处理cjk编码的zip文件的方法

    Python 2/3下处理cjk编码的zip文件的方法

    今天小编给大家分享Python 2/3下处理cjk编码的zip文件的方法,在项目中经常会遇到这样的问题,小编特意分享到脚本之家平台,感兴趣的朋友跟随小编一起看看吧
    2019-04-04
  • 对python mayavi三维绘图的实现详解

    对python mayavi三维绘图的实现详解

    今天小编就为大家分享一篇对python mayavi三维绘图的实现详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python中pycharm编辑器界面风格修改方法

    Python中pycharm编辑器界面风格修改方法

    这篇文章主要介绍了Python中pycharm编辑器界面风格修改方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • python密码学周期置换密码学习

    python密码学周期置换密码学习

    这篇文章主要为大家介绍了python密码学周期置换密码的学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python为QT程序添加图标的方法详解

    python为QT程序添加图标的方法详解

    这篇文章主要介绍了python为QT程序添加图标的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • 详解Python正则表达式re模块

    详解Python正则表达式re模块

    这篇文章主要介绍了Python正则表达式re模块,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Python实现windows自动关机功能

    Python实现windows自动关机功能

    这篇文章主要为大家详细介绍了如何使用Python实现windows自动关机功能,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2025-01-01

最新评论