Jak grupować i liczyć dane atrybutów?

18

Chcę grupować i liczyć obiekty o tej samej wartości atrybutu kodu.

Potrafię klasyfikować dane i włączać liczbę funkcji na liście warstw, ale nie mogę uzyskać liczby w tabeli atrybutów.

Seren
źródło

Odpowiedzi:

19

Dzięki nowej warstwie wirtualnej możesz teraz używać SQL na dowolnej warstwie w QGIS, na przykład na pliku Shapefile na lotnisku z przykładowych danych QGIS:

wprowadź opis zdjęcia tutaj

Aby policzyć liczbę lotnisk według typu USE i obliczyć średnią wysokość:

wprowadź opis zdjęcia tutaj

Wyniki są ładowane jako nowa warstwa:

wprowadź opis zdjęcia tutaj

podmrok
źródło
Było to dla mnie bardziej przydatne niż statystyki grupy, ponieważ próbowałem uzyskać dane z warstwy, która połączyła warstwę wektorową z polami z warstwy zawierającej tylko atrybuty (CSV). Statystyki grupowe pozwoliłyby mi tylko pobierać z pojedynczej warstwy zamiast łączenia.
J. Taylor,
Właśnie wypróbowałem tę dokładną metodę z warstwą w moim projekcie, test SQL wraca bez błędów, ale wszystko, co otrzymuję w kolumnie „suma” to 0. Wszelkie wskazówki, gdzie mogę szukać tego, co ja robię źle?
1
@Isaacson, stanąłem przed dokładnie tym samym problemem, okazało się, że to za cytaty można obwiniać. W moim przypadku podwójne cytowanie pól dawało błąd podczas testowania, pojedyncze cytaty nie dawały błędu, ale błędne wyniki, żadne cytaty nie dawały oczekiwanego wyniku. Może to również zależeć od używanej wersji QGIS. Mam 3,4
dorakiara
1
PS Również nie mogłem zmusić go do agregacji (SUM) na połączonym polu.
dorakiara
8

To był najlepszy wynik w Google, jaki udało mi się znaleźć, ale samouczek dotyczący zrzutów ekranowych autorstwa GM jest nieaktualny i zajęło mi trochę czasu, aby dowiedzieć się, jak korzystać z wtyczki.

  1. Po zainstalowaniu załaduj panel sterowania Statystyki grupy z menu „Wektor”.
  2. Wybierz interesującą warstwę.
  3. Z listy pól przeciągnij interesujące pole do pola „wiersze”.
  4. Teraz przeciągnij to samo pole do pola „wartość”.
  5. Na liście pól znajdują się również niektóre funkcje, przeciągnij „count” do pola „value” (pod polem, które tam wstawiłeś).
  6. Kliknij „Oblicz”, a tabela pojawi się po lewej stronie.
  7. Jeśli chcesz, możesz sortować według liczby, kliknij etykietę kolumny.

Jak to pomaga innym ludziom.

Gregory
źródło
Jak zrobiłbyś to dla połączenia warstwy zawierającej tylko atrybuty i warstwy wektorowej? Załóżmy na przykład, że mam tabelę „Paczki”, która zawiera działki i wartości, a następnie tabelę „Właściciele”, która odwzorowuje nazwiska właścicieli na numery działek. Jak powiedziałbym „Grupuj wszystkich właścicieli według sumy wartości nieruchomości wszystkich działek, których są właścicielami”?
J. Taylor,
6

Sugeruję zainstalowanie wtyczki Group Stats . Oto krótki samouczek: samouczek statystyki grupy

  1. Wyszukaj ikonę Statystyki grupy
  2. Wybierz warstwę, w której masz Kody
  3. Wybierz atrybut (w twoim przypadku Kod)
  4. Kliknij Oblicz

Pojawi się hrabia. Jeśli przejdziesz do preferencji, powinieneś być w stanie wybrać tylko Licz, unikając innych parametrów, które będą wyświetlane (to nie jest mój przypadek ...). Pamiętaj, zanim klikniesz przycisk Zapisz, musisz wybrać pola, które chcesz dodać do pliku .csv: przytrzymaj Shift, aby to zrobić. Oto bardziej zaawansowany samouczek napisany przez Anitę Graser.

GM
źródło
Nie ma za co! Spójrz też na to pytanie . Mam nadzieję, że zobaczę więcej od ciebie! PA!
GM
1

możesz również użyć Qspatialite w QGIS. Okno SQL jest takie samo jak Mapinfo. Do Ciebie po wysłaniu żądania SQL za pomocą polecenia groupby w żądanej kolumnie.

BAUDIN
źródło