Click or drag to resize
XDL

XDMBandTileMerge Class

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

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

The XDMBandTileMerge type exposes the following members.

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

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

Examples
3개 밴드의 두 영상 파일을 로딩하여 출력 밴드별로 XBandParamTileMerge 매개변수를 설정하여 출력 결과를 생성한다.
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 MapView 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