Actualizar respuesta (Versión QGIS> = 2.14)
Desde QGIS 2.14 , puede usar ejecutar sentencias SQL en cualquier capa vectorial cargada usando capas virtuales .
- Después de cargar la capa en QGIS, vaya a Capa> Agregar capa> Agregar / Editar capa virtual ;
En el cuadro de diálogo Crear capa virtual, ingrese su instrucción SQL en el campo Consulta. Algo como:
SELECCIONE DISTINCT city_name FROM layer_name
Para el conjunto de geometría Sin geometría
- Haga clic en Aceptar y se cargará una tabla en QGIS con los valores únicos deseados.
Nota: esta tabla se actualizará si se agregan nuevos valores a la columna city_name.
Respuesta heredada (versión QGIS <2.14)
Tienes algunas opciones para hacer lo que pides.
- Importe su archivo de forma en una base de datos Spatialite o Postgis, y luego puede consultar su tabla usando declaraciones SQL completas;
- Use la herramienta Disolver (Vector> Herramientas de geoprocesamiento> Disolver) para disolver sus archivos de forma usando el campo "nombre_de_ ciudades". Aunque es un método extraño, el archivo dbf del archivo de forma resultante proporcionará la lista que necesita;
- Eche un vistazo al complemento de estadísticas de grupo (1.6) , puede usar "city_name" como campo de clasificación y presione calcular. Calculará algunas estadísticas sobre cada ciudad, luego puede copiar el resultado y extraer la lista de ciudades.
Acabo de notar que, en Vector> Herramientas de análisis , hay una herramienta Listar valores únicos que es precisamente lo que uno necesita para esta tarea. Tan fácil ... sin soluciones y sin necesidad de complementos.
Intenta incluir algo como:
fuente
Use el generador de consultas en QGIS, vaya al campo del nombre de la ciudad en los campos del generador de consultas. Ir a valores, agregar todo. Eliminar cualquier nulo.
Cree un script similar a city name = "london" y city name = "paris" hasta que tenga la lista completa de nombres y ejecute el script. Ahora se seleccionan todos los nombres de ciudades. Puede exportar seleccionados como un archivo de forma e importarlos a una base de datos postgresql.
Para utilizar un backend postgresql a QGIS, instale una pila postgresql con geoserver, postgresql y una base de datos habilitada postgis en postgresql. Deberá conectar QGIS al servidor. Juega un poco y lo resolverás.
fuente