* 파일 열기
Access옵션에 따라 읽기전용 혹은 읽기/쓰기 용으로 열수있다. 리턴값이 NULL이면 열기 실패이다.
// GDALAccess Access=GA_Update;
// 읽기 전용
GDALAccess Access=GA_ReadOnly;
GDALDataset* pGDALDataSet=(GDALDataset *) ::GDALOpen(_Pathname, Access );
* 영상 크기 정보 가져오기
int Width = pGDALDataSet->GetRasterXSize();
// 높이 가져오기
int Height = pGDALDataSet->GetRasterYSize();
* 밴드개수 가져오기
* 좌표정보 가져오기
좌표정보는 Affine 파라미터로 사용되며 다음과 같은 값으로 지정되어 있다.
adfGeoTransform[0] /* top left x */ adfGeoTransform[1] /* w-e pixel resolution */ adfGeoTransform[2] /* rotation, 0 if image is "north up" */ adfGeoTransform[3] /* top left y */ adfGeoTransform[4] /* rotation, 0 if image is "north up" */ adfGeoTransform[5] /* n-s pixel resolution */
CPLErr Err=pGDALDataSet->GetGeoTransform(GeoTransform);
if (Err==CE_None) // 좌표정보가 있는 경우.
{}
* 오버뷰 개수 및 화소데이터 타입 가져오기
GDALDataSet로부터 GDALRasterBand를 가져와야 한다. 주의할 점은 밴드 인덱스는 1부터 시작한다.
if (pRasterBand)
{
// Overview 개수 가져오기
int OverviewCount=pRasterBand->GetOverviewCount();
// 화소 데이터 타입 가져오기
GDALDataType DataType = pRasterBand->GetRasterDataType();
}
* 화소데이터의 크기와 이름 가져오기
GDALGetDataTypeSize()와 GDALGetDataTypeName()함수를 이용하면 데이터타입의 크기(Bit단위)와 데이터 타입 이름을 가져올 수 있다.
int DataTypeSize = GDALGetDataTypeSize( DataType );
// 화소 데이터 타입의 String 가져오기
CString DataTypeName = GDALGetDataTypeName(DataType());
* 파일닫기
Posted by chungki


FileArray.h
geotiff_win32_devkit.zip
vcredist_x86(vs2005).exe
