通过Python实现NC文件转GeoTiff格式
一、前言
- 基于Python和GDAL库介绍处理nc文件的基本操作
- 简单处理nc文件为GeoTiff文件的Python函数
二、基本了解
-
什么是NC格式
NC文件即NetCDF (Network Common Data Form),是一种通用的数据存储格式。广泛用于存储地学、大气科学、海洋科学等一系列多维数据,可封装时间、经度、纬度、降水、温度等多个维度数据,数据结构清晰易读,可以很方便的提取、应用。
-
什么是GeoTiff格式
GeoTIFF 是一种地理栅格文件,可以理解为专门存储地理信息的Tiff图像文件格式。地理坐标系、地图投影等要素直接嵌入到图像文件中。
-
Python处理nc文件需要用到的库
-
NetCDF4用于读取NC文件;numpy用于数据修改;osgeo的子库gdal和osr,前者用于实现转换和栅格编辑功能,后者可用于确定地理坐标系和地图投影。
import numpy as np import netCDF4 as nc from osgeo import gdal,osr
-
建议使用 Anaconda 配置虚拟Python环境,可以很方便地进行包管理,我这里使用的环境版本是
python 3.6.12(64bit) numpy 1.19.1 netCDF4 1.4.2 gdal 3.0.2
-
三、功能实现
-
查看NC文件信息
import netCDF4 as nc import numpy as np item = r'***.nc'#选取一个nc文件路径 DS = nc.Dataset(item) print(DS,type(NC_DS)) # 返回DS的数据类型,<class 'netCDF4._netCDF4.Dataset'> print('{:-<100}'.format('----')) print(DS.variables) # 了解变量的基本信息 print('{:-<100}'.format('----')) print(DS.variables['lon']) # 了解某一