全球高分辨率(3小时,10公里)地表太阳辐射数据集(1983-2018)数据单像元数值获取

国家青藏高原科学数据中心提供了全球高分辨率(3小时,10公里)地表太阳辐射数据集(1983-2018)。https://data.tpdc.ac.cn/zh-hans/data/be562de3-6367-402f-956d-59f7c21ad294/?q=%E5%85%A8%E7%90%83%E9%AB%98%E5%88%86%E8%BE%A8%E7%8E%87%EF%BC%883%E5%B0%8F%E6%97%B6%EF%BC%8C10%E5%85%AC%E9%87%8C%EF%BC%89%E5%9C%B0%E8%A1%A8%E5%A4%AA%E9%98%B3%E8%BE%90%E5%B0%84%E6%95%B0%E6%8D%AE%E9%9B%86%EF%BC%881983-2018%EF%BC%89icon-default.png?t=M7J4https://data.tpdc.ac.cn/zh-hans/data/be562de3-6367-402f-956d-59f7c21ad294/?q=%E5%85%A8%E7%90%83%E9%AB%98%E5%88%86%E8%BE%A8%E7%8E%87%EF%BC%883%E5%B0%8F%E6%97%B6%EF%BC%8C10%E5%85%AC%E9%87%8C%EF%BC%89%E5%9C%B0%E8%A1%A8%E5%A4%AA%E9%98%B3%E8%BE%90%E5%B0%84%E6%95%B0%E6%8D%AE%E9%9B%86%EF%BC%881983-2018%EF%BC%89

数据格式是nc,本文采用Python进行数据提取(仅单个像元单年份或多年份的提取,多个像元暂时不知道如何提取,也由于暂时用不到,因此没有深入研究,欢迎各位老师指教)。

import os

import numpy as nup

from netCDF4 import Dataset

directory_name = "C:\\Users\\mhb\\Desktop\\xinjian"
#上面一行是文件目录所在位置

ff = os.listdir(directory_name)

for item in ff:

    nc_file = directory_name + "\\" +item

    nc_obj = Dataset(nc_file)

    abc = nc_obj['daily_global_radiation'][:]

    print(abc[1164][1193])
#上面一行是要提取的数据所在该nc文件的“列+行”号,此处存疑,仅个人推测是列行号而非行列号,待各位测试后反馈。

需要更改的部分仅目录位置和需要提取的像元所在数据列行号。

先说如何提取,再说推算的过程(经过与@利未的博客_CSDN博客-领域博主的交流,确定了以下推算方法,在此特别感谢!)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

下述abs=取绝对值。

令a=abs(经度*10)&忽略小数位数取整,

东经的情况下:x=a,例如E 119.359°,则x=1993;

西经的情况下:x=3600-a-1,例如W 170.312°,则x=1896;

令b=纬度,

北纬的情况下:y=abs(b-89.95)*10,例如N 26.297°,则y=636;

南纬的情况下:y=abs(b+89.95)*10,例如S 26.297°,则y=1162。

 在pycharm中将最后一行改为[y][x]的形式,即:

    print(abc[1164][1193])

运行,输出最后结果,如下:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

像元所在数据列行号是根据软件Panoply确定的,具体的下载、安装及配置参考以下文章。

安装并使用Panoply (netCDF, HDF and GRIB Data Viewer)_ch206265的博客-CSDN博客_panoply安装Panoply is a data viewer that displays geo-referenced arrays in NetCDF, HDF, and GRIB formats. Panoply是一种数据查看器,可以快速生成NetCDF,HDF和GRIB格式地理数据的视图。https://blog.csdn.net/ch206265/article/details/103516883安装完毕后,打开,依次选择File-Open输入nc文件。

双击后配置经纬度,此处更改为X轴对应经度,Y轴为纬度。

 可以得到下图及行列号对应的数组,我们要做的就是根据经纬度和来确定单个像元的位置。

上面可以看到,纬度共180°被分为了1800行,经度共360°被分为了3600列。官网上下载的坐标信息显示左上角纬度89.95°,经度0.05°;右下角纬度-88.95°,经度359.95°。

因此根据所在区域的经纬度可以进行以下换算

令a=abs(经度*10)&忽略小数位数取整,

东经的情况下:x=a,例如E 119.359°,则x=1993;

西经的情况下:x=3600-a-1,例如W 170.312°,则x=1896;

令b=纬度,

北纬的情况下:y=abs(b-89.95)*10,例如N 26.297°,则y=636;

南纬的情况下:y=abs(b+89.95)*10,例如S 26.297°,则y=1162。

完毕

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lemonade723

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值