XDL TIP

XDL Tip 게시판입니다.  

*** XDL을 다운 받으신 후 테스트가 가능합니다. 

*** Tutorial을 이용해 다양한 기능을 구현해보시기 바랍니다.

[NXDL] XGrid클래스 사용하기

작성자
pixoneer
작성일
2016-11-18 16:33
조회
1875
// XGrid는 2차원의 이미지나 일반 데이터 구조에 해당한다.
// XGrid객체를 이용하여 이미지를 구성하고 연산에 활용이 가능하다.


// 1. 레스터 이미지 로더 객체 생성
XRasterIO RasterIO = new XRasterIO();
String strError = "";
if (RasterIO.Initialize(out strError) == false)
{
­     return;
}

// 2. 레스터 이미지 생성
String strFilePathLoad = "D:/Sample/IKONOS.xdm"; // XDM은 픽소니어 내부 영상 포맷을 의미하며, TIF나 기타 상용포맷또한 로딩이 가능.
XRSLoadFile xrsFileInput = RasterIO.LoadFile(strFilePathLoad, out strError, false, eIOCreateXLDMode.All_NoMsg);

// 3. Covariance Matrix를 XGrid 객체로 출력.
XGrid gridCov = null;
if (xrsFileInput.GetCovarianceMatrix(out gridCov))
{
      double[] val = new double[gridCov.CSize + 1];

     for (int i = 0; i < gridCov.RSize; i++)
     {
           val[0] = i + 1; // Index

           for (int j = 0; j < gridCov.RSize; j++)
          {
                  val[j + 1] = Math.Round(gridCov.GetAsReal64(i, j), 4); // Value
           }
     }

// Covariance값을 사용.
// ....

}

// 4. 로딩된 영상 Band로부터 XGrid 객체를 얻어 특정 위치에 있는 값을 얻음.
XGrid gridBand = new XGrid();
XDMBand band = xrsFileInput.GetBandAt(0);
if (!band.ReadSubset(ref gridBand, 0, 100, 200, 100, 200))
{
       return;
}

double val00    = gridBand.GetAsReal64(0, 0);
double val5050  = gridBand.GetAsReal64(50, 50);
전체 0