He estado trabajando en una imagen de ráster multibanda. Es una imagen pix. Necesito trabajar solo en las 26 bandas que son archivos ráster y no en los 4 mapas de bits que también están incluidos en la imagen pix. Podría forzar el bucle que va a través de él para que vaya solo 25 veces, pero eso no funcionará cuando cambien las imágenes pix y el número de bandas cambie. En este momento estoy usando gdal y lo tengo todo en un array 3D. Estoy bastante seguro de que los mapas de bits serían las últimas cinco capas del array. No tengo nada para abordar este problema, así que no tengo código.
Básicamente solo necesito eliminar 4 capas de la imagen pix y trabajar con 26 capas. Cuando llamo a raster_image.rastercount
, en lugar de imprimir 30, quiero que imprima 26. He revisado la biblioteca gdal, puede que me haya perdido algo pero no pude encontrar nada. ¿Hay alguna forma de eliminar bandas enteras usando gdal?
He adjuntado una captura de pantalla de cómo se ven las bandas y cómo se ve uno de los mapas de bits cuando se muestra. ¿Hay alguien que pueda ayudar? ¿O solo decirme que es imposible?
Estoy tratando de usar GetGeomType
solo para ver cómo funciona y si funcionará para mí. Pero parece que no funciona:
raster_image = gdal.Open(in_raster)
band3 = raster_image.GetGeomType(3)
print band3
Así es como lo estoy llamando pero me da el error:
AttributeError: 'Dataset' object has no attribute 'GetGeomType'
Luego, al intentarlo primero obteniendo la banda ráster y luego comprobando el tipo geométrico, obtengo:
band3 = raster_image.GetRasterBand(3).GetGeomType()
print band3
AttributeError: 'Band' object has no attribute 'GetGeomType'
0 votos
¿Podrías mostrar la sección de bandas del informe gdalinfo de tu imagen? ¿Acaso te refieres a que hay 5 bandas con una profundidad de bit de 1 bit incluidas en la imagen?
0 votos
Entonces, la imagen "pix" tiene 25 bandas raster. Cuando uso rasterCount, me da 30 bandas. Por lo tanto, estoy asumiendo que está incluyendo los 5 mapas de bits extra que están en la imagen "pix". Por lo tanto, la está leyendo como 30 capas (25 bandas + 5 mapas de bits). También, ¿cómo uso gdalinfo? Intenté raster_image.gdalinfo pero eso no funcionó.
0 votos
Utilice la utilidad gdalinfo gdal.org/gdalinfo.html:
gdalinfo imagen.tif
0 votos
Sigo recibiendo el mensaje "servidor DNS no autoritativo para la zona" cuando uso cmd. Leí en algún lugar que la información de gdal no puede ser llamada desde el idle, solo desde cmd.