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.