Mam punktowy plik kształtu z tysiącami punktów. Ma pole kodu identyfikacyjnego, które powinno być unikalne. Od czasu do czasu urzędnik wprowadzania danych błędnie wpisuje identyfikator, tworząc duplikaty. W tej chwili ręcznie przewijam pole, aby znaleźć duplikat.
Czy istnieje inny sposób, aby to zrobić za pomocą Kreatora zapytań wyszukiwania?
qgis
query
fields-attributes
obsidianz
źródło
źródło
Odpowiedzi:
Jeśli identyfikatory są następujące po sobie, dodam nową tymczasową kolumnę z unikalnymi wartościami, takimi jak sugerowana @ Ship.shp, a następnie użyję konstruktora zapytań, aby wyszukać ID! = UniqueID.
To zwróci duplikaty bezpośrednio. Po naprawieniu oryginalnych identyfikatorów usuń dodatkową kolumnę lub powtórz cały proces w razie potrzeby - nie jest jasne, jakiego rodzaju wzorce muszą pasować twoje identyfikatory. Jeśli po prostu muszą być unikalne, najpierw zanotuj ostatnią wartość, a następnie możesz edytować złe identyfikatory w jednej iteracji, po prostu podskakując liczbę w trakcie podróży.
źródło
Kolejny graficzny, dynamiczny i co najważniejsze prosty sposób wykrywania duplikatów atrybutów: użyj konstruktora wyrażeń QGIS.
Podświetl duplikaty w tabeli atrybutów :
Włącz formatowanie warunkowe (patrz czerwona strzałka poniżej) z następującym warunkiem:
Aby zgrupować wszystkie duplikaty u góry, kliknij kolumnę prawym przyciskiem myszy, wybierz Sortuj
Wprowadź powyższe wyrażenie bez
>1
i odznacz Sortuj rosnąco.Wyróżnij obiekty ze zduplikowanymi atrybutami na płótnie :
Możesz dodać nowy symbol lub etykietę z ustawionym filtrem do powyższych warunków.
I oczywiście możesz włączyć zastępowanie danych na podstawie tego samego.
Na przykład, jeśli chcesz podświetlić etykiety dla obiektów ze zduplikowanym atrybutem, możesz ustawić, aby rysował tło etykiety (= 1) z następującą przesłoną:
aby osiągnąć coś takiego
Oczywiście w obu sytuacjach po usunięciu lub zmianie zduplikowanych atrybutów formatowanie / styl aktualizuje się natychmiast.
źródło
Użyj wtyczki Group Stats i ustaw identyfikator jako klasyfikację pola. Możesz zobaczyć, ile razy każda wartość została wprowadzona w kolumnie „liczba”.
źródło
Szybki (choć nieelegancki) sposób, aby to zrobić, to przejście do właściwości warstwy, wybierz Styl - skategoryzowane za pomocą interesującej kolumny. Zastosuj to, a następnie kliknij prawym przyciskiem myszy warstwę w oknie warstw i sprawdź Pokaż liczbę operacji pole wyboru. Następnie rozwiń warstwę w oknie warstw i od razu możesz zobaczyć, ile razy wprowadzono każdą wartość.
źródło
To dobre pytanie, na które się natknąłem. Nie podoba mi się żadna z udzielonych dotąd odpowiedzi. Mam prawidłowy zestaw danych z unikalnymi identyfikatorami, które nie są sekwencyjne i nie są liczbami całkowitymi. Problem polega na tym, że zestaw danych zawiera pojedyncze geometrie, ale niektóre granice mają charakter wielu geometrii. Moim zadaniem jest zidentyfikowanie i połączenie tych geometrii.
Polecam używać DB Managera i SQL do tego rodzaju pracy. DB Manager jest teraz częścią QGIS. Musisz wyeksportować swoje dane do zestawu danych PostGIS lub SpatiaLite. SpatiaLite i tak powinien być formatem danych opartych na plikach.
Teraz możesz używać count (), grupować według i porządkować według, jak chcesz i powinieneś być w stanie rozwiązać ten i inne problemy dość szybko.
źródło
Tak, uderzyłem głową w ścianę o podobny problem.
Oto mój skrypt do usuwania funkcji o tych samych identyfikatorach. Pobiera pierwszą funkcję z więcej niż jednym atrybutem indeksu i zapisuje ją w nowej klasie funkcji.
źródło
Możesz także użyć podziału według atrybutu i uzyskać osobną tabelę dla każdej wartości.
Jednak podoba mi się sugestia Rayo. z wyjątkiem tego, że statystyki nie działają tak, jak myślałem.
Podaje liczbę unikalnych wartości, ale nie pomaga w określeniu ich wartości.
Inne oprogramowanie może dodać pole zliczania i umożliwić eksportowanie go do formatu csv lub innego formatu arkusza kalkulacyjnego.
Moja propozycja podziału warstwy według atrybutów dotyczy narzędzi do zarządzania wektorem
podziel swoje dane na dowolne 1 pole, abyś miał swoje liczby.
znacznie bardziej nieeleganckie niż rozwiązanie ship.ship
źródło