在获取黄土高原的气象数据时遇到了NetCDF格式文件。

从来没见过,费了番功夫用arcPy搞定了,代码如下:

# -*- coding: utf-8 -*-
# 主要参考Esir技术支持NetCDF_time_slice_to_raster脚本与MakeNetCDFRasterLayer脚本
# 速度不快,不如matlab
import arcpy, os, numpy  # 导入arcpy等
from arcpy.sa import *pre_filepath = r'D:\datasum\pre\preNc.nc'  # 读取文件夹
pre_OutputFolder = r"D:\dataset\caijiannc\pre"  # 设置tif文件的输出路径
tmp_filepath = r'D:\dataset\tmp'  # 读取文件夹
tmp_OutputFolder = r"D:\dataset\caijiannc\tmp"  # 设置tif文件的输出路径
class NC:def __init__(self):passdef NC_toTif(firstname,filepath,OutputFolder,variable):file_list = os.listdir(filepath)  # 读取文件夹下所有的文件,我的文件路径之下只有NC文件length = len(file_list)for i in range(0, length):  # 建立循环file = filepath + '/' + file_list[i]print(file)filename = file_list[i]# inNetCDFFile = file#variable = "tmp"  # 变量类型,我这里为降水XDimension = "lon"  # 读取经纬度YDimension = "lat"startyear = int(filename[4:8])if len(filename) == len('pre_2020.nc'):yearnumber = 1else:yearnumber = 3for m in range(0, yearnumber):  # 三年m 0 1 2year = str(startyear + m)for n in range(1, 13):  # n是月份,1-12mouth = str(n)outtime = year + 'y' + mouth + 'm'  # 设置输出的文件名,以时间进行命名outRasterLayer = outtimeprint(outRasterLayer)band = str(m * 12 + n)bandDimension = ''dimensionValues = 'time' + " " + band  # 设置dimensionValue,格式为"time 1",,所以添加了空格print(dimensionValues)valueSelectionMethod = "BY_VALUE"  # 如果by index,索引是从0开始的# Execute MakeNetCDFRasterLayerarcpy.MakeNetCDFRasterLayer_md(file, variable, XDimension, YDimension, outRasterLayer, bandDimension,dimensionValues, valueSelectionMethod)# 导出为tifoutExtractByMask = ExtractByMask(outRasterLayer, r"D:\datasum\DEM\1984_DEM.tif")outtif = OutputFolder + '/' + firstname +outtime + ".tif"print(outtif)# outExtractByMask.save(outtif)#arcpy.CopyRaster_management(outExtractByMask, outtif, background_value=0, pixel_type="32_BIT_FLOAT")# arcpy.CopyRaster_management(outRasterLayer, outtif, background_value= 0, pixel_type="32_BIT_FLOAT")# 导出tif,设置背景值0为nodata;不同版本arcgis参数情况不同;转为float,没必要double类型,便于接下来转换单位并裁剪研究区arcpy.ProjectRaster_management(in_raster=outExtractByMask, out_raster=outtif, \out_coor_system=r"D:\datasum\DEM\1984_DEM.tif",resampling_type="BILINEAR",cell_size='0.00833333333332575')
variable = "preSum.tif"
NC_toTif('band',pre_filepath,pre_OutputFolder,variable)
variable = "tmp"
#NC_toTif('tmp',tmp_filepath,tmp_OutputFolder,variable)

