2017-02-08 7 views
2

foll과 함께 netCDF 파일이 있습니다. 구조 :xarray를 사용하여 netcdf에서 가장 가까운 lat-lon 및 time 값을 추출합니다.

<xarray.Dataset> 
Dimensions: (latitude: 94, longitude: 192, time: 366) 
Coordinates: 
    * longitude (longitude) float32 -180.0 -178.125 -176.25 -174.375 -172.5 ... 
    * latitude (latitude) float32 88.5419 86.6532 84.7532 82.8508 80.9474 ... 
    * time  (time) datetime64[ns] 2016-01-01 2016-01-02 2016-01-03 ... 
Data variables: 
    m2t  (time, latitude, longitude) float64 246.5 246.4 246.4 246.4 
    pre  (time, latitude, longitude) float64 9.988e-08 9.988e-08 ... 
Attributes: 
    Conventions: CF-1.0 

어떻게 특정 위도와 경도에 대한 그리드 셀의 값을 추출 않습니다 (예를 들어 86.45, -156.25)와 시간 (2016년 1월 10일를 말)? 그러나

_hndl_nc.sel(longitude=(_hndl_nc.longitude == -20)) 

: 정확한 위도/경도 값이 우리가이 같은 특정 경도 값을 추출 할 수 있습니다

가장 가까운 위도/경도 값을 할 경우 좌표하지 않을 가능성이 있습니다 -20은 경도 좌표에 존재하지 않으므로 작동하지 않습니다.

답변

3

당신은 아직 확실히 올바른 구문을 가지고 있지 않지만 아주 가까이 :

_hndl_nc.sel(time='2016-01-10', longitude=-170.0, latitude=-20.0, method='nearest') 

도 참조 : Read multiple coordinates with xarray

+0

와우! 이것은 단지 aw30입니다 – user308827

+0

이것은 매우 유용합니다! 가장 가까운 픽셀 col/row를 얻기 위해 고전적인 argmin() 라인을 사용하지 않아도됩니다. –