Necesito recortar una capa de ráster con una capa vectorial. Cuando lo intento, aparece el siguiente error:
**ERROR 1: Intento de crear un conjunto de datos de 0x0 es ilegal, los tamaños deben ser mayores que cero.**
¿Qué estoy haciendo mal?
Necesito recortar una capa de ráster con una capa vectorial. Cuando lo intento, aparece el siguiente error:
**ERROR 1: Intento de crear un conjunto de datos de 0x0 es ilegal, los tamaños deben ser mayores que cero.**
¿Qué estoy haciendo mal?
El problema estaba en los archivos fuente. Si abres uno de esos archivos (es decir, map-3), verás que tienen 4 bandas. Creo que la cuarta banda es un canal alfa (para transparencia) agregado por algún software de edición de fotos (photoshop, gimp). Para eliminar la cuarta banda en la imagen combinada, utiliza la herramienta de conversión de rasters y edita la línea de comando manualmente:
gdal_translate -b 1 -b 2 -b 3 nombredelfuente.tif bandas.tif
Ahora tienes un raster de 3 bandas. Luego, verás que la herramienta de recorte no funcionará. ¿Por qué? No lo sé (creo que los archivos fuente están corruptos). Así que utiliza otra estrategia: rasteriza el polígono en el archivo rav.shp (llamaré ravrast.tif a la versión en raster), y luego utiliza la calculadora de rasters para extraer los valores de las 3 bandas:
archivo de salida: banda1.tif; expresión: bandas@1 * ravrast@1 archivo de salida: banda2.tif; expresión: bandas@2 * ravrast@1 archivo de salida: banda3.tif; expresión: bandas@3 * ravrast@1
Ahora, debes combinar estos tres archivos. Utiliza el menú Ráster/Varios/Unión.
El comando final de esta herramienta debería aparecer de la siguiente manera:
gdal_merge.py -separate -of GTiff -o unido.tif banda1.tif banda2.tif banda3.tif
Ahora, unido.tif contendrá la imagen de las 3 bandas recortadas que estabas buscando, pero hay un último paso, para eliminar el color negro de las celdas no detectadas. Desde la línea de comando, escribe:
rgb2pct.py -n 256 unido.tif final.tif
(Estoy en Linux, tal vez en Windows pueda ser rgb2pct.bat)
Carga el archivo final.tif en QGIS, pregunta por los valores de píxel en el área negra de la imagen, luego ve a las propiedades de la capa y establece los valores de píxeles nodata o transparentes a este número (en mi caso (el archivo que adjunté).
El archivo final es un archivo tif pseudo-colorido. Puedes editarlo en QGIS o en gimp y guardarlo en otro formato.
Saludos,
Diego
Lo siento por estas preguntas tontas, pero realmente soy nuevo en todo este asunto de GIS. ¿Dónde puedo ver que la capa vectorial no está vacía? Si uso la misma proyección para ambas capas, no se superponen. Pero para el recorte las transformé a la misma proyección.
Okay, volví a revisar las capas. Mi shapefile tiene un objeto, así que no está vacío. ¿Verdad? Creo que el problema es la proyección. Utilicé EPSG: 3857 como el CSR del proyecto. El shapefile está proyectado en EPSG: 4326. Intenté usar el mismo CSR para el raster, pero luego no se superponían. Así que utilicé EPSG: 3857 para el raster. Creo que ese es el problema. ¿Pero qué puedo hacer para que ambas capas se superpongan y pueda cortarlas?
Intenté editar la capa de forma nuevamente. Ambas capas ahora tienen la misma proyección (EPSG 3857), pero el error sigue apareciendo. ¿Será el problema el shapefile vacío, después de todo?
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.
0 votos
¡Lo siento! QGIS. Intenté usar la misma proyección para ambas capas pero no funcionó.
0 votos
¿cuál es la resolución de tu raster? ¿cuáles son las dimensiones de tu capa vectorial?