前言

本文主要是处理葵花8(Himawari 8) L1级netCDF格式数据
葵花8(Himawari 8)卫星数据请自行百度教程,官网数据下载地址:https://www.eorc.jaxa.jp/ptree/registration_top.html

数据简介:https://www.eorc.jaxa.jp/ptree/userguide.html

所需要的库:

netCDF4
gdal

代码

import numpy as np
import netCDF4 as nc
from osgeo import gdal, osr, ogr
import osdata = r"...\dataset\H8\NC_H08_20160902_1050_R21_FLDK.06001_06001.nc"
nc_data = nc.Dataset(data)  # 读入数据
print(nc_data)

输出结果如下,可以看到头文件信息,包括行列号、数据时间、范围和网格大小(空间分辨率)

<class 'netCDF4._netCDF4.Dataset'>
root group (NETCDF4 data model, file format HDF5):title: Himawari-8 AHI equal latitude-longitude map dataid: NC_H08_20160902_1050_R21_FLDK.06001_06001.ncdate_created: 2016-09-02T11:05:56Zpixel_number: 6001line_number: 6001upper_left_latitude: 60.0upper_left_longitude: 80.0grid_interval: 0.02band_number: 16dimensions(sizes): latitude(6001), longitude(6001), band(16), time(1), geometry(17)variables(dimensions): float32 latitude(latitude), float32 longitude(longitude), int32 band_id(band), float64 start_time(time), float64 end_time(time), float64 geometry_parameters(geometry), int16 albedo_01(latitude, longitude), int16 albedo_02(latitude, longitude), int16 albedo_03(latitude, longitude), int16 sd_albedo_03(latitude, longitude), int16 albedo_04(latitude, longitude), int16 albedo_05(latitude, longitude), int16 albedo_06(latitude, longitude), int16 tbb_07(latitude, longitude), int16 tbb_08(latitude, longitude), int16 tbb_09(latitude, longitude), int16 tbb_10(latitude, longitude), int16 tbb_11(latitude, longitude), int16 tbb_12(latitude, longitude), int16 tbb_13(latitude, longitude), int16 tbb_14(latitude, longitude), int16 tbb_15(latitude, longitude), int16 tbb_16(latitude, longitude), int16 SAZ(latitude, longitude), int16 SAA(latitude, longitude), int16 SOZ(latitude, longitude), int16 SOA(latitude, longitude), int16 Hour(latitude, longitude)groups:
list(nc_data.variables.keys())

这样可以清晰的看到数据集中包含哪些数据,可以把nc数据看成是一个大的字典,可以按keys来提取数据。

['latitude','longitude','band_id','start_time','end_time','geometry_parameters','albedo_01','albedo_02','albedo_03','sd_albedo_03','albedo_04','albedo_05','albedo_06','tbb_07','tbb_08','tbb_09','tbb_10','tbb_11','tbb_12','tbb_13','tbb_14','tbb_15','tbb_16','SAZ','SAA','SOZ','SOA','Hour']
# 查看温度波段的头文件信息,可以看到名称、比例因子、偏移量、单位等信息。
nc_data['tbb_13']
<class 'netCDF4._netCDF4.Variable'>
int16 tbb_13(latitude, longitude)long_name: Brightness temperature of band 13units: Kvalid_min: -27315valid_max: 32767scale_factor: 0.01add_offset: 273.15missing_value: -32768
unlimited dimensions:
current shape = (6001, 6001)
filling on, default _FillValue of -32767 used

提取12波段的亮温数据

tbb_12 = np.asarray(nc_data['tbb_12'][:])  # 结果为物理量

nc原数据是一个整数,这里netCDF4直接进行了计算,将其转为了亮温的开尔文物理量。

lat = nc_data['latitude'][:]
lon = nc_data['longitude'][:]
latMin, latMax, lonMin, lonMax = lat.min(), lat.max(), lon.min(), lon.max()
# 分辨率
lat_Res = (latMax - latMin) / (lat.shape[0]-1)
lon_Res = (lonMax - lonMin) / (lon.shape[0]-1)# 保存路径和名称,先占个坑
driver = gdal.GetDriverByName('GTiff')
out_tif_name = r'...\dataset\H8\H8_20160902_tbb_12_temp.tif'
out_tif = driver.Create(out_tif_name, lon.shape[0], lat.shape[0], 1, gdal.GDT_Float32)# 输出结果
geotransform = (lonMin,lon_Res, 0, latMax, 0, -lat_Res)
out_tif.SetGeoTransform(geotransform)
srs = osr.SpatialReference()
srs.SetWellKnownGeogCS('WGS84')
out_tif.SetProjection(srs.ExportToWkt())
out_tif.GetRasterBand(1).WriteArray(tbb_12)
out_tif.FlushCache()
out_tif = None

