java解析netcdf转矢量,GIS与R语言中NetCDF数据读取与格式转换

NetCDF(nc)数据读取与格式转换

NetCDF(network Common Data Form)网络通用数据格式是由美国大学大气研究协会(University Corporation for Atmospheric Research,UCAR)的 Unidata 项目科学家针对科学数据的特点开发的,是一种面向数组型并适于网络共享的数据的描述和编码标准。目前,NetCDF广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。用户可以借助多种方式方便地管理和操作 NetCDF 数据集。

在这里以CRU TS Version 4.04数据为例,介绍一下nc数据格式读取与转换TIFF等相关内容。

1 GIS里面读取nc数据

ArcGIS数据读取与转换

ArcGIS中可以使用Multidimension Tools-Make NetCDF Raster Layer将nc文件转化为一个栅格图层。

b184815502141b8e9266ce38aa3cdf4e.png

Make NetCDF Raster Layer

打开转换后的栅格图层属性,查看NetCDF选项卡,查看维度值,可以看到当前显示的数据时间。

98aba257e84b67443d8a9821b18baad8.png

查看nc栅格属性

在图层上右击,数据(Data),导出数据(Export Data),即可将数据导出为TIFF格式

2e41f1315e99b22a3d5cc93c0d3b1888.png

数据导出TIFF

但是NetCDF数据往往有很多个时间,这样只能导出一个时间的数据。在ArcGIS中使用Modelbuilder可以将NetCDF数据转化为多波段的TIFF数据,使用的工具如下(在这里没有设置参数,按照你的目录调整参数即可):

关于Model Builder的使用请参阅文末相关文章阅读

214bd83b906086f1d8d0bba1f749cbbe.png

nc转多波段TIFF

上面Model Builder导出的数据将所有的时间写入了一个TIF,同时时间信息丢失了,没有具体的显示,也不太方便。

QGIS查看nc数据

QGIS原生支持nc数据,直接将nc数据拖入QGIS即可打开。颜色可以从图层属性,符号化选项卡进行修改

9c115d60edfcc9d947f173743ea84b14.png

QGIS符号化调整

波段1时间是36905,时间起始是1900-1-1,可以在EXCEL里面进行一下计算,查看可得波段1时间为2001年1月

12bbc16a71f35fc46cdb7d4262ded9a2.png

EXCEL计算时间

在QGIS中也可以通过另存为的方式将nc转为TIFF文件。

2 R语言处理nc数据

这里最推荐的就是R语言啦,编程简单,效果好!

ncdf4包是最常用的读取nc文件的R包,这里就不多说了,我这次主要是想把CRU TS时间序列nc数据转为单幅的TIFF文件,这样就能够用下面文章2里面的代码进行计算处理了。

三句话,nc转tiff完成!

library(raster)

tmpbr 

writeRaster(tmpbr, filename = tmpbr@data@names, bylayer=T, format="GTiff")

3a5b0b3013fe6be48df09777019122dd.png

转换后以时间命名的TIFF文件

剩下的就可以用下面文章2中的方法计算和可视化了!

相关文章与参考文献:

https://pjbartlein.github.io/REarthSysSci/raster_intro.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值