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

SMOS数据处理,投影变换,‘EPSG:6933‘转为‘EPSG:4326‘

在处理SMOS数据时,遇到了读取nc数据并存为tif后,影像投影无法改变,因此全球数据无法重叠。源数据的投影为'EPSG:6933',希望转为'EPSG:4326'。

解决代码。

```python
import os
import netCDF4 as nc
import numpy as np
from osgeo import gdal, gdalconst
# *************************导入netCDF4
file_path = r'I:\\'
input_name = file_path + 'SM_SCIE_MIR_L4AGBB_20110101T000000_20211231T235959_100_001_8.nc'
out_path = r'I:\out\\'
res = 0.25 #目标数据的分辨率
top = 57 #目标数据的top坐标
geo_transform = [-179, res, 0.00, top, 0.00, -res] #投影转换os.makedirs(out_path, exist_ok=True)with nc.Dataset(input_name) as DS:data = DS.variables['AGB'] #nc文件数据data_arr1 = np.asarray(data) #转为数组src_proj = DS.proj4text #nc原始文件投影信息for j in range(0, 11):year = str(2011 + j)data_arr3 = np.where(data_arr1[j] < 0, 0, data_arr1[j])data_arr4=np.flipud(data_arr3) #影像上下变换# 获取数组的行数和列数rows, cols = data_arr4.shape# 创建一个新的Dataset对象driver = gdal.GetDriverByName('MEM')dataset = driver.Create('', cols, rows, 1, gdal.GDT_Float32)# 将数组的数据写入Dataset对象band = dataset.GetRasterBand(1)band.WriteArray(data_arr4)# 设置地理变换信息dataset.SetGeoTransform(geo_transform)  # 这里的参数需要设置一下,尽管这个参数在warp后被抹去。# 设置投影信息dataset.SetProjection(src_proj)  # 源文件的投影。option = gdal.WarpOptions(format='GTiff', srcSRS=src_proj, dstSRS='EPSG:4326', outputType=gdal.GDT_Float32, resampleAlg=gdalconst.GRA_NearestNeighbour)out_name = out_path + '**' + year + '.tif'result_data=gdal.Warp(out_name, dataset, options=option,  xRes=res, yRes=res, creationOptions=["COMPRESS=LZW"], dstNodata=0)result_data.SetGeoTransform(geo_transform) #warp后geo_transform信息被抹去,这里需要再次设定。result_data.FlushCache()del result_dataprint(out_name)
'''

http://www.lryc.cn/news/188649.html

相关文章:

  • 游戏服务端性能测试实战总结
  • 塔望食观察 | 中国海参产业发展现状及挑战
  • springboot 捕获特点异常信息并处理
  • 【Spring框架学习3】Spring Bean的作用域 及 生命周期
  • 多线程并发篇---第四篇
  • vs code 添加vue3代码模板方法
  • 怎么通过Fiddler对APP进行抓包?以及高级应用场景分析
  • centos下安装配置redis7
  • 【angular】TodoList小项目(已开源)
  • 【Java 进阶篇】HTML块级元素详解
  • CSS设置鼠标样式和添加视频样式
  • 项目文件上传到行云codeup teambition
  • 现货黄金和实物黄金有什么区别?
  • /dev下没有video0这个文件(ubuntu无法打开摄像头)
  • mysql面试题32:MySQL数据库服务器性能分析的方法命令有哪些?
  • 伦敦银最新价格能进吗?
  • 【计算机毕设案例推荐】洋州影院购票管理系统SpringBoot+Vue
  • Java设计模式之模板方法模式
  • MinIO的安装与使用
  • “==”和equals的区别
  • QT - 对话框去掉标题栏问号
  • FPGA---UDP通信求助
  • RxJava介绍及基本原理
  • nginx目录穿越
  • stl String
  • java通过ffmpeg将wav音频文件转广播音频编码-G.711文件发送
  • 【Spring】Springmvc执行流程
  • 游戏软件开发与应用软件开发有什么不同呢?
  • 绥化市中心广场焕发新活力:OLED透明拼接屏的奇观展示
  • JavaScript(CSS)动画引擎汇总