【GIS实践:python操作nc数据】netCDF4包的使用

已被阅读 335 次 | 文章分类:gis随笔 | 2024-02-16 20:41

借助python的netCDF4包,编写python脚本,通过netCDF4包提供的方法和api读取nc数据,获取其中的详细信息,比如 维度、变量、数据等

1 安装python

要执行python脚本,需要安装python环境,安装很简单,这里以windows系统为例:

👉1.下载python的安装包

访问Python官方网站(https://www.python.org/downloads/),找到适合你操作系统的版本

这里以windows系统为例,下载相应的安装包即可,下载位置如下

小白GIS

如图下载3.10.6版本

👉2.安装python

需要注意一点,勾选add python 3.10.6 to path,将python添加到环境变量的选项勾选,这样就不用手动添加了

之后 一直next就可以了

👉3.验证安装结果

查看python版本号;打开控制台 输入 python --version,如果返回了版本信息 则表示安装成功

                                        
Python 3.10.6
                                        
                                    

2 安装netCDF4 包

netCDF4 是python处理netCDF文件的一个公共库,可以方便读取和修改nc文件,nc文件介绍 👉netCDF介绍

👉1.执行安装

执行如下命令,python会自动安装其需要依赖包

                                        
pip install netCDF4
                                        
                                    

小白GIS

如上图,会自动安装 netCDF4 certifi cftime numpy四个包;

👉2.脚本测试

(1) 新建一个目录,然后在根目录新建test.py文件,然后再放入一个nc文件。

在文件内输入如下内容:

                                        
# test.py文件内容
import netCDF4 as nc              # 导入netCDF4包 并重命名为nc
dataset = nc.Dataset("test.nc");  # 调用netcdf4的Dataset方法
# 1 查看数据集  dataset
print(dataset)                    # 打印nc数据集信息
                                        
                                    

然后执行该脚本测试

(2) 在该目录打开终端,执行python test.py

小白GIS

如上图所示 脚本执行就成功喽

3 详细命令介绍

👉1.查看维度信息

                                        
# 查看文件的维度
print(dataset.dimensions.keys())
                                        
                                    

小白GIS

结果所示:有time、lat、lon三个维度

👉2.查看变量信息

                                        
# 查看文件的变量
print(dataset.variables.keys())
                                        
                                    

小白GIS

如结果所示 有9个变量

                                        
'time', 'lat', 'lon', 'analysed_sst', 'analysis_error', 'mask', 'sea_ice_fraction', 'dt_1km_data', 'sst_anomaly'
                                        
                                    

👉3.查看单个变量信息

                                        
# 查看某个变量的信息
print(dataset.variables['lat'])
                                        
                                    

如上查看lat(纬度)变量的详细信息如下

小白GIS

👉4.查看单个变量属性字段

如果只想查看变量的属性字段,使用如下脚本

                                        
# 查看某个变量的属性
print(dataset.variables['lat'].ncattrs())
                                        
                                    

小白GIS

包含 长名称 标准名称 轴 单位 最小最大值 备注等字段

👉5.查看单个变量数据

                                        
# 读取变量数据值
print(dataset.variables['lat'][:])
                                        
                                    

小白GIS

lat纬度变量的数据如上所示

上述简单演示了netCDF4 变量包的基础方法使用,详细使用方法可访问官网查询

地址:https://unidata.github.io/netcdf4-python/#netCDF4.Dataset

小白GIS

QQ:3410192267 | 技术支持 微信:popstarqqsmall

Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号