![]() | XDMBandMath Class |
Namespace: Pixoneer.NXDL.NRS
public class XDMBandMath : XDMBand
The XDMBandMath type exposes the following members.
Name | Description | |
---|---|---|
![]() | XDMBandMath | XDMBandMath 클래스의 기본 생성자로서, 멤버변수에 대하여 초기화를 수행한다. |
Name | Description | |
---|---|---|
![]() | GetInputParam | Band간의 수학적 연산에 필요한 입력 파라미터를 얻는다. |
![]() | SetInputParam | Band Math을 위한 입력 파라미터를 설정한다. |
영상 밴드는 추가한 순서대로 "B" 접두사를 붙여서 구분한다. 예를 들어 두 번째 영상 밴드는 "B2"로 수식에 사용하면 된다. 수식에 사용할 수 있는 토큰은 다음과 같다.
// IO initialize to load image file XRasterIO RasterIO = new XRasterIO(); String strError = ""; if (RasterIO.Initialize(out strError) == false) { return; } // Image load String strFilePathLoad = "D:\\Sample\\RS_Sample\\Math\\etm.xdm"; XRSLoadFile xrsFileInput = RasterIO.LoadFile(strFilePathLoad, out strError, false, eIOCreateXLDMode.All_NoMsg); // Set input param XBandParamMath InputParam = new XBandParamMath(); // Common for (int i = 0; i < xrsFileInput.NumBand; i++) { InputParam.ArrBandList.Add(xrsFileInput.GetBandAt(i)); } InputParam.ExpressionIF = "B1 > 50"; InputParam.ExpressionELSE = "0"; InputParam.ExpressionTHEN = "B1"; // Create New process band and set input param XDMBandMath bandProcess = new XDMBandMath(); bandProcess.BandName = xrsFileInput.FileName; bandProcess.SetInputParam(ref InputParam); // create XRSSaveFile to save realtime band(XDMBandXXXX) // load another file to protect thread lock(it is stable and faster). XRSSaveFile fileSave = new XRSSaveFile(); XDMBand bandCast = (XDMBand)bandProcess; fileSave.AddBand(ref bandCast); // Save output file XThread thd = null; String strFilePathSave = "D:\\Sample\\Out_Math.xdm"; if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd)) { return; }