Quiero poligonizar un archivo raster. El archivo rasterizado tiene el siguiente aspecto.
Aquí está el archivo rasterizado
Aquí están mis códigos en Python para poligonizar el archivo raster. La fuente de los códigos de Poligonizar una banda rasterizada
#raster to polygons
from osgeo import gdal, ogr
# get raster datasource
src_ds = gdal.Open( "C:\\Users\\select3.tif" )
srcband = src_ds.GetRasterBand(1)
# create output datasource
dst_layername = "output_select3"
drv = ogr.GetDriverByName("ESRI Shapefile")
dst_ds = drv.CreateDataSource( dst_layername + ".shp" )
dst_layer = dst_ds.CreateLayer(dst_layername, srs = None )
gdal.Polygonize( srcband, None, dst_layer, -1, [], callback=None )
#The following two steps are very important, otherwise will generate error like (Coordinate not defined)
dst_ds.Destroy()
src_ds=None
El resultado es el siguiente.
Y aquí está el shapefile de salida
No estoy satisfecho con esto, porque sólo quiero tener las áreas poligonales (Marca de verificación) y excluir la extensión (marca de la cruz) de los polígonos. ¿Alguien podría decirme cómo arreglar esto en python?