|
XDMBandConvDataType Class
|
XDMBandConvDataType 클래스는 영상의 데이터 형식(Radiometric resolution)을 변환한다.
Inheritance Hierarchy
Namespace: Pixoneer.NXDL.NRSAssembly: NXDLrs (in NXDLrs.dll) Version: 2.0.3.38
Syntaxpublic class XDMBandConvDataType : XDMBand
The XDMBandConvDataType type exposes the following members.
Constructors
Methods
Example
아래의 예제는 unsigne short(2 bytes) 데이터를 unsigned char(1 byte)로 변환하는 것으로, eConvDataType.Clip 방법을 사용하여
0~255 사이 값만을 저장한다(0보다 작은 경우는 0으로, 255보다 큰 경우는 255로 대응하여 처리한다).
using Pixoneer.NXDL;
using Pixoneer.NXDL.NRS;
using Pixoneer.NXDL.NIO;
XRasterIO RasterIO = new XRasterIO();
String strError = "";
if (RasterIO.Initialize(out strError) == false)
{
return;
}
String strFilePathLoad = "D:\\Sample\\IKONOS.xdm";
XRSLoadFile xrsFileInput = RasterIO.LoadFile(strFilePathLoad, out strError, false, eIOCreateXLDMode.All_NoMsg);
XBandParamConvDataType InputParam = new XBandParamConvDataType();
InputParam.SrcBand = xrsFileInput.GetBandAt(0);
InputParam.ConvMethod = eConvDataType.Clip;
InputParam.DataRangeMin = 0.0;
InputParam.DataRangeMax = 255.0;
InputParam.DataType = eDataType.UINT08;
XDMBandConvDataType bandProcess = new XDMBandConvDataType();
if (!bandProcess.SetInputParam(ref InputParam))
{
return;
}
XRSLoadFile fileLoad = RasterIO.LoadFile(strFilePathLoad, out strError, false, eIOCreateXLDMode.All_NoMsg);
XRSSaveFile fileSave = new XRSSaveFile();
for (int i = 0; i < fileLoad.NumBand; i++)
{
XDMBand bandRaw = fileLoad.GetBandAt(i);
XBandParamConvDataType param = new XBandParamConvDataType(ref InputParam);
param.SrcBand = bandRaw;
XDMBandConvDataType bandTmp = new XDMBandConvDataType();
bandTmp.BandName = bandRaw.BandName;
bandTmp.SetInputParam(ref param);
XDMBand bandCast = (XDMBand)bandTmp;
fileSave.AddBand(ref bandCast);
}
XThread thd = null;
String strFilePathSave = "D:\\Sample\\Out_ConvDataType.xdm";
if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd))
{
return;
}
See Also