【发布时间】:2019-10-09 13:17:53
【问题描述】:
我正在尝试按经度和纬度从 netcdf 文件中提取区域。 然而,分辨率远高于 1x1 度。 那么你将如何提取一个区域,例如经度:30-80 纬度:30-40。 该文件可以在这里找到:https://drive.google.com/open?id=1zX-qYBdXT_GuktC81NoQz9xSxSzM-CTJ
键和形状如下:
odict_keys(['crs', 'lat', 'lon', 'Band1'])
crs ()
lat (25827,)
lon (35178,)
Band1 (25827, 35178)
我试过这个,但是分辨率很高,它并不指实际的经度/经度。
from netCDF4 import Dataset
import numpy as np
import matplotlib.pyplot as plt
file = path + '20180801-ESACCI-L3S_FIRE-BA-MODIS-AREA_3-fv5.1-JD.nc'
fh = Dataset(file)
longitude = fh.variables['lon'][:]
latitude = fh.variables['lat'][:]
band1 = fh.variables['Band1'][:30:80,30:40]
【问题讨论】:
-
您已经不远了,我认为
fh.variables['Band1'][:30:80,30:40]中的索引并没有达到您的预期...[30:80,30:40]将是索引范围,而不是值范围。
标签: python-3.x netcdf matplotlib-basemap