1 votos

QGIS 3.22.7 - Problemas al convertir vector a ráster (ERROR 1: Valor incorrecto para el parámetro -ts)

Estoy aprendiendo QGIS y tengo una serie de polígonos que necesito convertir en un ráster. El archivo de formas con el que estoy trabajando se puede descargar aquí (el tamaño del archivo de formas es de 3 KB). Estoy utilizando la herramienta Rasterize, que se encuentra navegando a Raster -> Conversion -> Rasterize (Vector to Raster).

Mis parámetros se pueden encontrar en la imagen a continuación. Ten en cuenta que la "Extensión de salida" es el archivo 'qgis_question.shp', y tengo la resolución de ancho y alto establecida en 0.5 metros porque ese es el tamaño de los polígonos de entrada.

enter image description here

Sin embargo, cuando ejecuto la herramienta, obtengo el siguiente error:

Versión de QGIS: 3.22.7-Biaowiea
Revisión del código de QGIS: 5a65627a
Versión de Qt: 5.15.3
Versión de Python: 3.9.5
Versión de GDAL: 3.4.3
Versión de GEOS: 3.10.2-CAPI-1.16.0
Versión de PROJ: Rel. 9.0.0, 1 de marzo de 2022
Versión de PDAL: 2.3.0 (versión de git: 0a6ef5)
Algoritmo iniciado en: 2022-06-24T16:43:32
Algoritmo 'Rasterize (vector to raster)' iniciando…
Parámetros de entrada:
{ 'BURN' : 1, 'DATA_TYPE' : 5, 'EXTENT' : '-96.462722339,-96.462674180,41.171721049,41.171734417 [EPSG:4326]', 'EXTRA' : '', 'FIELD' : 'data', 'HEIGHT' : 0.5, 'INIT' : Ninguno, 'INPUT' : 'C:\\Users\\Downloads\\qgis_question.shp', 'INVERT' : False, 'NODATA' : 0, 'OPTIONS' : '', 'OUTPUT' : 'TEMPORARY_OUTPUT', 'UNITS' : 0, 'USE_Z' : False, 'WIDTH' : 0.5 }

Comando de GDAL:
gdal_rasterize -l qgis_question -a data -ts 0.5 0.5 -a_nodata 0.0 -te -96.462722339 41.171721049 -96.46267418 41.171734417 -ot Float32 -of GTiff C:\Users\Downloads\qgis_question.shp C:/Users/AppData/Local/Temp/processing_QYaTKA/ec0d37a8fcdb47008b72df99d0be8d57/OUTPUT.tif
Salida del comando de GDAL:

ERROR 1: Valor incorrecto para el parámetro -ts.
Uso: gdal_rasterize [-b banda]* [-i] [-at] 
{[-burn valor]* | [-a nombre_atributo] | [-3d]} [-add] 
[-l nombre_capa]* [-where expresión] [-sql sentencia_select] 
[-dialect dialecto] [-of formato] [-a_srs srs_def] [-to "NOMBRE=VALOR"]* 
[-co "NOMBRE=VALOR"]* [-a_nodata valor] [-init valor]* 
[-te xmin ymin xmax ymax] [-tr xres yres] [-tap] [-ts ancho alto] 
[-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/ 
CInt16/CInt32/CFloat32/CFloat64}] [-optim {[AUTO]/VECTOR/RASTER}] [-q] 

Proceso devolvió error de código 1
Ejecución completada en 0.06 segundos
Resultados:
{'OUTPUT': 'C:/Users/Temp/processing_QYaTKA/ec0d37a8fcdb47008b72df99d0be8d57/OUTPUT.tif'}

Cargando las capas resultantes
Las siguientes capas no se generaron correctamente.
• C:/Users/Temp/processing_QYaTKA/ec0d37a8fcdb47008b72df99d0be8d57/OUTPUT.tif
Puedes consultar el 'Panel de mensajes de registro' en la ventana principal de QGIS para obtener más información sobre la ejecución del algoritmo.

¿Cómo puedo rasterizar esta capa?

2voto

Jeremy White Puntos 381

Hay un par de problemas aquí. En primer lugar, has seleccionado Píxeles para el parámetro de unidades de tamaño de salida del ráster. Por lo tanto, al ingresar 0.5 para la altura y la anchura, has solicitado un ráster de medio píxel por medio píxel, ¡lo cual obviamente no es posible! Si el tamaño de salida es píxeles, debes ingresar valores razonables para la altura y la anchura que correspondan al número de filas y columnas que deseas en tu ráster de salida (número de píxeles). Si deseas especificar la salida en resolución (tamaño de los píxeles), debes seleccionar unidades georreferenciadas para el tamaño del ráster de salida.

En segundo lugar, también estás asumiendo que estás ingresando 0.5 metros, pero tu shapefile está en un sistema de coordenadas geográficas - EPSG:4326. Por lo tanto, incluso utilizando unidades georreferenciadas, los valores que estás ingresando en realidad serían Grados Geográficos, lo que significa que estarías solicitando que 1 píxel sea de 0.5 grados x 0.5 grados. Dado que eso es más grande que toda la extensión de tu salida, ¡eso tampoco funcionará!

Si deseas seguir trabajando en WGS84 y utilizando los mismos parámetros, necesitarías ingresar un valor de resolución de salida mucho más pequeño. Sin embargo, te recomendaría encarecidamente reproyectar tu shapefile a un sistema de coordenadas proyectado basado en metros para tu área local. Puedes exportar tu capa vectorial y guardarla con un nuevo crs, o simplemente utilizar el algoritmo 'Reproyectar capa' del cuadro de herramientas de procesamiento y rasterizar la capa de memoria de salida. Entonces puedes trabajar con valores de resolución basados en metros.

Flujo de trabajo probado:

Descargué tu shapefile y lo cargué en un proyecto en blanco en QGIS. Primero, cambié el CRS del proyecto a NAD83 (HARN) / UTM zone 14N EPSG:3744.

*Nota: No estoy familiarizado con tu área local, así que no sé si este es el crs mejor para usar, pero parece una elección razonable.

Luego, utilicé 'Reproyectar capa' en la Caja de herramientas de procesamiento y reproyecté el shapefile qgis_question al crs del proyecto (EPSG:3744), eligiendo 'Crear capa temporal' como salida.

Finalmente, ejecuté Rasterizar (Vector a Ráster) en la capa temporal Reprojectada con la siguiente configuración de parámetros:

Introduce aquí la descripción de la imagen

La captura de pantalla a continuación muestra la capa de ráster resultante con la capa vectorial reproyectada encima, simbolizada con un relleno transparente, mostrando solo los bordes del polígono.

Introduce aquí la descripción de la imagen

0 votos

¡Muchas gracias! ¡Realmente aprecio que te hayas tomado el tiempo para darme una respuesta muy detallada!

0 votos

@s_o_c_account, ¡ningún problema en absoluto! ¡Me alegra mucho que te haya sido útil!

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