爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7781|回复: 1

[经验总结] python :将GEE输出的tif图像转存为nc文件

[复制链接]

新浪微博达人勋

发表于 2022-4-12 17:09:27 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 南极的七色鹿 于 2022-4-12 18:14 编辑

(23条消息) 将GEE输出的tif图像转存为nc文件_cs12ab的博客-CSDN博客_tif转nc

一、将tif转变为nc文件

from osgeo import gdal
import xarray as xr
import matplotlib.pyplot as plt


def tiff2nc(path):
    data = gdal.Open("temp_file/CHINA_NO2_1Km_201906.tif")
    im_width = data.RasterXSize  # 获取宽度,数组第二维,左右方向元素长度,代表经度范围
    im_height = data.RasterYSize  # 获取高度,数组第一维,上下方向元素长度,代表纬度范围
    im_bands = data.RasterCount  # 波段数
    """
    GeoTransform 的含义:
        影像左上角横坐标:im_geotrans[0],对应经度
        影像左上角纵坐标:im_geotrans[3],对应纬度

        遥感图像的水平空间分辨率(纬度间隔):im_geotrans[5]
        遥感图像的垂直空间分辨率(经度间隔):im_geotrans[1]
        通常水平和垂直分辨率相等

        如果遥感影像方向没有发生旋转,即上北下南,则 im_geotrans[2] 与 im_geotrans[4] 为 0

    计算图像地理坐标:
        若图像中某一点的行数和列数分别为 row 和 column,则该点的地理坐标为:
            经度:xGeo = im_geotrans[0] + col * im_geotrans[1] + row * im_geotrans[2]
            纬度:yGeo = im_geotrans[3] + col * im_geotrans[4] + row * im_geotrans[5]
    """
    im_geotrans = data.GetGeoTransform()  # 获取仿射矩阵,含有 6 个元素的元组

    im_proj = data.GetProjection()  # 获取地理信息

    """
    GetRasterBand(bandNum),选择要读取的波段数,bandNum 从 1 开始
    ReadAsArray(xoff, yoff, xsize, ysize),一般就按照下面这么写,偏移量都是 0 ,返回 ndarray 数组
    """
    im_data = data.GetRasterBand(1).ReadAsArray(xoff=0, yoff=0, win_xsize=im_width, win_ysize=im_height)
    # 根据im_proj得到图像的经纬度信息
    im_lon = [im_geotrans[0] + i * im_geotrans[1] for i in range(im_width)]
    im_lat = [im_geotrans[3] + i * im_geotrans[5] for i in range(im_height)]

    im_nc = xr.DataArray(im_data, coords=[im_lat, im_lon], dims=['lat', 'lon'])
    return im_nc

day_nc = tiff2nc('temp_file/CHINA_NO2_1Km_201906.tif')

# 使用xarray自带的绘图函数进行可视化
day_nc.plot()
plt.show()
二、
#gdalinfo,查看栅格数据信息



密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2023-4-16 18:16:24 | 显示全部楼层
我感觉应该开一个新的板块,介绍google earth  engine
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表