CMORPH降水数据 nc格式转tif -python版本

此脚本稍作修改 可以批量nc转tif
可以根据提供的经纬度范围 提取指定区域进行转换
我是提取的中国区域,可以自行开启多线程 加快处理速度


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2021-02-14 09:37:54
# @Author  : LiangYujing (532268865@qq.com)
# @Version : $1.0 可自行设置读取的区域范围

import numpy as np
import netCDF4 as nc
from osgeo import gdal, osr
import glob
import re
import collections
import os
import threading
import queue


def mkdir(path):
    isExists = os.path.exists(path)
    if not isExists:
        try:
            os.makedirs(path)
            print(path + '创建成功')
        except FileExistsError:
            print('目录已存在')
    else:
        print('目录已存在')


def get_winsize(ullon, ullat, lrlon, lrlat, lonres, latres):
    # 使用 给定的左上角和右下角的经纬度坐标,获取窗口的行数和列数
    cols = (lrlon - ullon) / lonres
    rows = (lrlat - ullat) / -latres
    return map(int, (cols, rows))


def getXYoff(ullon, ullat, geotransform):
    inv_gt = gdal.InvGeoTransform(geotransform)
    offsets = gdal.ApplyGeoTransform(inv_gt, ullon, ullat)
    xoff, yoff = map(int, offsets)
    return xoff, yoff


def read_nc(filepath):
    nc_obj = nc.Dataset
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术偏执

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值