Ich habe ein Punkt-Shapefile mit Tausenden von Punkten. Es hat ein ID-Code-Feld, das eindeutig sein soll. Von Zeit zu Zeit gibt der Dateneingabeschreiber die ID falsch ein und erstellt Duplikate. Im Moment scrolle ich manuell durch das Feld, um das Duplikat zu finden.
Gibt es eine andere Möglichkeit, dies mit dem Search Query Builder zu tun?
qgis
query
fields-attributes
obsidianz
quelle
quelle
Antworten:
Wenn die IDs aufeinander folgen , würde ich eine neue temporäre Spalte mit eindeutigen Werten wie @ Ship.shp hinzufügen und dann den Abfrage-Generator verwenden, um nach ID! = UniqueID zu suchen.
Das würde die Duplikate direkt zurückgeben. Entfernen Sie nach dem Festlegen der ursprünglichen IDs die zusätzliche Spalte oder wiederholen Sie den gesamten Vorgang nach Bedarf. Es ist nicht klar, mit welcher Art von Muster Ihre IDs übereinstimmen müssen. Wenn sie nur eindeutig sein müssen, notieren Sie sich zuerst den letzten Wert, und Sie können dann die fehlerhaften IDs in einer Iteration bearbeiten, indem Sie die Zahl nach und nach erhöhen.
quelle
Eine weitere grafische, dynamische und vor allem einfache Möglichkeit, doppelte Attribute zu erkennen: Verwenden Sie den Ausdrucksgenerator von QGIS.
Markieren Sie Duplikate in der Attributtabelle :
Aktivieren Sie die bedingte Formatierung (siehe roter Pfeil unten) mit der folgenden Bedingung:
Um alle Duplikate oben zu gruppieren, klicken Sie mit der rechten Maustaste auf die Spalte, wählen Sie Sortieren
Geben Sie den obigen Ausdruck ohne das
>1
Symbol ein, und deaktivieren Sie Aufsteigend sortieren.Markieren Sie Features mit doppelten Attributen auf der Leinwand :
Sie können ein neues Symbol oder eine neue Beschriftung hinzufügen, wenn der Filter auf die oben angegebene Bedingung eingestellt ist.
Und natürlich können Sie eine von Daten abgeleitete Überschreibung aktivieren, die auf derselben basiert.
Wenn Sie beispielsweise Beschriftungen für Features mit einem doppelten Attribut hervorheben möchten, können Sie festlegen, dass ein Beschriftungshintergrund (= 1) mit der folgenden Überschreibung gezeichnet wird:
um etwas wie das folgende zu erreichen
In beiden Situationen wird die Formatierung / Gestaltung natürlich sofort aktualisiert, sobald Sie die doppelten Attribute löschen oder ändern.
quelle
Verwenden Sie das Plugin für Gruppenstatistiken und legen Sie die ID als Feldklassifizierung fest. In der Spalte "Anzahl" können Sie sehen, wie oft jeder Wert eingegeben wurde.
quelle
Eine schnelle (wenn auch unelegante) Möglichkeit, dies zu tun, besteht darin, die Ebeneneigenschaften aufzurufen, Stil - Kategorisiert anhand der gewünschten Spalte auszuwählen. Wenden Sie diese Option an, und klicken Sie dann mit der rechten Maustaste auf die Ebene im Ebenenfenster, und aktivieren Sie die Option Feature-Anzahl anzeigen Kontrollkästchen. Erweitern Sie dann die Ebene im Ebenenfenster und Sie können sofort sehen, wie oft jeder Wert eingegeben wurde.
quelle
Dies ist eine gute Frage, über die ich gerade gestolpert bin. Ich mag keine der bisher gegebenen Antworten. Ich habe einen gültigen Datensatz mit eindeutigen IDs, die nicht sequentiell und nicht ganzzahlig sind. Das Problem besteht darin, dass das Dataset einzelne Geometrien enthält, einige Grenzen jedoch mehrere Geometrien enthalten. Meine Aufgabe ist es, diese Geometrien zu identifizieren und zu vereinen.
Ich empfehle, den DB Manager und SQL für diese Art von Arbeit zu verwenden. Der DB Manager ist jetzt Teil von QGIS. Sie müssen Ihre Daten entweder in PostGIS oder in ein SpatiaLite-Dataset exportieren. SpatiaLite sollte sowieso das dateibasierte Datenformat der Wahl sein.
Jetzt können Sie count () verwenden, gruppieren und sortieren nach, wie Sie möchten, und sollten in der Lage sein, dieses und andere Probleme relativ schnell zu lösen.
quelle
Ja, ich habe meinen Kopf wegen eines ähnlichen Problems gegen die Wand geschlagen.
Hier ist mein Skript zum Entfernen von Features mit denselben IDs. Das erste Feature mit mehr als einem Indexattribut wird verwendet und in eine neue Feature-Class geschrieben.
quelle
Sie können auch das Attribut split by verwenden und für jeden Wert eine eigene Tabelle erstellen.
Ich mag Rayos Vorschlag. außer dass statist nicht so funktioniert, wie ich dachte.
Es gibt eine Anzahl eindeutiger Werte, hilft jedoch nicht bei der Bestimmung dieser Werte.
Eine andere Software fügt möglicherweise ein Zählfeld hinzu und ermöglicht es Ihnen, es in eine CSV-Datei oder ein anderes Tabellenformat zu exportieren.
Mein Vorschlag für die geteilte Ebene nach Attribut ist in den Vektorverwaltungswerkzeugen
Teilen Sie Ihre Daten auf ein beliebiges Feld auf, und Sie erhalten Ihre Zählung.
viel uneleganter als die Lösung von ship.ship
quelle