Перевести SXF в цветной растр GDAL Python

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
HifiDed1
Новоприбывший
Сообщения: 3
Зарегистрирован: 13 апр 2021, 10:10
Репутация: 0
Откуда: Деревня Морки, Республика Марий-Эл, РФ

Перевести SXF в цветной растр GDAL Python

Сообщение HifiDed1 » 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
Вот один из получающихся слоёв:
Изображение

Открыт для любого альтернативного решения проблемы. Заранее спасибо!

Petruxin
Гуру
Сообщения: 1695
Зарегистрирован: 14 июн 2011, 16:47
Репутация: 133
Ваше звание: Завсегдатай
Откуда: Череповец

Re: Перевести SXF в цветной растр GDAL Python

Сообщение Petruxin » 13 апр 2021, 13:21

А в ГИС Панораме что Вам не подходит?

HifiDed1
Новоприбывший
Сообщения: 3
Зарегистрирован: 13 апр 2021, 10:10
Репутация: 0
Откуда: Деревня Морки, Республика Марий-Эл, РФ

Re: Перевести SXF в цветной растр GDAL Python

Сообщение HifiDed1 » 13 апр 2021, 14:15

Появилась необходимость написать скрипт для автоматизации перевода SXF-файла в растровое изображение, ручками тыкать в гис панораме не подходит :D
Последний раз редактировалось HifiDed1 13 апр 2021, 14:16, всего редактировалось 1 раз.

trir
Гуру
Сообщения: 5287
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Перевести SXF в цветной растр GDAL Python

Сообщение trir » 13 апр 2021, 14:16

там api есть

HifiDed1
Новоприбывший
Сообщения: 3
Зарегистрирован: 13 апр 2021, 10:10
Репутация: 0
Откуда: Деревня Морки, Республика Марий-Эл, РФ

Re: Перевести SXF в цветной растр GDAL Python

Сообщение HifiDed1 » 13 апр 2021, 14:17

Api для ГИС Панорамы? Где найти мануал?

trir
Гуру
Сообщения: 5287
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Перевести SXF в цветной растр GDAL Python

Сообщение trir » 13 апр 2021, 14:34


juffin_h
Завсегдатай
Сообщения: 265
Зарегистрирован: 22 окт 2012, 08:35
Репутация: 49
Откуда: Нижний Новгород

Re: Перевести SXF в цветной растр GDAL Python

Сообщение juffin_h » 14 апр 2021, 12:19

Я не спец. по GDAL, но по моему Вы выводите в одно-канальный растр. Не факт, что драйвер может растрировать в индексные цвета. Может надо создавать 3х-канальный растр(RGB)?

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей