Перевести SXF в цветной растр GDAL Python
Добавлено: 13 апр 2021, 10:16
Пытаюсь перевести из векторного SXF в растровый формат TIFF (на самом деле, подойдёт любой растровый формат) с помощью библиотеки gdal python (пока что не нашёл альтернатив). Мой код разбивает слои SXF-файла в разные TIFF-изображения, но при этом растровое изображение получается чёрно-белым. Как сохранить цвет при растеризации SXF?
Вот один из получающихся слоёв:
Открыт для любого альтернативного решения проблемы. Заранее спасибо!
Код: Выделить всё
from osgeo import ogr, gdal
source_path = "/home/user/maps/N3710.SXF"
pixel_size = 50
NoData_value = 256
raster_fn = "/home/user/maps/"
source_ds = ogr.Open("/home/user/maps/N3710.SXF")
j=0
for i in range(source_ds.GetLayerCount()):
source_layer = source_ds[i]
source_layer.ResetReading()
x_min, x_max, y_min, y_max = source_layer.GetExtent()
x_res = int((x_max - x_min) / pixel_size)
y_res = int((y_max - y_min) / pixel_size)
target_ds = gdal.GetDriverByName('GTiff').Create(raster_fn + str(j) + ".tiff" , x_res, y_res, 1, gdal.GDT_Byte)
target_ds.SetGeoTransform((x_min, pixel_size, 0, y_max, 0, -pixel_size))
band = target_ds.GetRasterBand(1)
band.SetNoDataValue(NoData_value)
gdal.RasterizeLayer(target_ds, [1], source_layer, burn_values=[0])
j += 1
Открыт для любого альтернативного решения проблемы. Заранее спасибо!