2017-12-13 19 views
0

전역지도 (경도, 위도, 깊이)가 netcdf 파일 (크기 : 236,1440)이며 경도를 -180/180에서 -270/90으로 '이동'하여 셀 번호 0 = -270 등 (호주 대륙이 0에서 300 사이의 격자 셀 번호 주위에 있음을 의미). 파이썬으로 어떻게 할 수 있습니까? 지금까지, 나는python으로 표 셀 번호에 상대적으로 netcdf 데이터 세트를 이동하는 방법은 무엇입니까?

Bathy=Dataset('/path/to/file', 'r+', format="NETCDF4") 

lon=Bathy.variables[u'x'][:] 

lat=Bathy.variables[u'y'][:] 

depth=Bathy.variables[u'z'][:] 

lon=lon[:]-90 

Bathy.variables[u'x'][:]=lon 

Bathy.close() 

을 가지고 있지만 이것은 단지 참조 프레임을 이동하지 실제 그리드 사전에 감사합니다 (즉 0도 경도 서부 호주 등으로 이동을 의미합니다)!

답변

0

좋아, 내가 어떻게 방법을 발견 np.roll이 작업을 수행합니다 :

Bathy=Dataset('/path/to/file', 'r+', format="NETCDF4") 
lon=Bathy.variables[u'x'][:] 
lat=Bathy.variables[u'y'][:] 
depth=Bathy.variables[u'z'][:] 

depth_new=np.roll(depth,360,axis=1) 
lon_new=lon[:]-90 

Bathy.variables[u'x'][:]=lon_new 
Bathy.variables[u'z'][:]=depth_new 
Bathy.close() 

그것은 깊이에서 -90도 경도 인 오른쪽 (에 축 (1)에 따라 360 그리드 셀 값 이동 내 케이스).