.NC文件批量转换为tif相关推荐

  1. MATLAB读取nc文件并转换为.tif格式

    MATLAB读取nc文件并转换为.tif格式 1. 博文目的 (1)利用matlab读取nc文件,并将nc文件转换为.tif文件 2.时间 (1)开始时间:2017年04月08日 (2)结束时间:20 ...

  2. matlab实现nc文件批量转tif文件

    (1)成功运行例子:(PM1) MATLAB:读取nc文件并将nc文件转为tif文件输出_BetterQ.的博客-CSDN博客_nc文件转tif clc clear %% 批读取NC文件的准备工作 d ...

  3. arcpy将img栅格批量转换为tif格式:

    arcpy将img栅格批量转换为tif格式: img栅格批量转换为tif:完整实例下载 import os #加载os库 import arcpy #加载arcpy库file_dir=r"C ...

  4. labeme批量转换json文件_Python实现markdown文件批量转换为word

    Python实现markdown文件批量转换为word 正所谓,不会markdown的技术员不是老司机,自从用上markdown之后,人生又到了一波小高峰.有好东西怎么能不共享之,因此随之我不断的普( ...

  5. 使用matlab将nc文件转成tif文件

    使用matlab将nc文件转换成tif文件 文章目录 使用matlab将nc文件转换成tif文件 一.nc文件是什么? 二.tif文件是什么? 2.直接上代码 一.nc文件是什么? NetCDF全称为 ...

  6. 【ASE+python】实现将poscar格式文件批量转换为xsd格式文件

    将poscar格式文件批量转换为xsd格式文件 ASE介绍 ASE安装 ASE的ase.io.read()与ase.io.write() ase.io.read() ase.io.write() 单份 ...

  7. ANSI编码文件批量转换为UTF-8编码小tips

    ANSI编码文件批量转换为UTF-8编码小tips import chardet import os path = "C:\\Users\杜漪漪\Desktop\yunnan" # ...

  8. 将DWG文件批量转换为JPG文件

    我们在工作上需要将DWG文件转换为JPG文件,在公司里有很多的DWG文件图纸转换JPG文件,我们不可能一个一个的转换,这时候我们为了提高工作效率需要将DWG文件批量转换为JPG文件,DWG文件批量转换 ...

  9. Bilibili手机端下载的Download文件批量转换为MP4软件【Bilibili_DownVideoToMp4】原创发布

    Bilibili手机端下载的Download文件批量转换为MP4软件[Bilibili_DownVideoToMp4]原创发布 起因 Bilibili手机端的视频下载下来只能在手机上看,手机屏幕太小看 ...

最新文章

  1. Java 9:Process API的增强
  2. 去掉数组左右两边的引号
  3. 同一页面实现多个Tab选项卡功能
  4. Linux下的网络协议分析工具-tcpdump快速入门手册
  5. sql2005安装过程,(不装C盘)
  6. python中itertools groupby函数是干嘛的_python 分组函数 itertools groupby
  7. 如何挑选PMP培训机构
  8. 基于Springboot的高校二手交易网站平台设计与实现
  9. 太实用了!Schedule模块, Python 周期任务神器!
  10. Mathematica 矩阵的LU分解
  11. 项目经理应对需求变更的策略
  12. Stanford机器人D-H坐标系
  13. UKEY通信CCID
  14. 办公室装修的五要四不要
  15. MVP框架——Android
  16. linux镜像烧录工具,树莓派操作系统镜像烧录方法指南
  17. excel省市区提取
  18. 深入分析:Onliner SpamBot7.11亿电邮账号泄露事件
  19. android http收取文件夹,安卓Android手机系统内文件夹目录解释
  20. 手机摄像头驱动_摄像头马达厂持续扩产背后大揭秘

热门文章

  1. 2018第九届蓝桥杯省赛c/c++ A 组题解(填空部分)
  2. 使用高德定位SDK实时定位
  3. 用jQuery写简单的计时器
  4. 百度统计接口 java_百度统计API的使用
  5. 华为云——代码托管的使用
  6. 计算机科学技术学院迎新晚会主题,我院举办“魅力计科人 追梦新IT”2019级迎新晚会...
  7. 【报告分享】2021年Q2数字经济回顾-易观智库(附下载)
  8. android平台与ios下载地址,Android与iOS用户下载时间分布
  9. natch os调试环境搭建
  10. [看看世界]书签备份