시스템개발툴킷
제품화 분야 > 시스템개발툴킷 > XDL TIP
[NXDL] XGrid클래스 사용하기
작성자
pixoneer
작성일
2016-11-18 16:33
조회
2636
// 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);
전체 0개
번호 | 제목 | 작성자 | 작성일 | 조회 |
7 |
[NXDL] XGeoPoint클래스 사용하기
pixoneer
2016.11.19
4578
|
pixoneer | 2016.11.19 | 4578 |
6 |
[NXDL] XColorTable사용하기
pixoneer
2016.11.19
2833
|
pixoneer | 2016.11.19 | 2833 |
5 |
[NXDL] XGrid클래스 사용하기
pixoneer
2016.11.18
2636
|
pixoneer | 2016.11.18 | 2636 |
4 |
[NXDL] XVertex2i 클래스 사용하기
pixoneer_THK
2016.11.18
2722
|
pixoneer_THK | 2016.11.18 | 2722 |
3 |
[NXDL] XVertex3d클래스 사용하기
pixoneer_THK
2016.11.18
2812
|
pixoneer_THK | 2016.11.18 | 2812 |
2 |
[NXDL] XVertex2d 클래스 사용하기
pixoneer_THK
2016.11.18
2843
|
pixoneer_THK | 2016.11.18 | 2843 |
1 |
[NXDL] XAngle클래스 사용하기
pixoneer_THK
2016.11.18
2764
|
pixoneer_THK | 2016.11.18 | 2764 |