Click or drag to resize
XDL

XRasterIO Class

XRasterIO 클래스는 위성영상이나 항공영상의 표준 포맷 혹은 상용 포맷을 읽고 저장할 수 있는 기능을 제공한다.
Inheritance Hierarchy
SystemObject
  Pixoneer.NXDL.NIOXRasterIO

Namespace:  Pixoneer.NXDL.NIO
Assembly:  NXDLio (in NXDLio.dll) Version: 2.0.3.31
Syntax
C#
public class XRasterIO : IDisposable

The XRasterIO type exposes the following members.

Constructors
  NameDescription
Public methodXRasterIO
XRasterIO 클래스의 기본 생성자로서, 멤버변수들을 초기화한다.
Top
Methods
  NameDescription
Public methodCode exampleCreateImagePyramid
영상 피라미드(오버뷰)를 생성한다.
Public methodExport(XRSSaveFile, String, String, String, XThread)
여러 개의 밴드가 있는 XRSSaveFile 객체를 임의의 파일 형식으로 저장한다.
Public methodExport(XRSSaveFile, String, String, eIOCreateXLDMode, Boolean, String, XThread)
여러 개의 밴드가 있는 XRSSaveFile 객체를 임의의 파일 형식으로 저장한다.
Public methodExport(XRSSaveFile, String, String, Int32, Int32, Int32, Int32, Boolean, Double, Int32, Int32, String, XThread)
여러 개의 밴드가 있는 XRSSaveFile 객체를 임의의 파일 형식으로 저장한다.
Public methodExportComposites(XDMCompManager, String, String, IntPtr, Double, Double, Double, Double, Double, Double, Double, String, XThread)
여러 개의 XDMComposite를 포함하는 XDMCompManager 객체를 출력 조건을 설정하여 파일로 저장한다.
Public methodExportComposites(XDMCompManager, String, String, IntPtr, Double, Double, Double, Double, Int32, Int32, Double, String, XThread)
여러 개의 XDMComposite를 포함하는 XDMCompManager 객체를 출력 조건을 설정하여 파일로 저장한다.
Public methodGetDriverKey
입력 인덱스에 의한 Driver 키워드를 반환한다.
Public methodGetFileInfo(String, String)
표준 및 상용 포맷의 이미지 파일 정보를 로딩한다.
Public methodGetFileInfo(String, Int32, String)
표준 및 상용 포맷의 이미지 파일 정보를 로딩한다.
Public methodGetFiltersForLoad
XRasterIO객체로부터 로딩이 가능한 필터를 얻는다. 이 필터 문자열은 열기 대화상자 등에서 사용할 수 있다.
Public methodGetFiltersForSave
XRasterIO객체로부터 저장이 가능한 필터를 얻는다. 이 필터 문자열은 저장 대화상자 등에서 사용할 수 있다.
Public methodCode exampleGetSubDatasets
파일의 하위 데이터 집합이 있는 경우 데이터집합 문자열을 가져온다.
Public methodInitialize
객체를 초기화하고 IO 드라이버를 로딩한다.
Public methodIsExtensionExportSupported
출력(export) 기능에 특정 파일 형식을 지원하는지 확인한다.
Public methodIsExtensionImportSupported
입력(import) 기능에 특정 파일 형식을 지원하는지 확인한다.
Public methodIsKeyImportSupported
입력 기능에 특정 파일 형식을 지원하는지 확인한다.
Public methodLoadFile(String, String, Boolean, eIOCreateXLDMode)
표준 및 상용 포맷의 이미지 파일을 로딩한다.
통계값 계산 여부, XLD 생성 여부 설정 매개변수를 사용한다.
Public methodLoadFile(String, String, String, Boolean, eIOCreateXLDMode)
표준 및 상용 포맷의 이미지 파일을 로딩한다.
이미지 파일 형식 키워드, 통계값 계산 여부, XLD 생성 여부 설정 매개변수를 사용한다.
Public methodLoadFile(String, String, Boolean, eIOCreateXLDMode, Boolean)
표준 및 상용 포맷의 이미지 파일을 로딩한다.
통계값 계산 여부, XLD 생성 여부, 메타데이터 로딩 여부 설정 매개변수를 사용한다.
Public methodLoadFile(String, String, String, Boolean, eIOCreateXLDMode, Boolean)
표준 및 상용 포맷의 이미지 파일을 로딩한다.
이미지 파일 형식 키워드, 통계값 계산 여부, XLD 생성 여부, 메타데이터 로딩 여부 설정 매개변수를 사용한다.
Public methodLoadFile(String, String, Boolean, eIOCreateXLDMode, Boolean, XThread)
표준 및 상용 포맷의 이미지 파일을 로딩한다.
통계값 계산 여부, XLD 생성 여부, 메타데이터 로딩 여부, XLD 생성시 쓰레드 설정 매개변수를 사용한다.
Public methodLoadFile(String, String, String, Boolean, eIOCreateXLDMode, Boolean, XThread)
표준 및 상용 포맷의 이미지 파일을 로딩한다.
이미지 파일 형식 키워드, 통계값 계산 여부, XLD 생성 여부, 메타데이터 로딩 여부, XLD 생성시 쓰레드 설정 매개변수를 사용한다.
Public methodLoadFile(String, String, Boolean, eIOCreateXLDMode, Boolean, Int32, XThread)
표준 및 상용 포맷의 이미지 파일을 로딩한다.
통계값 계산 여부, XLD 생성 여부, 메타데이터 로딩 여부, 특정 SubDataset 설정, XLD 생성시 쓰레드 설정 매개변수를 사용한다.
사용 방법은 GetSubDatasets 의 예제 코드를 참고한다.
Public methodLoadRawFile
BIL, BIP, BSQ 형식의 래스터 데이터 파일을 로딩한다.
Public methodSetConfigOption
드라이버의 설정 옵션을 변경한다.
Top
Examples
XRasterIO 객체를 생성/초기화한 후 객체를 통해 입력 파일경로의 영상 파일을 로딩한다.
using Pixoneer.NXDL.NIO;

