如何从包含全球数据的 netCDF4 文件中获取国家特定数据

问题描述 投票:0回答:0

我已经从 ESGF 网站下载了 tasmax 数据集。数据集中的 .nc 文件包含从 1850 年到 2014 年的全球数据。但是,我想从该全球数据中提取特定国家(如孟加拉国、斯里兰卡、巴基斯坦、马尔代夫等)的数据,然后处理这些特定国家。

包含 1850 年到 1899 年数据的 .nc 文件的详细信息:

table_id: day
table_info: Creation Date:(20 February 2019) MD5:951084b632bd52c3f6224e495b1cb65e
title: INM-CM4-8 output prepared for CMIP6
tracking_id: hdl:21.14100/819efd11-8094-46b4-86a9-1296bfe83b55
variable_id: tasmax

dict_keys(['time', 'time_bnds', 'lat', 'lat_bnds', 'lon', 'lon_bnds', 'height', 'tasmax'])

维度(大小):时间(5475),纬度(120),经度(180),bnds(2)

此文件绘制时显示整个地球每天的 tasmax 数据。我需要提取特定国家/地区的数据。 我正在使用 python,但如果这是更好的方法,我也可以使用 QGIS 和 ArcGIS。

我试过像这样在纬度和经度空间中放置特定坐标:

   print(temp[:,23.35,90])

这给出输出:[282.4348 281.53607 283.49426 ... 280.90012 282.33377 282.48367]

通过这种方式,我可以提取特定点的数据。但是国家有很多经纬度点,所以我不能对每个点都这样做,因为那样效率不高。

我还创建了一个 numpy 数据框,并用它来将数据提取到 csv 文件中。

python arcgis netcdf qgis netcdf4
© www.soinside.com 2019 - 2024. All rights reserved.