gdal.ComputeProximity всегда возвращает 0 - PullRequest
0 голосов
/ 13 апреля 2019

Я пытаюсь создать растровый слой с наименьшим расстоянием до ячеек с целевым значением, поэтому я использую 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"])
...