Podzielić warstwę wielokąta z warstwą linii?


12

Rysuję regiony administracyjne, których granice przebiegają ulicami w innej warstwie. Ponieważ te ulice są dość długie i mają wiele wierzchołków, nie chcę ich ponownie śledzić. Szukam sposobu na „podzielenie” narzędzia „podziel funkcje” wielokąta (tego z ikoną nożyczek).

Przed: jeden cały wielokąt z poprowadzoną przez niego linią

wprowadź opis zdjęcia tutaj

Po: linia działa jak para nożyczek i dzieli wielobok na 2 części (na poniższym zdjęciu wielokąty zostały rozłożone w celu zilustrowania wyłącznie celu)

wprowadź opis zdjęcia tutaj

Odpowiedzi:


8

Najpierw musisz połączyć oba kształty

wprowadź opis zdjęcia tutaj

Następnie aktywuj wtyczkę Polygonizer, aby przekształcić linie w wielokąty:

wprowadź opis zdjęcia tutaj


Mój Ubuntu Qgis narzekał na brak zgrabnego.opsa, kiedy próbowałem zainstalować wtyczkę Polygonizer. W tej chwili nie wiem, jak to naprawić. Będę musiał rozwiązać ten problem przed wypróbowaniem twojego rozwiązania. Dzięki.
— Cao Minh Tu

To działa. Tak długo zajęło mi zaakceptowanie twojej odpowiedzi, że nie wiedziałem, jak zainstalować shapely.ops. Okazuje się to bardzo łatwe: przejdź do centrum oprogramowania Ubuntu, wyszukaj „zgrabne” i zainstaluj jedyny pakiet foremny dla pythona. Potem mogłem zainstalować wtyczkę poligonizatora i wypróbowałem twoje rozwiązanie. Wielkie dzięki!
— Cao Minh Tu

1
Nie mogę zainstalować wtyczki Polygonizer.
— gregmacfarlane

4

Rozwiązałem ten problem za pomocą Processing Toolbox, używając Polygon-line intersectionalgorytmu SAGA .

Proces może się nie powieść (tzn. Bez podziału), jeśli koniec linii zostanie przyciągnięty do punktu wierzchołka wielokąta. Przedłużenie linii nieco do sąsiedniego wielokąta lub obszaru zewnętrznego dezynfekuje te pułapki.


1

To podobne pytanie dotyczy ArcGIS, ale może dostarczyć ci pomysłów z dyskusji, które możesz wdrożyć w QGIS.

Stworzyłem również model ArcGIS, który możesz replikować przy użyciu podobnych koncepcji w QGIS. Próbowałem opisać pojęcia, które tu zastosowałem .


Dziękuję za odpowiedź, ale w tej chwili ArcGIS lub umiejętność programowania nie są w moich możliwościach.
— Cao Minh Tu


0

Jeśli nie masz licencji ArcInfo , możesz użyć polecenia „ geom.splitpolysbylines ” w środowisku modelowania geoprzestrzennego . Działa idealnie. Upewnij się jednak, że posiadasz ArcGIS 10.1 lub ArcGIS 10.0 SP4 i masz zainstalowaną wersję „R” 2.12 lub nowszą.


Moje pytanie dotyczyło Qgis (pokazane w tagu) - zaktualizowałem nagłówek, aby był bardziej widoczny. W każdym razie dzięki!
— Cao Minh Tu

1
Przepraszam za to. W każdym razie, jeśli „ktoś inny” ma to samo pytanie, skorzysta z opcji, którą zasugerowałem powyżej.
— Doum
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.