C++ 利用gdal读写DEM数据(.tif格式) | 您所在的位置:网站首页 › 求取最大高程值记为h › C++ 利用gdal读写DEM数据(.tif格式) |
C++ 利用gdal读写DEM数据(.tif格式)
文章目录
C++ 利用gdal读写DEM数据(.tif格式)目标:学习文件:一、步骤1.主函数2.读数据和写函数3.创建栅格数据函数
总结参考文章:
目标:
目标:读取DEM数据(.tif格式),控制台打印每一个像素值的高程值,同时输出该DEM数据(输出名为:out.tif) 后期目标:需要对读入的dem进行像素值的一些统计分析,并修改部分像素值,再输出,这里只进行读写操作,不修改像素值。 学习文件:gdal官方说明网址(API):https://gdal.org/api/index.html 学习API参数含义;重要的API:RasterIO、GetGeoTransform 一、步骤 1.主函数main代码: int main() { tiffread("dem.tif"); system("pause"); return 0; } 2.读数据和写函数代码如下 : int tiffread(const char* file_path_name) //读数据并输出保存 { CPLSetConfigOption("GDAL_FILENAME_IS_UTF8", "NO"); // 支持中文路径 GDALAllRegister(); //注册所有的驱动 GDALDataset *poDataset; //GDAL数据集 poDataset = (GDALDataset *)GDALOpen(file_path_name, GA_ReadOnly); if (poDataset == NULL) { cout for (int j = 0; j GDALDriver *driver = GetGDALDriverManager()->GetDriverByName("GTiff"); GDALDataset *ds = driver->Create( filename, nRow, nCol, 1,//波段数 type, NULL); return ds; //传回一个空的栅格数据集,但设置了它的一些基本参数 } 总结结果:生成的out.tif文件,数值和输入dem一致,具有空间参考: 体会:代码主要是综合了下B站那位up主写的和参考网站1的代码,还是对用gdal库读取数据,以及该库的API的有了比较深刻的印象,后续继续对DEM数据进行一些统计分析,完善该程序,最好能可视化出该dem。 参考文章:参考文章或网址 1、link. 2、link. 3、link. 4.bilibi:https://www.bilibili.com/video/BV1o7411i7pe?from=search&seid=12940848749693557054 |
CopyRight 2018-2019 实验室设备网 版权所有 |