二维数组中的纬度/经度索引

时间:2018-08-16 08:14:33

标签: python netcdf python-xarray

我有一个.nc文件,其中纬度和经度位于2d数组中。我想提取某些已知点的值。我找不到找到已知点索引的方法。

数据结构如下:

OrderedDict([(u'lon', <type 'netCDF4._netCDF4.Variable'>
              float32 lon(y, x)
                  standard_name: longitude
                  long_name: longitude
                  units: degrees_east
                  _CoordinateAxisType: Lon
              unlimited dimensions: 
              current shape = (146, 209)
              filling off), (u'lat', <type 'netCDF4._netCDF4.Variable'>
              float32 lat(y, x)
                  standard_name: latitude
                  long_name: latitude
                  units: degrees_north
                  _CoordinateAxisType: Lat
              unlimited dimensions: 
              current shape = (146, 209)
              filling off), (u'time', <type 'netCDF4._netCDF4.Variable'>
              float64 time(time)
                  standard_name: time
                  units: seconds since 1949-12-1 00:00:00
                  calendar: proleptic_gregorian
                  axis: T
              unlimited dimensions: time
              current shape = (55152,)
              filling off), (u'TOT_PREC', <type 'netCDF4._netCDF4.Variable'>
              float32 TOT_PREC(time, y, x)
                  standard_name: precipitation_amount
                  long_name: total precipitation amount
                  units: kg m-2
                  coordinates: lat lon
                  cell_methods: time: sum
              unlimited dimensions: time
              current shape = (55152, 146, 209)
              filling off)])

假设我想将值提取到坐标为lat=27.25lon=85.75的点上,那么如何获取这些坐标的经纬度索引。

任何帮助或建议将不胜感激!

1 个答案:

答案 0 :(得分:0)

首先,您阅读其中的.nc文件和变量

ds1 = NetCDFFile('file.nc')
ds2 = ...

lon = ds.variables['lon'][:]
lat = ds.variables['lat'][:]

然后使用“ for”循环{} {} {} lat,lon,data写入文件 然后您轻松读取数据。 希望这是有道理的。