帮我写一个C++的用gdal库读取tif文件高度值的程序
时间: 2023-03-10 11:12:05 浏览: 237
这是一个用gdal库读取tif文件高度值的C语言程序:#include <stdio.h>
#include <gdal.h>int main(int argc, char *argv[])
{
GDALDatasetH hDataset;
double adfGeoTransform[6];
double dfX, dfY;
int nXSize, nYSize;
int i, j; // 打开TIFF文件
hDataset = GDALOpen( "sample.tif", GA_ReadOnly );
if( hDataset == NULL )
{
printf( "TIFF文件打开失败\n" );
return 1;
} // 获取TIFF文件的宽度和高度
GDALGetGeoTransform( hDataset, adfGeoTransform );
nXSize = GDALGetRasterXSize( hDataset );
nYSize = GDALGetRasterYSize( hDataset ); // 读取TIFF文件中的高度值
for( i = 0; i < nXSize; i++ )
{
for( j = 0; j < nYSize; j++ )
{
dfX = adfGeoTransform[0] + i * adfGeoTransform[1] + j * adfGeoTransform[2];
dfY = adfGeoTransform[3] + i * adfGeoTransform[4] + j * adfGeoTransform[5]; // 读取指定坐标点的高度值
double dfHeight;
GDALRasterIO( hBand, GF_Read, dfX, dfY, 1, 1, &dfHeight, 1, 1, GDT_Float64, 0, 0 ); printf( "坐标(%.4f,%.4f)的高度值为:%.4f\n", dfX, dfY, dfHeight );
}
} // 关闭TIFF文件
GDALClose( hDataset ); return 0;
}
阅读全文