GDAL讀取元數據
對於GDALDataset,可以使用GetMetadataDomainList()獲取到元數據的域。
對於一幅標準TIF影像,通常可以得到這樣的一組字符串:
“ESRI”
“”
“xml:XMP”
“IMAGE_STRUCTURE”
“EXIF”
可以用GetMetaData(“域名”)來獲取域的元數據,其默認參數爲“”
“”域:
[1]:TIFFTAG_DATETIME:影像時間
[2]:TIFFTAG_RESOLUTIONUNIT:分辨率
[3]:TIFFTAG_SOFTWARE:存儲軟件
[4]:TIFFTAG_XRESOLUTION:X水平分辨率(Dpi)
[5]:TIFFTAG_YRESOLUTION:Y垂直分辨率(Dpi)“IMAGE_STRUCTURE”域:
[1]:INTERLEAVE:對於影像結果爲PIXEL“EXIF”域:
[1]:EXIF_ColorSpace:顏色表空間
[2]:EXIF_PixelXDimension:影像X像素尺寸(即影像寬度)
[2]:EXIF_PixelYDimension:影像Y像素尺寸(即影像高度)“ESRI”域:(需要影像生成統計數據xml)
[1]:PyramidResamplingType:金字塔採樣方式
可以通過GetMetadataItem(“標籤名”,”域名”)獲取上述標籤的值
//C++
//以獲取垂直分辨率爲例
GDALDataset* dataset = (GDALDataset*)GDALOpen(_imagepath, GDALAccess::GA_ReadOnly);
double dDpiY = atof(dataset->GetMetadataItem("TIFFTAG_YRESOLUTION", ""));
- 1
- 2
- 3
- 4
- 5
//C#
Dataset dataset = Gdal.Open(_imagepath, Access.GA_ReadOnly);
double dDpiY = Convert.ToDouble(dataset.GetMetadataItem("TIFFTAG_YRESOLUTION", ""));