Zliczasz liczbę wierzchołków wielokątów i linii w QGIS?

14

Czy w QGIS można policzyć liczbę wierzchołków wielokątów i linii w danej warstwie i utworzyć osobne pole zawierające te wartości?

Podejrzewam, że jest to funkcja gdzieś w kalkulatorze polowym, ale nie mogę jej znaleźć.

crichard75
źródło

Odpowiedzi:

14

Liczba punktów - po prostu prosta formuła w kalkulatorze polowym QGIS:

liczba_punktów (geometria $)

Zobacz zrzut ekranu poniżej: w tym przypadku liczba wierzchołków każdej funkcji jest dodawana do pola „wierzchołek” w tabeli atrybutów. Możesz również utworzyć „Utwórz nowe pole” i uzyskać tam wyniki.

wprowadź opis zdjęcia tutaj

jurajb
źródło
Czy najpierw tworzę pole o nazwie „wierzchołek”, a następnie podsumowuję to pole (używając jakiego narzędzia?) Po obliczeniu pola? Pomocne może być dodanie tej informacji do odpowiedzi.
Kristen G.
1
Dzięki @Kristen G., zaktualizowałem odpowiedź tymi informacjami.
jurajb
7

Możesz użyć doskonałej wtyczki „Vertices Counter”, która właśnie to robi. Tutaj możesz zobaczyć przewodnik krok po kroku:

Zliczanie liczby wierzchołków w warstwie

myśli przestrzenne
źródło
Dzięki Ujaval. Obawiam się, że python trochę mnie przeraża, ale właśnie zacząłem przeglądać dzisiaj twojego bloga i działa! Dziękuję bardzo i przepraszam, że nie patrzyłem na to wcześniej. R
crichard75
1
Wygląda na to, że ta wtyczka nie jest już dostępna w QGIS
3.0+
Poprawny. Zobacz inną odpowiedź, w której możesz to samo osiągnąć, korzystając ze wzoru w kalkulatorze polowym num_points ($ geometria)
przemyślenia przestrzenne
3

Z biegiem czasu i zmianach wersji, kilka wskazówek dotyczących najnowszych wersji QGIS 3.2 i 2.18.22 LTR (do 7 sierpnia 2018 r.). W QGIS 2.18 wtyczka Vertices Counter działa jak zwykle, ale wydaje się, że nie została jeszcze przeniesiona do QGIS 3. Ale na szczęście istnieje inne rozwiązanie dostępne w kalkulatorze polowym, którego spodziewałeś się znaleźć prawie sześć lat temu.

Dostępne są dwie odpowiednie funkcje:

nodes_to_points()tworzy MULTIPOINTgeometrię źródłowych węzłów geoemtrii i

num_geometries()zlicza geometrie w zbiorze lub MULTI...geometrii

więc połączenie tych funkcji i utworzenie wirtualnego pola wykona to zadanie:

wprowadź opis zdjęcia tutaj

powodując

wprowadź opis zdjęcia tutaj

Jochen Schwarze
źródło
2

Spójrz w menu wektorowym, istnieje narzędzie „wyodrębnij węzły”.

Giovanni Manghi
źródło
Dzięki Giovanni, ale nie do końca tego szukam. Właśnie próbowałem „wyodrębnić węzły” i policzyć „Punkty w wielokącie”. Obawiam się, że plik kształtu, z którym mam do czynienia, składa się z wielu przylegających do siebie wielokątów. Wieloboki zostały utworzone przez przyciąganie do wierzchołka. Wyodrębnienie węzłów tworzy wiele nakładających się punktów, które kończą się liczeniem. Szukam sposobu na policzenie węzłów każdego indywidualnego wielokąta, więc kwadratowy wielokąt może mieć 4 węzły, a nie potencjalne 16 węzłów lub więcej z sąsiadujących wielokątów.
crichard75,
Następnie musisz zaimportować dane do w pełni topologicznego gis = GRASS, możesz to zrobić w qgis za pomocą wtyczki do trawy.
Giovanni Manghi