|
XRSLoadFileGetGeoTransform Method
|
GeoTransform을 수행하기 위한 Affine Transform 계수와 좌표계 정보를 가져온다.
Namespace: Pixoneer.NXDL.NRSAssembly: NXDLrs (in NXDLrs.dll) Version: 3.0.0.0
Syntaxpublic 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 헤더 정보에 저장한다.
XRasterIO RasterIO = new XRasterIO();
String strError = "";
if (RasterIO.Initialize(out strError) == false)
{
return;
}
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);
}
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);
}
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