시스템개발툴킷
제품화 분야 > 시스템개발툴킷 > XDL TIP
[NXDL] XGrid클래스 사용하기
Author
pixoneer
Date
2016-11-18 16:33
Views
3379
// 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);
// 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);
Total Reply 0Count
Number | Title | Author | Date | Views |
7 |
[NXDL] XGeoPoint클래스 사용하기
![]() ![]() ![]() |
pixoneer | 2016.11.19 | 5262 |
6 |
[NXDL] XColorTable사용하기
![]() ![]() ![]() |
pixoneer | 2016.11.19 | 3517 |
5 |
[NXDL] XGrid클래스 사용하기
![]() ![]() ![]() |
pixoneer | 2016.11.18 | 3379 |
4 |
[NXDL] XVertex2i 클래스 사용하기
![]() ![]() ![]() |
pixoneer_THK | 2016.11.18 | 3401 |
3 |
[NXDL] XVertex3d클래스 사용하기
![]() ![]() ![]() |
pixoneer_THK | 2016.11.18 | 3513 |
2 |
[NXDL] XVertex2d 클래스 사용하기
![]() ![]() ![]() |
pixoneer_THK | 2016.11.18 | 3559 |
1 |
[NXDL] XAngle클래스 사용하기
![]() ![]() ![]() |
pixoneer_THK | 2016.11.18 | 3508 |