Mettre à jour la réponse (version QGIS> = 2.14)
Depuis QGIS 2.14 , vous pouvez utiliser des instructions SQL d'exécution sur n'importe quelle couche vectorielle chargée à l'aide de couches virtuelles .
- Après avoir chargé la couche dans QGIS, accédez à Couche> Ajouter une couche> Ajouter / Modifier une couche virtuelle ;
Dans la boîte de dialogue Créer une couche virtuelle, entrez votre instruction SQL dans le champ Requête. Quelque chose comme:
SELECT DISTINCT city_name FROM layer_name
Pour le jeu de géométrie Pas de géométrie
- Cliquez sur OK et une table se chargera dans QGIS avec les valeurs uniques souhaitées.
Remarque: ce tableau sera mis à jour si de nouvelles valeurs sont ajoutées à la colonne city_name.
Réponse héritée (QGIS version <2.14)
Vous avez plusieurs choix pour faire ce que vous demandez.
- Importez votre fichier de formes dans une base de données Spatialite ou Postgis, puis vous pouvez interroger votre table à l'aide d'instructions SQL complètes;
- Utilisez l'outil Dissoudre (Vector> Outils de géotraitement> Dissoudre) pour dissoudre vos fichiers de formes à l'aide du champ "city_name". Bien qu'il s'agisse d'une méthode étrange, le fichier dbf du fichier de formes résultant fournira la liste dont vous avez besoin;
- Jetez un oeil au plugin de statistiques de groupe (1.6) , vous pouvez utiliser "city_name" comme champ de classification et appuyez sur calculer. Il calculera des statistiques sur chaque ville, vous pouvez ensuite copier le résultat et extraire la liste des villes.
Je viens de remarquer que, dans les outils Vector> Analysis , il existe un outil List Values unique qui est précisément ce dont on a besoin pour cette tâche. Si facile ... aucune solution de contournement et aucun besoin de plugins.
Essayez d'inclure quelque chose comme:
la source
Utilisez le générateur de requêtes dans QGIS, accédez au champ du nom de la ville dans les champs du générateur de requêtes. Accédez aux valeurs, ajoutez tout. Supprimez tous les null.
Créez un script similaire à city name = "london" et city name = "paris" jusqu'à ce que vous ayez la liste complète des noms et exécutez le script. Maintenant, tous les noms de villes sont sélectionnés. Vous pouvez exporter la sélection sous forme de fichier de forme et l'importer dans une base de données postgresql.
Pour utiliser un backend postgresql dans QGIS, installez une pile postgresql avec geoserver, postgresql et une base de données compatible postgis dans postgresql. Vous devrez connecter QGIS au serveur. Jouez un peu et vous le découvrirez.
la source