matlab.io.hdfeos.gd.defField
네임스페이스: matlab.io.hdfeos.gd
그리드 내에 새 데이터 필드 정의
구문
defField(gridID,fieldname,dimlist,dtype)
defField(gridID,fieldname,dimlist,dtype,mergeCode)
설명
defField(gridID,fieldname,dimlist,dtype)
은 gridID
로 지정된 그리드에 대해 데이터 필드를 정의합니다. fieldname
입력값은 새 필드의 이름입니다. dimlist
는 지리 위치 차원으로 구성된 셀형 배열이며 FORTRAN 스타일의 순서로 나열되어야 합니다. 즉, 가장 빠르게 변화하는 차원이 가장 먼저 나와야 합니다. dimlist
를 차원을 표시하는 텍스트가 있는 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정하거나 (차원이 하나만 있는 경우) 문자형 벡터 또는 string형 스칼라로 지정합니다. dtype
은 필드의 데이터형입니다.
defField(gridID,fieldname,dimlist,dtype,mergeCode)
는 특정 병합 코드를 갖는 데이터 필드를 정의합니다. mergeCode
는 'nomerge'
나 'automerge'
일 수 있습니다. 지정하지 않을 경우 mergeCode
입력값은 기본적으로 'nomerge'
로 설정됩니다.
이 함수는 HDF 라이브러리 C API의 GDdeffield
함수에 대응합니다. 그러나 MATLAB®은 FORTRAN 스타일의 정렬을 사용하므로 dimlist
파라미터는 C 라이브러리 API에 맞게 순서가 뒤바뀝니다.
예제
차원 'XDim'
과 차원 'YDim'
을 가진 단정밀도 그리드 필드 'Temperature'
를 정의합니다. 그런 다음 차원 'XDim'
, 'YDim'
, 'Bands'
를 가진 단정밀도 필드 'Spectra'
를 정의합니다.
import matlab.io.hdfeos.* gfid = gd.open('myfile.hdf','create'); xdim = 120; ydim = 200; gridID = gd.create(gfid,'geo',xdim,ydim,[],[]); gd.defProj(gridID,'geo',[],[],[]); dimlist = {'XDim','YDim'}; gd.defField(gridID,'Temperature',dimlist,'single'); gd.defDim(gridID,'Bands',3); dimlist = {'XDim','YDim','Bands'}; gd.defField(gridID,'Spectra',dimlist,'uint8'); gd.detach(gridID); gd.close(gfid);