include 'gdal_priv.h' // GDAL库头文件
include 'cpl_conv.h' // for CPLMalloc()
int main() { // Register GDAL drivers 注册GDAL驱动 GDALAllRegister();
复制代码
// Open DEM file 打开DEM文件
GDALDataset *dem_ds = (GDALDataset*) GDALOpen('dem.tif', GA_ReadOnly); // GA_ReadOnly表示只读方式打开
if (dem_ds == NULL) { // 判断是否成功打开
printf('Failed to open DEM file.
'); // 打印错误信息 exit(1); // 退出程序 }
复制代码
// Get DEM properties 获取DEM文件的属性
int dem_width = dem_ds->GetRasterXSize(); // DEM文件的宽度
int dem_height = dem_ds->GetRasterYSize(); // DEM文件的高度
double dem_transform[6]; // 存储DEM文件的仿射变换系数
dem_ds->GetGeoTransform(dem_transform); // 获取DEM文件的仿射变换系数
double dem_no_data = dem_ds->GetRasterBand(1)->GetNoDataValue(); // 获取DEM文件的无效值
// Create slope output file 创建输出坡度文件
GDALDriver *driver = GetGDALDriverManager()->GetDriverByName('GTiff'); // 获取输出文件驱动
GDALDataset *slope_ds = driver->Create('slope.tif', dem_width, dem_height, 1, GDT_Fl
include 'cpl_conv.h' // for CPLMalloc()
int main() { // Register GDAL drivers 注册GDAL驱动 GDALAllRegister();
复制代码
// Open DEM file 打开DEM文件
GDALDataset *dem_ds = (GDALDataset*) GDALOpen('dem.tif', GA_ReadOnly); // GA_ReadOnly表示只读方式打开
if (dem_ds == NULL) { // 判断是否成功打开
'); // 打印错误信息 exit(1); // 退出程序 }
复制代码
// Get DEM properties 获取DEM文件的属性
int dem_width = dem_ds->GetRasterXSize(); // DEM文件的宽度
int dem_height = dem_ds->GetRasterYSize(); // DEM文件的高度
double dem_transform[6]; // 存储DEM文件的仿射变换系数
dem_ds->GetGeoTransform(dem_transform); // 获取DEM文件的仿射变换系数
double dem_no_data = dem_ds->GetRasterBand(1)->GetNoDataValue(); // 获取DEM文件的无效值
// Create slope output file 创建输出坡度文件
GDALDriver *driver = GetGDALDriverManager()->GetDriverByName('GTiff'); // 获取输出文件驱动
GDALDataset *slope_ds = driver->Create('slope.tif', dem_width, dem_height, 1, GDT_Fl
