Przekształć linię w wielokąt


13

Mam plik kształtu z obszarami miasta, ale niestety plik kształtu zawiera tylko pojedyncze linie. Plik kształtu wygląda następująco:

wprowadź opis zdjęcia tutaj

Chcę przekonwertować te linie do pliku kształtu wielokąta obszaru w QGIS. Próbowałem z narzędziem „Linie do wielokątów” (Wektor> Narzędzia geometrii> Linie do wielokątów), ale nie działało to poprawnie. Po użyciu tego narzędzia plik kształtu wygląda następująco:

wprowadź opis zdjęcia tutaj

Czy istnieje inny sposób przekonwertowania pliku kształtu linii na plik kształtu wielokąta obszaru w QGIS?

Nawiasem mówiąc, używam QGIS 2.14.3 Essen.


2
Przy ostatnim użyciu tego narzędzia dostałem coś podobnego. Udało mi się uzyskać wielokąty za pomocą narzędzia do poligonizacji.
john

Dziękujemy za odpowiedź, gdzie mogę znaleźć narzędzie do poligonizacji?
Mark White

Poligonize można znaleźć tutaj - Toolbox Processing, geoalgorytmy QGIS, narzędzia geometrii wektorowej.
klewis

Próbowałem, ale kiedy uruchamiam poligonizator, otrzymuję pusty plik kształtu :-(
Mark White

Czy możesz załadować plik kształtu do Dropbox lub podobnego?
AndreJ

Odpowiedzi:


16

PolygonizeNarzędzie z przybornika Processing nadal działa dobrze dla mnie na prostych liniach:

wprowadź opis zdjęcia tutaj

Konieczne jest jednak, aby linie przecinały się lub dzieliły wspólne wierzchołki. Linie nie powinny przecinać się.

Może być konieczne przyciągnięcie wierzchołków narożnika, aby działało. Zwykle ustawiam tolerancję przyciągania na 10 pikseli na wierzchołek.


1
Ja również napotkałem ten sam problem podczas przekształcania linii w wielokąty. Narzędzie „Poligonizacja” rozwiązało problem. gis.stackexchange.com/a/211794/62237
Sjs

7

Tylko wskazówka, jeśli nie możesz znaleźć Polygonizenarzędzia. W mojej instalacji QGIS 2.18.3 (Windows) nie mogłem znaleźć Polygonizenarzędzia Vector geometry toolsw Toolbox. Trochę czasu zajęło mi uświadomienie sobie, że muszę zainstalować python-shapelybibliotekę z OSGeo4W (dzięki Nick Hopton: Perfect Polygons w QGIS ).


Dziękuję Ci! Przez długi czas byłem zdezorientowany, ponieważ od razu QGIS w systemie Windows ma narzędzie do poligonizacji przeznaczone tylko dla rastrów. Kolejnym krokiem, który może, ale nie musi być konieczny, jest włączenie Geo-algorytmów QGIS w „Przetwarzaniu >> Opcje >> Dostawcy”
matt wilkie

Dziękuję za tę odpowiedź. Myślałem, że oszalałem, że już go nie znalazłem ...
gisnside

3

Patrząc na twój obraz, zakładam, że każda linia nie obejmuje w pełni obszaru, linie działają tylko jak ogrodzenia i nie łączą się ponownie na początku. Twoje wielokąty są tworzone z końców linii, więc narzędzie „linii do wielokątów” działa dobrze, to dane są problemem.

Obawiam się, że jedyne, co mogę zrobić, to myśleć o digitalizacji nowej warstwy wielokątów. Na szczęście QGIS bardzo ułatwił to dzięki narzędziu do digitalizacji śladów (ikona magnesu), które jest dostępne w 2.14


0

Jeśli nie ma dziur, stworzyłbym warstwę rysy z jednym wielokątem wystarczająco dużym, aby pokryć cały obszar. Następnie przecinam go z wynikiem twoich linii do wielokątów i dzielę go dalej, jeśli to konieczne.


0

Testowane na QGIS 2.18 i QGIS 3.4

Mogę zaproponować użycie "Virtual Layer"przelotu Layer > Add Layer > Add/Edit Virtual Layer....

Załóżmy, że mamy pięć elementów liniowych "lines", patrz zdjęcie poniżej.

Przykład

Za pomocą następującego zapytania można osiągnąć wynik.

SELECT l.id, l.NAME, MakePolygon(AddPoint(l.geometry,StartPoint(l.geometry)))
FROM lines AS l
GROUP BY l.id

Wyjściowa warstwa wirtualna będzie wyglądać

Wynik_1

Jak już wspomniano w @AndreJ, linie przecinają się lub dzielą wspólne wierzchołki. Linie nie powinny przecinać się. Jeśli chodzi o czyszczenie topologii warstwy, mogę zasugerować zbadanie v.cleanzestawu narzędzi GRASS.


W przypadku, gdy linie mają przecięcie, możesz użyć ConvexHull z następującym zapytaniem

SELECT l.id, l.NAME, ConvexHull(AddPoint(l.geometry,StartPoint(l.geometry)))
FROM lines AS l
GROUP BY l.id

Walizka

Wynik


Bibliografia:


0

Jeśli polilinie nachodzą na siebie, Polygonizenarzędzie nie może sobie z tym poradzić w następujący sposób:

wprowadź opis zdjęcia tutaj

Jednak Lines to polygonsnarzędzie działa zgodnie z oczekiwaniami w następujący sposób:

wprowadź opis zdjęcia tutaj

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.