У меня есть изображение в формате tiff с географической привязкой, которое имеет опорный кадр EPSG 4326. У меня есть набор точек, которые мне нужно преобразовать в широту и долготу. Я использую Visual Studio вместе с GDAL 2.3.1 для своего проекта. Я не могу получить эквивалент C ++ нижеприведенного, который находится в python:
"trans = gdal.transformer(image, None [])
success,xyz=trans.TransformPoint(0,Posx,Posy)
lat=xyz[0]
long=xyz[1]
"
Содержимое внутри моего main показано ниже:
GDALAllRegister();
GDALDataset* data = (GDALDataset*) GDALOpen(filename,GA_ReadOnly);
OGRSpatialReference source,target;
source.importFromEPSG(4326);
target.importFromEPSG(4326);
//setting my pixels here for pixel location(500,500)
OGRPoint p;
p.setX(500);
p.setY(500);
p.assignSpatialReference(&source);
p.transformTo(&target);
// transformed coordinates
cout << p.getX() << " | " << p.getY();
Я начал с использования пример кода в link , который дал мне тот же результат lat, что и местоположение моего пикселя. Как такое возможно? Есть ли в библиотеке GDAL функция any для преобразования координат пикселей в широту и долготу в EPSG 4326. Любая помощь приветствуется.