def polygonize(raster, threshold_min=0.0, threshold_max=float('inf')): """Raster polygonizer. Function to polygonize raster. Areas (pixels) with threshold_min < pixel_values < threshold_max will be converted to polygons. :param raster: Raster layer :type raster: QgsRasterLayer :param threshold_min: Value that splits raster to flooded or not flooded. :type threshold_min: float :param threshold_max: Value that splits raster to flooded or not flooded. :type threshold_max: float :returns: Polygonal geometry :rtype: QgsGeometry """ points = pixels_to_points(raster, threshold_min, threshold_max) polygons = points_to_rectangles( points, raster.rasterUnitsPerPixelX(), raster.rasterUnitsPerPixelY()) polygons = union_geometry(polygons) return polygons