Użyłem narzędzia badawczego „Punkty regularne” do wytworzenia określonej liczby punktów w wielokącie, ale tworzy on prostokątną siatkę punktów, a nie tylko w kształcie wielokąta. Ponieważ potrzebuję pewnej liczby punktów w obrębie wielokąta, czy można to zrobić bez prób i błędów?
Np. W tej chwili tylko 8 z 25 punktów, które chcę, znajdują się w wielokącie, ale chcę 25 punktów, więc mógłbym zwiększyć do 50 punktów i zobaczyć, ile z nich pojawi się w wielokącie
qgis
polygon
vector-grid
coelacanth
źródło
źródło
Odpowiedzi:
QGIS odnosi się do granicy warstwy w rzeczywistości obwiednią lub obwiednią geometrii.
Udokumentowałem rozwiązanie, które prawdopodobnie jest najbliższe automatyzacji (brak zgłoszenia błędu / żądania funkcji).
Proces działa w oparciu o stosunek między obszarem dwóch obiektów: geometrią elementu i jego obwiednią).
Sprawdź następujące kroki poniżej:
Wybierz warstwę, na której chcesz pracować.
Wybierz funkcję, nad którą chcesz pracować. Upewnij się, że nic innego nie jest zaznaczone.
Uruchom następujący fragment kodu w konsoli Python.
Pamiętaj, aby nacisnąć Enter, ponieważ ostatni wiersz nie powróci automatycznie.
Uruchom
Regular Points
narzędzie ponownie, ale wprowadź liczbę punktów w polu pomnożoną przez wynik podany przez skrypt.W poniższej próbce wynik, który otrzymałem z wyjścia, wynosił ~ 2. Poprosiłem o 20 kropek, aby były wyprowadzane przez proces, w którym tak naprawdę chciałem tylko 10. Dostałem 8 w zamian, co jest dość blisko. W zależności od rzeczywistego kształtu, którego używasz, wyniki będą się różnić.
Jeśli masz takie skłonności, możesz zautomatyzować (rekurencyjnie) proces Punktów Regularnych modyfikując zmienne, aż osiągniesz pożądaną liczbę.
źródło
Możesz to łatwo zrobić po prostu przycinając: wygeneruj regularną siatkę punktów tak jak to zrobiłeś, a następnie użyj Wektor> Narzędzia geoprzetwarzania> Klip, wprowadź wygenerowaną siatkę punktów i użyj funkcji jako maski klipu.
źródło
Uproszczone rozwiązanie sugeruje zrzut ekranu. Możesz wyodrębnić wielokąty na nowe warstwy
Vector -> Data Managment Tools -> Split vector layer
, zaimportować je, a następnie wybrać warstwę z funkcją (ID), która ma być warstwą wejściową dla próbnika „Regularne punkty”.Jeśli musisz to zrobić tylko dla garści wielokątów, znalezienie ich i eksportowanie ich osobno może być bardziej wydajne. Po wybraniu kliknij prawym przyciskiem myszy nazwę warstwy i wybierz
Save Selection As ...
, wybierz plik kształtu, wypełnij resztę, a następnie powtórz jak poprzednio.EDYCJA: Ponieważ masz już jedną cechę, nie mogę wymyślić nic prostszego, niż użycie gęstszej siatki, ponowne przecięcie jej z wielokątem i wreszcie usunięcie wszystkich punktów zewnętrznych (najłatwiej poprzez tabelę atrybutów, ponieważ można łatwo wyśrodkować i łączna liczba).
źródło
Zastosuj zapytanie definicji do swoich wielokątów (w 1.8 kliknij warstwę prawym przyciskiem myszy i wybierz Zapytanie). Następnie uruchom narzędzie. Usuń zapytanie.
źródło