目录
1.Python3读取hdf文件2.使用Python2读取hdf文件3. 如何使Python2和3兼容3.1 修改Python2.7的名字3.2 pip更新3.2 使用pip2下载python2.7对应的包4. 使用python2.7.18读取hdf文件并输出为TIFF格式1.Python3读取hdf文件
最开始使用Python导入pyhdf包的时候是可以的,但是当导入pyhdf.SD的时候就出现了以下问题:
我查询了很多的相关问题,但是都不能解决我的问题。
网络上解释,这种原因是由于 numpy和 pyhdf的版本号不对应所造成的,而我用的是Python3.9版本,确实找不到哪一个版本的numpy与之对应。
但是网上有人说是因为pyhdf只能在Python2中才能运行,于是我又下载了Python2.7,但其实pyhdf在Python2、3上都能运行:
【资料图】
2.使用Python2读取hdf文件
我在官网上下载了最新的Python2.7.18版本(目前已停止更新),并进行安装。
安装好Python2.7之后,需要重新配置环境变量:此电脑(右击)——属性——高级系统设置——环境变量(高级)——在系统变量(s)的path中添加Python2.7的路径:
配置好之后,可以在CMD命令窗口中输入python查看,是否成功。
配置成功!
3. 如何使Python2和3兼容
因为我电脑里面原本装有Python3.9,此时又装入了Python2.7,某些命令难免会冲突,比如,pip下载whl时,不知道是下载到那个版本中,所以这里需要使两个版本区别开来。
3.1 修改Python2.7的名字
修改 python.exe名字为 python2.exe和 python3.exe:
之后再在CMD窗口中运行Python:
python版本号查看:
配置成功!
3.2 pip更新
Python 安装包需要用到包管理工具pip,但是当同时安装python2和python3的时候,pip只是其中一个版本,以下将提供一个修改方式,即重新安装两个版本的pip,使得两个python版本的pip能够共存。
在DOS命令框输入命令:
1. pip3:
python3 -m pip install --upgrade pip --force-reinstall
2. pip2
python2 -m pip install --upgrade pip --force-reinstall
以上配置完成!
3.2 使用pip2下载python2.7对应的包
这里简单下载了numpy、GDAL、hypdf,其中GDAL和pyhdf只在官网下载的:
pip install GDAL-2.2.4-cp27-cp27m-win_amd64.whl
**注意:**要切换到文件所在文件夹,才能完成安装!
pyhdf.SD成功导入,问题解决:
4. 使用python2.7.18读取hdf文件并输出为TIFF格式
# -*- coding : utf-8 -*- # C:/python2.7 from osgeo import gdal, ogr, osr import warnings warnings.simplefilter ("ignore") from osgeo import gdal from pyhdf.SD import SD, SDC, SDim """File path""" filepath = r"E:\08frost\2008\NIEER_CGF-MODIS_SCE_20080101_DAILY_500m_V02.hdf" """Data""" filename = filepath.split("\\")[-1].split(".")[0] hdf = SD(filepath) snow = hdf.select("Day_Snow_Cover_Area").get() """Spatial Reference""" sr = osr.SpatialReference() sr.ImportFromEPSG(4326) s=sr.ExportToWkt() driver=gdal.GetDriverByName("GTiff") dataset=driver.Create(filename+".tif",14000,8000,1,gdal.GDT_Int16, ["TILED=YES", "COMPRESS=LZW"]) im_geotrans=(72,0.005,0.0,56,0.0,-0.005) dataset.SetGeoTransform(im_geotrans) dataset.SetProjection(s) dataset.GetRasterBand(1).WriteArray(snow)
文件展示:
读取并转换成功!
到此这篇关于Python读取hdf文件并转化为tiff格式输出的文章就介绍到这了,更多相关Python读取hdf文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 1转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 2充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 3好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 4名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 5亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 6京东绿色建材线上平台上线 新增用户70%来自下沉市场
- 7网红淘品牌“七格格”chuu在北京又开一家店 潮人新宠chuu能红多久
- 8市场竞争加剧,有车企因经营不善出现破产、退网、退市
- 9北京市市场监管局为企业纾困减负保护经济韧性
- 10市场监管总局发布限制商品过度包装标准和第1号修改单