![]() | XGrid Class |
Namespace: Pixoneer.NXDL
public class XGrid : IDisposable
The XGrid type exposes the following members.
Name | Description | |
---|---|---|
![]() | XGrid | XGrid에 대한 기본 생성자로서, 멤버들을 초기화 시킨다. |
![]() | XGrid(XGrid*) | XGrid 클래스에 대한 생성자로서, 외부의 비관리 객체인 XDL::XGrid객체를 입력 받아 this객체 생성시 복사하여 초기화를 수행한다. |
![]() | XGrid(XGrid) | |
![]() | XGrid(Int32, Int32, eDataType) | XGrid에 대한 생성자로서, 입력된 행과 열의 크기와 정의될 데이터 타입을 입력 받아 메모리 공간을 확보한다. |
![]() | XGrid(Int32, Int32, eDataType, Byte) | XGrid에 대한 생성자로서, 입력된 행과 열의 크기, 정의될 데이터 타입을 입력 받아 메모리 공간을 확보하고 입력 데이터를 복사한다. |
![]() | XGrid(Int32, Int32, eDataType, IntPtr) | XGrid에 대한 생성자로서, 입력된 행과 열의 크기, 정의될 데이터 타입을 입력 받아 메모리 공간을 확보하고 입력 데이터를 복사한다. |
Name | Description | |
---|---|---|
![]() | CSize |
2차원 데이터에 대한 Column 크기를 얻는다.
|
![]() | DataPtr |
그리드 데이터의 메모리 포인터를 얻는다. 비관리 메모리 주소이므로 매우 주의해서 써야 한다.
|
![]() | DataSize |
데이터 형에 대한 크기(Byte)를 얻는다.
|
![]() | DataType |
2차원 데이터에 대한 데이터 형을 얻는다.
|
![]() | RSize |
2차원 데이터에 대한 Row 크기를 얻는다.
|
Name | Description | |
---|---|---|
![]() | Alloc |
입력받은 자료 공간 차원 정보 및 데이터 타입에 해당하는 메모리 공간을 할당한다.
만약 이미 할당된 공간이 할당하고자 하는 메모리 공간보다 큰 경우 새롭게 메모리를 할당하지 않고 기존 메모리를 사용하되
파라미터(행 크기, 열 크기, 데이터 타입)만을 변경시킨다.
|
![]() | AllocExact |
입력받은 자료 공간 차원 정보 및 데이터 타입에 해당하는 메모리 공간을 할당한다.
이 함수를 통해 할당하는 메모리는 Alloc함수와는 다르게 기존에 할당된 메모리를 무조건 해제하고 다시 할당한다.
|
![]() | CopySubset(Byte, Int32, Int32, Int32, Int32, Int32, eDataType) |
this객체에 존재하는 데이터에 외부에서 입력되는 데이터를 특정 영역에 복사해서 넣는다.
|
![]() | CopySubset(IntPtr, Int32, Int32, Int32, Int32, Int32, eDataType) |
this객체에 존재하는 데이터에 외부에서 입력되는 데이터를 특정 영역에 복사해서 넣는다.
|
![]() | FillValue |
현재 할당된 데이터 공간을 특정 입력값을 초기화 한다.
|
![]() | FlipHorz |
this객체의 데이터를 수평방향으로 데이터를 Flip하고 출력한다.
|
![]() | FlipVert |
this객체의 데이터를 수직방향으로 데이터를 Flip하고 출력한다.
|
![]() | Free |
this객체에 할당된 메모리를 해제한다.
|
![]() | GetAsReal32 |
특정 위치에 대한 데이터 값을 Real32데이터 형으로 반환한다.
|
![]() | GetAsReal64 |
특정 위치에 대한 데이터 값을 Real64데이터 형으로 반환한다.
|
![]() | GetColVector |
특정 Column에 존재하는 데이터를 추출하여 XGrid객체에 출력한다.
|
![]() | GetRowVector |
특정 Row에 존재하는 데이터를 추출하여 XGrid객체에 출력한다.
|
![]() | GetValue(Int32, Int32, Double) |
특정 위치에 대한 데이터 값을 Real64데이터 형으로 반환한다.
|
![]() | GetValue(Double, Double, eXGridResampleMethod, Double) |
특정 위치에 대한 데이터 값을 Real64데이터 형으로 반환한다.
|
![]() | GetValue(Int32, Int32, Double, Double) |
데이터 타입이 complex data 일 경우, 특정 위치에 대한 complex data 의 r(실수), i(허수) 값을 Real64데이터 형으로 반환한다.
|
![]() | GetValue(Double, Double, eXGridResampleMethod, Double, Double) |
데이터 타입이 complex data 일 경우, 특정 위치에 대한 complex data 의 r(실수), i(허수) 값을 Real64데이터 형으로 반환한다.
|
![]() | GetValue(Int32, Int32, Double, Double, Double) |
데이터 타입이 RGB 또는 BGR 일 경우, 특정 위치에 대한 r, g, b 값을 각 데이타 타입 순서대로 Real64데이터 형으로 반환한다.
|
![]() | GetValue(Double, Double, eXGridResampleMethod, Double, Double, Double) |
데이터 타입이 RGB 또는 BGR 일 경우, 특정 위치에 대한 r, g, b 값을 각 데이타 타입 순서대로 Real64데이터 형으로 반환한다.
|
![]() | GetValue(Int32, Int32, Double, Double, Double, Double) |
데이터 타입이 RGBA, BGRA, ARGB, ABGR 일 경우,
특정 위치에 대한 a, r, g, b 값을 각 데이타 타입 순서대로 Real64데이터 형으로 반환한다.
|
![]() | GetValue(Double, Double, eXGridResampleMethod, Double, Double, Double, Double) |
데이터 타입이 RGBA, BGRA, ARGB, ABGR 일 경우,
특정 위치에 대한 a, r, g, b 값을 각 데이타 타입 순서대로 Real64데이터 형으로 반환한다.
|
![]() | Init |
내부에 생성된 메모리를 소멸시키고 파라미터들도 초기화한다.
|
![]() | IsValid |
현재 객체가 유효한지 여부를 반환한다.
|
![]() | Reform |
이 함수는 배열 정보인 행과 열의 크기를 변형시킨다.
이 함수를 호출시 내부 데이터의 배열이 변경되지는 않고 단순히 행과 열의 파라미터만을 재설정함을 의미한다.
기존 메모리의 크기가 입력된 값보다 작으면 false를 반환한다.
|
![]() | SetFromReaL32 |
특정 위치에 대한 데이터 값을 Real32데이터 형으로 설정한다.
|
![]() | SetFromReal64 |
특정 위치에 대한 데이터 값을 Real64데이터 형으로 설정한다.
|
![]() | SetValue(Int32, Int32, Double) |
특정 위치에 대한 데이터 값을 Real64데이터 형으로 설정한다.
|
![]() | SetValue(Int32, Int32, Double, Double) |
데이터 타입이 complex data 일 경우, 특정 위치에 대한 complex data 의 r, i 값을 Real64데이터 형으로 설정한다.
|
![]() | SetValue(Int32, Int32, Double, Double, Double) |
데이터 타입이 RGB 또는 BGR 일 경우, 특정 위치에 대한 r, g, b 값을 각 데이타 타입 순서대로 Real64데이터 형으로 설정한다.
|
![]() | SetValue(Int32, Int32, Double, Double, Double, Double) |
데이터 타입이 RGBA, BGRA, ARGB, ABGR 일 경우,
특정 위치에 대한 a, r, g, b 값을 각 데이타 타입 순서대로 Real64데이터 형으로 설정한다.
|
![]() | Shift |
this객체에 존재하는 데이터 배열을 Offset만큼 전체 이동 시킨다.
만약 Offset이 5, 8 인경우 (0, 0)의 위치가 (5, 8)가 되며 이동후의 (0, 0)의 위치는 0으로 설정된다.
만약 Offset이 -5, -8 인경우 (5, 8)의 위치가 (0, 0)가 되며 이동후의 제일 마지막 위치의 데이터(차원수 -1, 차원수 -1)는 0으로 설정된다.
|
![]() | Subset |
this객체에 존재하는 데이터의 특정 영역을 읽어서 새로운 XGrid객체를 생성한다.
|
![]() | Zerorize |
현재 할당된 데이터 공간을 0으로 초기화 한다.
|
// 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\\IKONOS.xdm"; XRSLoadFile xrsFileInput = RasterIO.LoadFile(strFilePathLoad, out strError, false, eIOCreateXLDMode.All_NoMsg); // Make Row Data 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 } } // Use val.... }
// 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\\IKONOS.xdm"; XRSLoadFile xrsFileInput = RasterIO.LoadFile(strFilePathLoad, out strError, false, eIOCreateXLDMode.All_NoMsg); 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);