能把刚才的代码完整的写出来吗
时间: 2024-02-28 14:53:35 浏览: 23
好的,以下是完整的 C++ 代码:
```c++
#include "gdal_priv.h"
using namespace std;
int main() {
// 打开 TIFF 文件
GDALAllRegister();
GDALDataset *poDataset = (GDALDataset *) GDALOpen("input.tif", GA_ReadOnly);
// 获取 TIFF 的地理坐标转换信息
double adfGeoTransform[6];
if (poDataset->GetGeoTransform(adfGeoTransform) != CE_None) {
cout << "Error: cannot get geotransform information" << endl;
return 1;
}
// 设置裁剪的区域(左上角和右下角的像素坐标)
int nXOff = 0, nYOff = 0, nXSize = 100, nYSize = 100;
// 创建输出文件
GDALDriver *poDriver = GetGDALDriverManager()->GetDriverByName("GTiff");
GDALDataset *poDstDS = poDriver->Create("output.tif", nXSize, nYSize, poDataset->GetRasterCount(), GDT_Float32, NULL);
double adfDstGeoTransform[6] = {adfGeoTransform[0] + nXOff * adfGeoTransform[1], adfGeoTransform[1], adfGeoTransform[2], adfGeoTransform[3] + nYOff * adfGeoTransform[5], adfGeoTransform[4], adfGeoTransform[5]};
poDstDS->SetGeoTransform(adfDstGeoTransform);
// 裁剪并写入输出文件
for (int i = 0; i < poDataset->GetRasterCount(); i++) {
GDALRasterBand *poSrcBand = poDataset->GetRasterBand(i+1);
GDALRasterBand *poDstBand = poDstDS->GetRasterBand(i+1);
poSrcBand->RasterIO(GF_Read, nXOff, nYOff, nXSize, nYSize, poDstBand->GetDataRef(), nXSize, nYSize, GDT_Float32, 0, 0);
}
// 关闭文件
GDALClose(poDstDS);
GDALClose(poDataset);
return 0;
}
```
请注意,这段代码仅供参考,具体实现可能因为环境等因素而有所不同。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)