Click or drag to resize
XDL

XDMBandTileMerge Class

XDMBandTileMerge클래스는 여러 장의 이미지를 한장으로 합하는 기능을 수행한다.
Inheritance Hierarchy
SystemObject
  Pixoneer.NXDL.NRSXDMBand
    Pixoneer.NXDL.NRSXDMBandTileMerge

Namespace: Pixoneer.NXDL.NRS
Assembly: NXDLrs (in NXDLrs.dll) Version: 2.0.3.38
Syntax
C#
public class XDMBandTileMerge : XDMBand

The XDMBandTileMerge type exposes the following members.

Constructors
 NameDescription
Public methodXDMBandTileMerge XDMBandTileMerge클래스의 기본 생성자로서, 멤버변수에 대하여 초기화를 수행한다.
Top
Methods
 NameDescription
Public methodAddBand 합칠 Tile 영상을 추가한다.
Public methodGetInputParam Tile영상을 Merge를 위한 입력 파라미터를 얻는다.
Public methodSetInputParam Tile영상을 Merge를 위한 입력 파라미터를 설정한다.
Top
Remarks

입력밴드는 모두 같은 좌표체계이어야 하고, 데이터형식(datatype)도 동일해야 한다. 출력 해상도는 첫번째 추가하는 밴드의 해상도로 설정되며 입력 영상을 모두 아우르는 영역의 결과를 생성한다.

Example
3개 밴드의 두 영상 파일을 로딩하여 출력 밴드별로 XBandParamTileMerge 매개변수를 설정하여 출력 결과를 생성한다.
C#
using Pixoneer.NXDL;
using Pixoneer.NXDL.NRS;
using Pixoneer.NXDL.NIO;

// IO initialize to load image file
XRasterIO RasterIO = new XRasterIO();
String strError = "";
if (RasterIO.Initialize(out strError) == false)
{
    return;
}

// Image load
String strFilePathLoad1 = "D:\\Sample\\IKONOS1.xdm";
String strFilePathLoad2 = "D:\\Sample\\IKONOS2.xdm";

XRSLoadFile xrsFileInput1 = RasterIO.LoadFile(strFilePathLoad1, out strError, false, eIOCreateXLDMode.All_NoMsg);
XRSLoadFile xrsFileInput2 = RasterIO.LoadFile(strFilePathLoad2, out strError, false, eIOCreateXLDMode.All_NoMsg);

// Set input param
XBandParamTileMerge[] InputParam = new XBandParamTileMerge[3];
for (int i = 0; i < 3; i++) InputParam[i] = new XBandParamTileMerge();

InputParam[0].ArrBandList.Add(xrsFileInput1.GetBandAt(0));
InputParam[0].ArrBandList.Add(xrsFileInput2.GetBandAt(0));
InputParam[1].ArrBandList.Add(xrsFileInput1.GetBandAt(1));
InputParam[1].ArrBandList.Add(xrsFileInput2.GetBandAt(1));
InputParam[2].ArrBandList.Add(xrsFileInput1.GetBandAt(2));
InputParam[2].ArrBandList.Add(xrsFileInput2.GetBandAt(2));

// Create New process band and set input param
XDMBandTileMerge[] bandProcess = new XDMBandTileMerge[3];
for (int i = 0; i < 3; i++) bandProcess[i] = new XDMBandTileMerge();
bandProcess[0].SetInputParam(ref InputParam[0]);
bandProcess[1].SetInputParam(ref InputParam[1]);
bandProcess[2].SetInputParam(ref InputParam[2]);

// Display to ImageView in realtime

// create XRSSaveFile to save realtime band(XDMBandXXXX)
// load another file to protect thread lock(it is stable and faster).
XRSSaveFile fileSave = new XRSSaveFile();
XDMBand bandCast0 = (XDMBand)bandProcess[0];
XDMBand bandCast1 = (XDMBand)bandProcess[1];
XDMBand bandCast2 = (XDMBand)bandProcess[2];
fileSave.AddBand(ref bandCast0);
fileSave.AddBand(ref bandCast1);
fileSave.AddBand(ref bandCast2);

// Save output file
XThread thd = null;
String strFilePathSave = "D:\\Sample\\Out_TileMerge.xdm";
if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd))
{
    return;
}
See Also