当前位置: 首页 > news >正文

(Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息

国家青藏高原科学数据中心下载中国1千米分辨率逐日全天候地表土壤水分数据集(2003-2022)
问题:数据在arcgis打开特别大,无法和矢量数据重合,没有设置地理坐标系
数据在网站上提供了投影信息,提示可以进行python编程

环境:pycharm2020python3.8(编译器用的是arcgis pro自带的python3.8

一、打开HDF5数据投影信息(文档)如下

1.地理转换六参数:
(1)	(左上角X坐标)7087254.893403063,
(2)(X向分辨率)926.6258333333334,
(3)(X向仿射变换角度)0.0,
(4)(左上角Y坐标)5896446.849020582,
(5)(Y向仿射变换角度)0.0,
(6)(Y向分辨率)-926.6254166666668	
2.该投影信息对应于GDAL开源包中GDALDataset接口的GetProjection()方法返回参数如下:
PROJCS["AMSRE_Coordinate_System",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Cylindrical_Equal_Area"],PARAMETER["standard_parallel_1",30],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH]]

二、Python编程将HDF5文件转换为TIFF格式并应用地理转换和投影信息

修改这两个就行
1.input_folder 输入文件夹
2.output_folder 输出文件夹
from osgeo import gdal, osr
import os# 定义输入文件夹和输出文件夹路径
input_folder = r'C:\Users\53446\Desktop\1\1'
output_folder = r'C:\Users\53446\Desktop\1\2'# 遍历输入文件夹中的所有HDF5文件
for file_name in os.listdir(input_folder):if file_name.endswith('.h5'):# 构建输入文件路径input_file = os.path.join(input_folder, file_name)# 打开现有的HDF5文件dataset = gdal.Open(input_file)if dataset is not None:# 设置地理转换六参数transform = (7087254.893403063, 926.6258333333334, 0.0, 5896446.849020582, 0.0, -926.6254166666668)dataset.SetGeoTransform(transform)# 设置投影信息projection = 'PROJCS["AMSRE_Coordinate_System",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Cylindrical_Equal_Area"],PARAMETER["standard_parallel_1",30],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH]]'srs = osr.SpatialReference()srs.ImportFromWkt(projection)dataset.SetProjection(srs.ExportToWkt())# 构建输出文件路径output_file = os.path.join(output_folder, file_name.replace('.h5', '.tif'))# 使用Translate函数将HDF5文件转换为TIFF格式并应用地理转换和投影信息gdal.Translate(output_file, dataset, format='GTiff')# 关闭文件dataset = Noneelse:print(f"无法打开文件: {input_file}")

相关文章:

  • 微软 Power Apps Canvas App 画布应用将上传的附件转化为base64编码操作
  • EG-2121CA (晶体振荡器 低抖动表面声波(SAW)振荡器)
  • spring-bus消息总线的使用
  • ubuntu 网络设置
  • C语言第十二弹--扫雷
  • 双指针扫描
  • Qt应用软件【协议篇】Modbus详细介绍
  • Android 熄屏录音一分钟后没有声音
  • 面试经典150题(93-95)
  • 长度最小的子数组[中等]
  • python学习4
  • 低代码
  • JavaScript-for循环的执行顺序
  • 数论与图论
  • C++ 特殊成员函数:默认构造函数、默认析构函数、复制构造函数、赋值运算符
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 【知识碎片】第三方登录弹窗效果
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Apache Pulsar 2.1 重磅发布
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • co模块的前端实现
  • Django 博客开发教程 16 - 统计文章阅读量
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Hexo+码云+git快速搭建免费的静态Blog
  • k8s 面向应用开发者的基础命令
  • LintCode 31. partitionArray 数组划分
  • mysql中InnoDB引擎中页的概念
  • Promise初体验
  • SSH 免密登录
  • 测试如何在敏捷团队中工作?
  • 聊聊directory traversal attack
  • 深度解析利用ES6进行Promise封装总结
  • 使用 Docker 部署 Spring Boot项目
  • 使用Swoole加速Laravel(正式环境中)
  • 我有几个粽子,和一个故事
  • (2)(2.10) LTM telemetry
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (算法)求1到1亿间的质数或素数
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .md即markdown文件的基本常用编写语法
  • .net MySql
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @ModelAttribute使用详解
  • @property @synthesize @dynamic 及相关属性作用探究
  • @RequestBody的使用
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [ABC294Ex] K-Coloring
  • [Android]使用Retrofit进行网络请求
  • [AX]AX2012 R2 出差申请和支出报告