Main Content

matlab.io.hdfeos.sw.defDataField

네임스페이스: matlab.io.hdfeos.sw

주사(Swath) 내에 새 데이터 필드 정의

구문

defDataField(swathID,fieldname,dimlist,dtype)
defDataField(swathID,fieldname,dimlist,dtype,mergeCode)

설명

defDataField(swathID,fieldname,dimlist,dtype)swathID로 식별된 주사(Swath)에 저장할 데이터 필드를 정의합니다.

dimlist 입력값은 차원 이름을 포함하는 문자형 벡터로 구성된 셀형 또는 string형 배열이 될 수 있습니다. 차원이 하나만 있는 경우, 단일 문자형 벡터 또는 string형 스칼라일 수 있습니다. dimlist는 가장 빠르게 변화하는 차원이 맨 처음에 나오도록 정렬되어야 합니다. 이는 C API에서 차원이 나열되는 순서와 반대입니다.

dtype은 필드의 데이터형이며, 다음 값 중 하나일 수 있습니다.

  • 'double'

  • 'single'

  • 'int32'

  • 'uint32'

  • 'int16'

  • 'uint16'

  • 'int8'

  • 'uint8'

  • 'char'

defDataField(swathID,fieldname,dimlist,dtype,mergeCode)mergeCode 값에 따라 다른 데이터 필드와 병합할 수 있는 데이터 필드를 정의합니다. mergeCode 입력값은 'automerge' 또는 'nomerge'가 될 수 있습니다. mergeCode'automerge'인 경우 HDF-EOS 라이브러리는 주사 필드를 단일 객체로 병합하려고 시도합니다. 다른 인터페이스를 사용하여 주사 필드에 개별적으로 액세스하려는 경우에는 이를 수행해서는 안 됩니다. 기본적으로 mergeCode'nomerge'입니다.

참고

sw.defDataField로 정의된 필드가 파일에서 제대로 설정되도록 하려면 임의의 필드에 쓰기 전에 주사를 분리했다가 다시 연결해야 합니다.

이 함수는 HDF-EOS 라이브러리 C API의 SWdefdatafield 함수에 대응합니다. 그러나 MATLAB®은 FORTRAN 스타일의 정렬을 사용하므로 dimlist 파라미터는 C 라이브러리 API에 맞게 순서가 뒤바뀝니다.

예제

import matlab.io.hdfeos.*
swfid = sw.open('myfile.hdf','create');
swathID = sw.create(swfid,'MySwath');
sw.defDim(swathID,'GeoTrack',2000);
sw.defDim(swathID,'GeoXtrack',1000);
sw.defDim(swathID,'DataTrack',4000);
sw.defDim(swathID,'DataXtrack',2000);
sw.defDim(swathID,'Bands',3);
sw.defDimMap(swathID,'GeoTrack','DataTrack',0,2);
sw.defDimMap(swathID,'GeoXtrack','DataXtrack',1,2);
dims = {'GeoXtrack','GeoTrack'};
sw.defGeoField(swathID,'Longitude',dims,'float');
sw.defGeoField(swathID,'Latitude',dims,'float');
dims = {'DataXtrack','DataTrack','Bands'};
sw.defDataField(swathID,'Spectra',dims,'float');
sw.detach(swathID);
sw.close(swfid);