Click or drag to resize
XDL

XRSLoadFileGetGeoTransform Method

GeoTransform을 수행하기 위한 Affine Transform 계수와 좌표계 정보를 가져온다.

Namespace: Pixoneer.NXDL.NRS
Assembly: NXDLrs (in NXDLrs.dll) Version: 3.0.0.0
Syntax
C#
public void GetGeoTransform(
	ref double[] adfGeoTransform,
	ref XSpatialReference pSR
)

Parameters

adfGeoTransform  Double
GeoTransform을 수행하기 위한 Affine Transform 계수 배열
[0]:top left x [1]:w-e pixel resolution [2]:rotation(0 if image is "north up") [3]:top left y [4]:rotation(0 if image is "north up") [5]:n-s pixel resolution
pSR  XSpatialReference
좌표계 정보
Example
GeoTransform 정보가 있는 영상 파일에서 6개의 Affine 변환 계수 및 좌표계 정보를 가져와서 XDM 헤더 정보에 저장한다.
C#
XRasterIO RasterIO = new XRasterIO();
String strError = "";
if (RasterIO.Initialize(out strError) == false)
{
    return;
}

// Image load
String strFilePathLoad = @"F:\SampleImage\TestUseGeoTransValue\TEST1.tif";
XRSLoadFile xrsFileInput = RasterIO.LoadFile(strFilePathLoad, out strError, false, eIOCreateXLDMode.All_NoMsg);

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

// Check that the GeoTransform information(6 affine transform coefficients and coordinate system) is valid
if (xrsFileInput.IsValidGeoTransform())
{
    double[] adfGeoTransform = new double[6] { 0, 0, 0, 0, 0, 0 };
    XSpatialReference geoTransSR = new XSpatialReference();
    xrsFileInput.GetGeoTransform(ref adfGeoTransform, ref geoTransSR);
    fileSave.SetGeoTransform(adfGeoTransform, geoTransSR);
}

// Save output file
XThread thd = null;
String strFilePathSave = @"F:\SampleImage\TestUseGeoTransValue\test01.xdm";
if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd))
{
    return;
}
else
{
    MessageBox.Show(strFilePathSave);
}
See Also