чтение GeoTIFF с помощью gdal и обработка AREA_OR_POINT - PullRequest
0 голосов
/ 04 мая 2020

Я читаю файлы геотифов с помощью 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 уже не обрабатывает этот сдвиг автоматически.

...