Как получить десятичные дроби в качестве значений в результате функции gdal.Polygonize() с использованием Python3?Python

Программы на Python
Anonymous
Как получить десятичные дроби в качестве значений в результате функции gdal.Polygonize() с использованием Python3?

Сообщение Anonymous »

Я использую функцию gdal.Polygonize() для векторизации основных регионов в растре. Это работает так хорошо!
Но значения пикселей, рассматриваемые для векторизации, являются просто целыми числами, поэтому кластеризация игнорирует группы данных между каждым целым числом. Мой код выглядит следующим образом:

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

rasterDS = gdal.Open(raster)
band = rasterDS.GetRasterBand(1)

# Create and prepare a new layer for the polygonized layer
proj = osr.SpatialReference(wkt=rasterDS.GetProjectionRef())
polygonizedLayer = destDS.CreateLayer(name, srs=proj)
field = ogr.FieldDefn("ND", ogr.OFTInteger)  # Deffine the attribute for Digital Level
polygonizedLayer.CreateField(field)   # Add the field created before into layer schema
ndField = polygonizedLayer.GetLayerDefn().GetFieldIndex("ND") # Get the field index where ND going to be stored

# Generate the polygons
gdal.Polygonize(band, band, polygonizedLayer, ndField, ['8CONNECTED=8'], callback=None)
Есть ли способ выполнить векторизацию с учетом десятичных значений, чтобы объекты слоя имели значения с точностью не менее двух десятичных знаков?

Подробнее здесь: https://stackoverflow.com/questions/784 ... ction-usin

Вернуться в «Python»