2 votos

¿Cómo puedo asignar un área de identificación única a un área de un shapefile para poder rasterizarlo?

Tengo un shapefile (que se puede descargar de este enlace de dropbox ) que me gustaría rasterizar para poder fusionarlo con algunos datos no geográficos (ya tengo el código para hacerlo). Desafortunadamente, el shapefile no tiene un ID único asignado a cada área delimitada, como se muestra a continuación. El region_id no es realmente único. (Mire las áreas con 10, 14 y 15 como ID de región).

! Shapefile with non-unique "region ID"

¿Cómo puedo asignar un atributo único a cada una de estas regiones delimitadas y cerradas para poder rasterizar el shapefile en el formato adecuado? (En mi caso, un formato XYZ con latitud, longitud y un valor específico).

La tabla de atributos tiene el siguiente aspecto:

Attribute table

1voto

peterorum Puntos 467

Ahora que entendemos que el archivo contiene líneas y no polígonos -

Select Processing-> Toolbox
Expand QGIS algorithms
Expand Vector Geometry Tools under QGIS algorithms
Select the Polygonize Tool (not the Lines from Polygons Tool, that won't work).

Aplique la herramienta Poligonizar a su capa. Ahora tiene una capa poligonal. Ahora puede aplicar la solución de la calculadora de campos para añadir una columna de número de fila, que es única para la región.

Nota: cuando apliqué esto a su conjunto de datos, varias regiones no se cerraron correctamente. Sospecho que esto se debe a que algunos puntos finales de los segmentos de línea no coinciden exactamente. Sin embargo, no es obvio dónde están estas brechas.

Este es el resultado. Para mayor claridad, he coloreado las regiones por área para dejar claro dónde están las diferentes regiones.

Map with Regions

-1voto

peterorum Puntos 467

Underdark respondió a esto en su blog hace años. Puedes leerlo aquí. Sigue funcionando al menos hasta la versión 2.18. (Para aquellos que no quieren seguir el enlace -

open the attribute table of the layer
enable editing
create new column
expression is @rownumber

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