XRasterIO RasterIO = new XRasterIO();
String strError = "";
if (RasterIO.Initialize(out strError) == false)
{
    return;
}

String strFilePathLoad = "D:\\Sample\\IKONOS.xdm";
XRSLoadFile xrsFileInput = RasterIO.LoadFile(strFilePathLoad, out strError, false, eIOCreateXLDMode.All_NoMsg);
XDMBand band = xrsFileInput.GetBandAt(0);
XDM 형식의 raster 파일을 로딩한 후 새로운 XRSSaveFile 객체에 XDM 밴드 정보를 추가한 후 NITF 파일 형식으로 출력한다.
NITF 헤더의 Originating Station ID 값으로 Pixoneer를 설정한다.
XRasterIO RasterIO = new XRasterIO();
String strError = "";
if (RasterIO.Initialize(out strError) == false)
{
    return;
}

String strFilePathLoad = "D:\\Sample\\IKONOS.xdm";
XRSLoadFile xrsFileInput = RasterIO.LoadFile(strFilePathLoad, out strError, false, eIOCreateXLDMode.All_NoMsg);

// Create XRSSaveFile
XRSSaveFile fileSave = new XRSSaveFile();
for (int i = 0; i < xrsFileInput.NumBand; i++)
{
    XDMBand band = (XDMBand)xrsFileInput.GetBandAt(i);
    fileSave.AddBand(ref band);
}

// NITF의 Originating Station ID 값으로 Pixoneer를 설정
XRSMetaData metaData = new XRSMetaData();
metaData.SetValue("OSTAID", "Pixoneer");
fileSave.MetaData = metaData;

XThread thd = null;
String strFilePathSave = "D:\\Sample\\Out_Save.NTF";
if (!RasterIO.Export(ref fileSave, strFilePathSave, "NITF", out strError, thd))
{
    return;
}
XDM 파일로 저장할 때 XDK 라이브러리의 기본 EPOT 저장구조인 XEPOT_CM_NONE 구조로 저장하는 예제이다.
XRSMetaData를 이용하여 XRS_TAG_BAND_COMPRESSION 키워드를 이용하여 XEPOT_CM_NONE 값을 설정한다.
XHM 헤더파일 및 compression 옵션을 모두 XDK와 호환되도록 하려면, "COMPATIBLE" 키워드를 이용하여 "XDK"로 값을 설정하면 된다.
using Pixoneer.NXDL;
using Pixoneer.NXDL.NRS;
using Pixoneer.NXDL.NIO;

XRasterIO RasterIO = new XRasterIO();
String strError = "";
if (RasterIO.Initialize(out strError) == false)
{
    return;
}

String strFilePathLoad = "D:\\Sample\\IKONOS.tif";
XRSLoadFile xrsFileInput = RasterIO.LoadFile(strFilePathLoad, out strError, false, eIOCreateXLDMode.All_NoMsg);

// Create XRSSaveFile
XRSSaveFile fileSave = new XRSSaveFile();
for (int i = 0; i < xrsFileInput.NumBand; i++)
{
    XDMBand band = (XDMBand)xrsFileInput.GetBandAt(i);
    fileSave.AddBand(ref band);
}

XRSMetaData metaData = new XRSMetaData();
// XDL XDM 기본 구조인 XEPOT_CM_TIP이 아닌, XEPOT_CM_NONE으로 저장하도록 설정
metaData.SetValue("XRS_TAG_BAND_COMPRESSION", "XEPOT_CM_NONE", "XDM");
// XDK와 호환되도록 저장하도록 설정
// metaData.SetValue("COMPATIBLE", "XDK", "XDM");
fileSave.MetaData = metaData;

XThread thd = null;
String strFilePathSave = "D:\\Sample\\Out_Save.XDM";
if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd))
{
    return;
}
See Also