2 votos

Problema para recortar un raster con un shapefile

Necesito recortar una capa rasterizada con una capa vectorial. Cuando lo intento, aparece el siguiente error:

**ERROR 1: Attempt to create 0x0 dataset is illegal,sizes must be larger than zero.** 

¿Qué estoy haciendo mal?

2voto

Andrea Puntos 71

El problema estaba en los archivos de origen. Si abres uno de esos archivos (por ejemplo, el mapa-3), verás que tienen 4 bandas. Creo que la cuarta banda es un canal alfa (para la transparencia) añadido por algún software de edición de fotos (photoshop, gimp). Para eliminar la 4ª banda en la imagen fusionada, utiliza la herramienta de conversión de raster y edita la línea de comandos a mano:

gdal_translate -b 1 -b 2 -b 3 sourcefilename.tif bands.tif

Ahora, tienes una trama de 3 bandas. Entonces, verás que la herramienta de recorte no funcionará. ¿Por qué? No lo sé (creo que el archivo fuente está corrupto). Entonces, usa otra estrategia: rasteriza el polígono en el archivo rav.shp (llamaré ravrast.tif a la versión raster), y luego usa la calculadora raster para extraer los valores de las 3 bandas:

archivo de salida: band1.tif; expresión: bands@1 * ravrast@1 archivo de salida: band2.tif; expresión: bands@2 * ravrast@1 archivo de salida: band3.tif; expresión: bands@3 * ravrast@1

Ahora, tienes que fusionar estos tres archivos. Utilice la voz del menú Raster/Miscellaneus/Union.

El comando final de esta herramienta debe aparecer como sigue:

gdal_merge.py -separate -of GTiff -o united.tif band1.tif band2.tif band3.tif

Ahora, united.tif contendrá la imagen recortada de 3 bandas que estaba buscando, pero hay un último paso, para eliminar el color negro de las celdas notadas. Desde la línea de comandos, escriba:

rgb2pct.py -n 256 united.tif final.tif

(Estoy en linux, tal vez en Windows puede ser rgb2pct.bat)

Cargue el archivo final.tif en QGIS, pida los valores de los píxeles en el área negra de la imagen, luego vaya a las propiedades de la capa y establezca los valores de los píxeles nodata o transparente a este número (en mi caso (el archivo que adjunté).

El archivo final es un archivo tif pseudocoloreado. Puedes editarlo en QGIS o en Gimp y guardarlo en otro formato.

Adiós,

Diego

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X