1 votos

Exportar valores únicos de la columna de la capa de QGIS

Tengo un shapefile cargado en QGIS y cuando aplico un filtro puedo ver rápidamente todos los valores únicos de esa columna. ¿Existe una forma rápida de extraer eso para usarlo en el código? Sé que podría cargar el shapefile en una base de datos geográficos y extraer de allí, pero para un solo archivo que parece un montón de configuración

1voto

Zoltan Puntos 284

Las capas vectoriales tienen una función uniqueValues, que está disponible en Python:

v = iface.activeLayer()
idx = v.fieldNameIndex('your_column_name')
vals = v.uniqueValues(idx)

Puedes probarlo en la consola de Python para obtener los valores únicos de la columna 'tu_nombre_de_columna' de la capa activa. La lista vals contiene todos los valores únicos (sin ordenar).

0voto

Nick Puntos 3115

Hay muchos enfoques posibles que puedes utilizar y aquí tienes tres:

Rápido ( y desagradable pero eficaz): Abrir la parte dbf del shapefile en Excel (u OpenOffice/Libre Office etc) y sacar los valores únicos y guardarlos como CSV o algo así. Véase aquí para más detalles. No se recomienda manipular las partes separadas del shapefile, pero si sabes lo que estás haciendo y/o haces una copia del archivo dbf primero, no deberías sufrir ningún daño.

Un poco menos rápido (y mucho menos desagradable ): leer el dbf en modo de sólo lectura desde el programa que va a utilizar los valores. La forma de hacerlo dependerá totalmente del lenguaje de programación que decidas utilizar, así que no puedo entrar en detalles aquí, pero las bibliotecas GDAL (disponibles para Python, Java y C++) te ayudarán.

Otra opción (no es más rápido que su propia sugerencia, pero sí menos configuración): Cargue su shapefile en SpatialLite y utilice las funciones de la base de datos para extraer los valores únicos.

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