Я читаю файлы геотифов с помощью gdal. У геотифов есть некоторые метаданные, указывающие, ссылаются ли координаты на углы или центры пикселей (AREA_OR_POINT).
Мне неясны две вещи:
Учитывает ли это уже gdal (область или точка) при чтении геотипа и сдвига данных на полпикселя, если требуется? Какое тогда будет gdal 'соглашение'?
Это не делает gdal, действительно ли мне нужно извлекать эту информацию, читая метаданные и выполняя некоторое сравнение строк? В настоящее время я делаю:
data_set_ = static_cast<GDALDataset *>(
GDALOpen(filename_.c_str(), GA_ReadOnly));
auto p = data_set_->GetMetadataItem(GDALMD_AREA_OR_POINT);
if (p == nullptr) {
throw std::string("Could not determine AREA_OR_POINT");
} else {
if (!strcasecmp("area", p))
std::cerr << "area" << std::endl;
else
std::cerr << "point" << std::endl;
}
, что кажется довольно громоздким, если учесть, что это будет необходимо постоянно, если gdal уже не обрабатывает этот сдвиг автоматически.