J'ai un fichier de formes de points avec des milliers de points. Il a un champ de code d'identification qui est censé être unique. De temps en temps, le commis à la saisie des données tape à tort l'ID créant des doublons. En ce moment, je fais défiler manuellement le champ pour trouver le doublon.
Existe-t-il une autre façon de procéder à l'aide du Search Query Builder?
qgis
query
fields-attributes
obsidianz
la source
la source
Réponses:
Si les ID sont consécutifs, j'ajouterais une nouvelle colonne temporaire avec des valeurs uniques comme @ Ship.shp suggérée, puis utiliser le générateur de requêtes pour rechercher ID! = UniqueID.
Cela retournerait directement les doublons. Après avoir corrigé les identifiants d'origine, supprimez la colonne supplémentaire ou répétez l'ensemble du processus si nécessaire - le type de modèle auquel vos identifiants doivent correspondre n'est pas clair. S'ils doivent simplement être uniques, notez d'abord la dernière valeur et vous pouvez ensuite modifier les mauvais ID en une seule itération, en augmentant simplement le nombre au fur et à mesure.
la source
Un autre moyen graphique, dynamique et surtout simple de détecter les attributs en double: utilisez le générateur d'expression de QGIS.
Mettez en surbrillance les doublons dans la table attributaire :
Activez la mise en forme conditionnelle (voir la flèche rouge ci-dessous) avec la condition suivante:
Pour regrouper tous les doublons en haut, cliquez avec le bouton droit sur la colonne, sélectionnez Trier
Entrez l'expression ci-dessus sans le
>1
, et désélectionnez Tri croissant.Mettez en surbrillance les fonctionnalités avec des attributs en double sur le canevas :
Vous pouvez ajouter un nouveau symbole ou une nouvelle étiquette avec le filtre défini sur la condition ci-dessus.
Et bien sûr, vous pouvez activer un remplacement dérivé des données basé sur le même.
Par exemple, si vous souhaitez mettre en surbrillance des étiquettes pour des entités avec un attribut en double, vous pouvez le définir pour dessiner un arrière-plan d'étiquette (= 1) avec le remplacement suivant:
pour réaliser quelque chose comme ce qui suit
Dans les deux situations, bien sûr, une fois que vous avez supprimé ou modifié les attributs en double, le formatage / style est mis à jour instantanément.
la source
Utilisez le plugin Group Stats et définissez l'ID comme une classification de champ. Vous pouvez voir combien de fois chaque valeur a été entrée dans la colonne "nombre".
la source
Un moyen rapide (bien qu'élégant) de le faire est d'aller dans les propriétés du calque, sélectionnez Style - Catégorisé en utilisant la colonne qui vous intéresse. case à cocher. Développez ensuite le calque dans la fenêtre des calques et vous pouvez immédiatement voir combien de fois chaque valeur a été entrée.
la source
C'est une bonne question sur laquelle je viens de tomber. Je n'aime aucune des réponses qui ont été données jusqu'à présent. J'ai un ensemble de données valide avec des ID uniques qui ne sont pas séquentiels et non entiers. Le problème est que l'ensemble de données contient des géométries uniques, mais certaines limites sont de nature multi-géométrique. Ma tâche est d'identifier et d'unir ces géométries.
Je recommande d'utiliser DB Manager et SQL pour ce type de travail. Le gestionnaire DB fait désormais partie de QGIS. Vous devez exporter vos données dans PostGIS ou dans un jeu de données SpatiaLite. SpatiaLite devrait de toute façon être le format de données basé sur les fichiers de votre choix.
Vous pouvez maintenant utiliser count (), grouper et trier par comme vous le souhaitez et vous devriez pouvoir résoudre ce problème et d'autres assez rapidement.
la source
Ouais, je me suis cogné la tête contre le mur pour un problème similaire.
Voici mon script pour supprimer des fonctionnalités avec les mêmes identifiants. Il prend la première entité avec plus d'un attribut d'index et l'écrit dans une nouvelle classe d'entités.
la source
Vous pouvez également utiliser l'attribut split by et vous retrouver avec une table séparée pour chaque valeur.
J'aime bien la suggestion de Rayo. sauf que statist ne fonctionne pas tout à fait comme je le pensais.
Il donne un décompte de valeurs uniques mais n'aide pas à ce que sont ces valeurs.
Un autre logiciel peut ajouter un champ de comptage et vous permettre de l'exporter au format csv ou autre feuille de calcul.
Ma suggestion pour la couche divisée par attribut se trouve dans les outils de gestion vectorielle
divisez vos données sur n'importe quel champ et vous aurez vos comptes.
bien plus inélégant que la solution de ship.ship
la source