python处理葵花8 netCDF4(nc格式)数据相关推荐

  1. MATLAB读取nc格式数据并可视化显示(以海面风场反演为例)

    MATLAB读取nc数据并实现可视化 (以全球海洋风场反演为例-更新版) 1.海面风场数据下载 从ECNWF(https://apps.ecmwf.int/datasets/data/era40-da ...

  2. Python读取MEIC文件(.nc格式及.asc格式)

    需求分析:研究需要使用到-中国多尺度排放清单模型MEIC中的数据.下载的MEIC含.xml, .nc以及.asc三种不同类型的文件,如下:.nc以及.asc中的数据理论上相同,但需要验证. 数据读取 ...

  3. Matlab/Python nc格式小时数据转日期

    在处理气象nc格式数据时,时间变量往往不是已YYYYMMDD格式给出日期,而是距某一天(如1900年1月1日)XXX小时或XXX日. 为此,可由以下代码将nc的时间变量转为日期: matlab代码: ...

  4. Python将JSON格式数据转换为SQL语句以便导入MySQL数据库

    前文中我们把网络爬虫爬取的数据保存为JSON格式,但为了能够更方便地处理数据.我们希望把这些数据导入到MySQL数据库中.phpMyadmin能够把MySQL数据库中的数据导出为JSON格式文件,但却 ...

  5. 基于GDAL库,读取海洋风场数据(.nc格式)c++版

    经过这一段时间的对海洋数据的处理,接触了大量的与海洋相关的数据,例如海洋地形.海洋表面温度.盐度.湿度.云场.风场等数据,除了地形数据是grd格式外,其他的都是nc格式的数据.本文将以海洋风场数据为例 ...

  6. netcdf geotiff java_R-NC格式数据转GeoTIFF

    0. 问题导入 目前,很多地理数据均存储为NetCDF格式(下简称NC格式),而往往内含多变量,不方便处理.其中,一种解决思路就是将NC格式文件中的多个变量数据转格式为单变量的GeoTiff文件(图1 ...

  7. 通量数据处理(Python)——NC格式转为CSV格式

    1.数据结构   NetCDF(network Common Data Form)网络通用数据格式包括变量.维和属性.通量数据RDMF_2011_L3.nc可利用软件Panoply进行可视化,如下图所 ...

  8. 基于Python+GDAL实现nc格式转geotiff格式

    基于Python+GDAL实现nc格式转geotiff格式 1. 目的 2. 版本 3. 基础知识  3.1 什么是nc文件?  3.2 基于Python处理nc文件需要用到的库 4. 程序示例 5. ...

  9. python读取nc文件数据生成专业气象图

    python读取nc文件数据生成专业气象图如色斑图.等值线.风向标,如下图所示: 代码如下: # -*- coding: utf-8 -*- """ Created on ...

  10. python中json模块_Python使用内置json模块解析json格式数据的方法

    本文实例讲述了Python使用内置json模块解析json格式数据的方法.分享给大家供大家参考,具体如下: Python中解析json字符串非常简单,直接用内置的json模块就可以,不需要安装额外的模 ...

最新文章

  1. docker-3-常用命令(上)
  2. CentOS 7 下安装 mysql ,以及用到的命令
  3. Vue axios发送Http请求
  4. Hive的基本操作-表结构修改和数据加载
  5. MySQL中的BLOB类型
  6. EIGRP个人学习笔记
  7. JAVA面试题:HashMap和Hashtable的区别
  8. nacos 本地测试_本地调试和服务器调试都无法连通-问答-阿里云开发者社区-阿里云...
  9. java保存图书每日的交易记录
  10. 纯CSS实现兼容ie6以上的圆角头像
  11. Oracle10g BIGFILE表空间带来的好处
  12. 【优化算法】晶体结构算法【含Matlab源码 1800期】
  13. CTF Crypto 入门练习
  14. 计算机水平2018下半年模拟考试,2018年下半年程序员考试下午试题及答案
  15. php fgetc,PHP 文件读取 fread、fgets、fgetc、file_get_contents 与 file 函数
  16. python写金字塔(数字金字塔)
  17. java求质因数算法
  18. 天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测
  19. Hello MySQL(十三)——事务和锁
  20. Python项目实战之欢迎来到美多商城!学习目录导航

热门文章

  1. 污水处理施耐德TM218PLC程序
  2. 基于Easy CHM和VS的帮助文档制作
  3. 51单片机之串口通信、WiFi模块、蓝牙模块、4G模块
  4. 15个超级实用web开发实用工具
  5. 红巨星粒子插件:Red Giant Trapcode Suite 15 for Mac
  6. jquery版本之间的冲突
  7. 插头插座新旧标准对比和安规测试设备
  8. 【每周一本书】之《解码者:艾伦·图灵传》:解码计算机之父、人工智能奠基者的谜样人生
  9. 打印机软件未通过电脑测试,打印机测试错误 原因administrator解决办法
  10. Linux安装maven详细步骤