Кажется, что это должно быть просто, но я не могу понять, насколько я понимаю.
Учитывая существующий GeoTiff, содержащий одну полосу, как вы можете добавить другую полосу к этой GeoTiff? Является ли единственный способ сделать это, используя GDALCreate () для создания нового выходного файла с дополнительной полосой, а затем скопировать существующую полосу из исходного файла в новый файл? Это единственное решение, которое я придумала до сих пор, но кажется, что должен быть простой способ добавить группу в существующий набор данных.
Ответы:
Решение, если драйвер поддерживает его, состоит в том, чтобы вызвать GDALOpen () с доступом GA_Update, а затем использовать GDALAddBand или GDALDataset :: AddBand . Однако драйвер geotiff не поддерживает AddBand.
источник
Чтобы расширить ответ Люка и привести конкретный пример на Python, вот фрагмент, который добавляет альфа-полосу в исходный растр и сохраняет ее в формате PNG.
Я использовал
MEM
драйвер вместо,VRT
так как последний не поддерживаетWriteRaster()
иWriteArray()
(ошибка «Запись через VRTSourcedRasterBand не поддерживается.»). Полагаю, использование драйвера vrt все еще возможно с помощью других методов.источник