gpt4 book ai didi

c++ - 如何使用Gdal C++从geotiff图像中获取经纬度

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:45:30 37 4
gpt4 key购买 nike

我想使用 Gdal C++ 从 geotiff 图像中获取经纬度。大多数获取这些坐标的源代码和教程通常使用 C 和 Phyton。正如我们所知,这些的 Gdal 源在 C++ 中是不同的。是否有任何文档或教程如何使用 C++ 获取此类位置?或者有人知道如何在 Gdal C++ 中获取这些坐标吗?

最佳答案

像这样:

GDALDataset *fin = (GDALDataset*)GDALOpen(filename.c_str(), GA_ReadOnly);
if(fin==NULL)
throw std::runtime_error("Could not open file '"+filename+"' with GDAL!");

std::vector<double> geotransform(6);
if(fin->GetGeoTransform(geotransform.data())!=CE_None)
throw std::runtime_error("Could not get a geotransform!");

//From https://www.gdal.org/gdal_datamodel.html "Affine GeoTransform"
// Xgeo = GT(0) + Xpixel*GT(1) + Yline*GT(2)
// Ygeo = GT(3) + Xpixel*GT(4) + Yline*GT(5)

int x = 0;
int y = 0;

double lng=geotransform[0] + x*geotransform[1] + y*geotransform[2];
double lat=geotransform[3] + x*geotransform[4] + y*geotransform[5];

GDAL 没有 C++ 接口(interface),因此您可以像在 C 中一样完成大部分工作。

关于c++ - 如何使用Gdal C++从geotiff图像中获取经纬度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39564866/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com