Страница 1 из 1

python gdal портится растр

Добавлено: 14 дек 2018, 09:50
LevLimin
Есть у меня сервер на Centos, на котором стоит GDAL 1.11.4 и Python 3, GeoServer, Apache + небольшой сайтик.

Есть код, который конвертирует jpg в tiff, который работает как вызов консольной команды gdal_translate.
И всё работает хорошо. Т.е. я через форму на сайте гружу растр, после загрузки он конвертируется в тифф,
и создаётся слой в геосервер, который отображается в OL. Это если я сижу буквально в метре от сервера =)
Если другой человек, через интернет заходит на сайт, то у него тоже всё пашет.

А вот если вместо gdal_translate, использую рукописный код, типа такого:

Код: Выделить всё

     
out_driver = gdal.GetDriverByName('GTiff')
outdataset = out_driver.Create(target_file, ds.RasterXSize, ds.RasterYSize, 1, gdal.GDT_Byte,
                                   options=[
                                       'COMPRESS=LZW',
                                       'TFW=YES',
                                       'INTERLEAVE=BAND',
                                       'NUM_THREADS=4',
                                       'PROFILE=GeoTIFF',
                                       'BIGTIFF=IF_NEEDED',
                                       'TILED=YES',
                                       'BLOCKXSIZE=256',
                                       'BLOCKYSIZE=256'])
        
ct = gdal.ColorTable()
err = gdal.ComputeMedianCutPCT(ds.GetRasterBand(1),
                                       ds.GetRasterBand(2),
                                       ds.GetRasterBand(3),
                                       256, ct,
                                       None,
                                       None)

outdataset.GetRasterBand(1).SetRasterColorTable(ct)

outdataset.SetProjection(srs_wkt)
outdataset.SetGeoTransform(dt_new)

err = gdal.DitherRGB2PCT(ds.GetRasterBand(1),
                                 ds.GetRasterBand(2),
                                 ds.GetRasterBand(3),
                                 outdataset.GetRasterBand(1),
                                 ct,
                                 None,
                                 None)
outdataset.GetRasterBand(1).SetNoDataValue(255)

outdataset.FlushCache()
outdataset = None
ds = None

То когда растр грузит удалённый товарищ, растр портится, то чёрные квадраты, то чёрные полосы или полоса.
То растр получается в негативе.

ПРичём я делаю, то всё хорошо. Локально запускаю этот скрипт на компе, всё хорошо.
Такое ощущение, что из кеша не успевают данные скидываться в файл растра.

Сталкивался кто с таким?

Re: python gdal портится растр

Добавлено: 14 дек 2018, 10:06
trir
GDAL 1.11.4 и Python 3
дико звучит

Re: python gdal портится растр

Добавлено: 14 дек 2018, 10:12
LevLimin
trir писал(а):
14 дек 2018, 10:06
дико звучит
Я бы с удовольствием поставил на Centos 6, GDAl 2.x, но не ставится =(