Я пытаюсь создать растровый слой с наименьшим расстоянием до ячеек с целевым значением, поэтому я использую gdal.ComputeProximity ().
Но я должен сделать что-то не так, потому что мой выходной растр содержит только 0 значений, и я не вижу, где моя ошибка.
Заранее спасибо.
Характеристики моих данных:
растр uint8 с 994 столбцами и 1320 строками
значение no_data равно 0
espg: 2154 (метрика)
from osgeo import gdal
raster1 = r'/path/to/my/raster/os_1951.tif'
r1 = gdal.Open(raster1)
r1band=r1.GetRasterBand(1)
r2 = r'/path/to/my/raster/dist13_1951_t2.tif'
drv = gdal.GetDriverByName('GTiff')
r2 = drv.Create( r2,
r1.RasterXSize, r1.RasterYSize, 1,
gdal.GetDataTypeByName('Float32'))
r2.SetGeoTransform(r1.GetGeoTransform())
r2.SetProjection(r1.GetProjectionRef())
r2band = r2.GetRasterBand(1)
gdal.ComputeProximity(r1band,r2band,["VALUES=13","DISTUNITS=GEO"])