![]() | XDMBandOrthoRPC Class |
Namespace: Pixoneer.NXDL.NRS
public class XDMBandOrthoRPC : XDMBand
The XDMBandOrthoRPC type exposes the following members.
Name | Description | |
---|---|---|
![]() | XDMBandOrthoRPC | XDMBandOrthoRPC 클래스의 기본 생성자로서, 멤버변수에 대하여 초기화를 수행한다. |
Name | Description | |
---|---|---|
![]() | GetInputParam |
RPC 정사보정에 대한 입력 파라미터를 얻는다.
|
![]() | SetInputParam |
RPC 정사보정에 대한 입력 파라미터를 설정한다.
|
using Pixoneer.NXDL; using Pixoneer.NXDL.NRS; using Pixoneer.NXDL.NIO; using Pixoneer.NXDL.NSM; // IO initialize to load image file XRasterIO RasterIO = new XRasterIO(); String strError = ""; if (RasterIO.Initialize(out strError) == false) { return; } // Image load String strFilePathLoadImg = "D:\\Sample\\RS_Sample\\Ortho\\MSC_070223014732_03064_10761263PN16_1R.xdm"; XRSLoadFile xrsFileInputImg = RasterIO.LoadFile(strFilePathLoadImg, out strError, false, eIOCreateXLDMode.All_NoMsg); // DEM load String strFilePathLoadDem = "D:\\Sample\\RS_Sample\\Ortho\\korea_dem_damyang.xdm"; XRSLoadFile xrsFileInputDem = RasterIO.LoadFile(strFilePathLoadDem, out strError, false, eIOCreateXLDMode.All_NoMsg); // Load rpc and make SensorModel String strRPCPathLoad = "D:\\Sample\\RS_Sample\\Ortho\\MSC_070223014732_03064_10761263PN16_1R.rpc"; XRpc smRPC = new XRpc(); smRPC.LoadFromRPC(strRPCPathLoad, eSensorRPCType.Ikonos, out strError); // Set Input Param XBandParamOrtho InputParam = new XBandParamOrtho(); InputParam.SensorModel = smRPC; InputParam.SrcBand = xrsFileInputImg.GetBandAt(0); InputParam.DemBand = xrsFileInputDem.GetBandAt(0); InputParam.PixelSizeX = 0.00005; // degree If DEM coordinate is Geographic InputParam.PixelSizeY = 0.00005; // degree If DEM coordinate is Geographic InputParam.UseConstant = false; InputParam.HeightConstant = 0; InputParam.ResampleMethodDem = eResampleMethod.BiLinear; InputParam.ResampleMethodSrc = eResampleMethod.BiLinear; // create XRSSaveFile to save realtime band(XDMBandXXXX) // load another file to protect thread lock(it is stable and faster). XRSLoadFile fileLoad = RasterIO.LoadFile(strFilePathLoadImg, out strError, false, eIOCreateXLDMode.All_NoMsg); XRSSaveFile fileSave = new XRSSaveFile(); for (int i = 0; i < fileLoad.NumBand; i++) { XDMBand bandRaw = fileLoad.GetBandAt(i); XBandParamOrtho param = new XBandParamOrtho(ref InputParam); param.SrcBand = bandRaw; XDMBandOrthoRPC bandTmp = new XDMBandOrthoRPC(); bandTmp.BandName = bandRaw.BandName; bandTmp.SetInputParam(ref param); XDMBand bandCast = (XDMBand)bandTmp; fileSave.AddBand(ref bandCast); } // Save output file XThread thd = null; String strFilePathSave = "D:\\Sample\\Out_OrthoRPC.xdm"; if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd)) { return; }