Функция растеризации Растерио создает чистое изображение - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь растеризовать шейп-файл (с атрибутом) с помощью функции rasterio rasterize . Для этого я написал этот фрагмент кода:

new_dataset = rasterio.open('example.tif', 'w', driver='GTiff',
                            height = arr.shape[0], width = arr.shape[1],
                            count=1,
                            dtype=rasterio.float64,
                            crs=31370,transform=transform)

shapeee = fiona.open(shapefile)
geom_fiona = [shapes['geometry'] for shapes in shapeee]
attrib_fiona = [shapes['properties']['OBJECTID'] for shapes in shapeee]
tuples = []

for i in range(0,len(geom_fiona)-1,1):
    tuples.append([geom_fiona[i],attrib_fiona[i]])

burned = features.rasterize(tuples, out_shape = new_dataset.shape, default_value = -99, dtype = rasterio.float64, fill=-99)

print(np.max(burned))

Обратите внимание, что геометрия действительна, поскольку я проверил ее с features.is_valid_geom(geom_fiona[0]), которая возвращает true.

Вывод print(np.max(burned)) возвращает -99, что означает, что растеризация не удалась.

Я нашел этот вопрос , который является тем же вопросом, что и мой, и ответ, кажется, является проблемой с другими прогнозами. Я напечатал информацию о 'crs' с помощью мета-метода Fiona как для шейп-файла, так и для растра, и я получил один и тот же результат: EPSG:31370 для растра и {'init': 'epsg:31370'}, поэтому проблема, похоже, в другом ...

Есть идеи?

...