Konwersja linii na wielokąty w QGIS tworzy wielokąty Sliver


9

Podczas próby poligonizacji warstwy polilinii w PyQGIS przy użyciu

processing.runandload("qgis:linestopolygons",explode_path,polygon_path)

polecenie w konsoli Pythona, nie tworzy wielokątów odpowiadających krawędziom linii. Zamiast tego tworzy zakrzywione wielokąty wzdłuż zakrzywionych krawędzi. Dlaczego wielokąty nie są tworzone wzdłuż krawędzi linii?

wprowadź opis zdjęcia tutaj

Podczas poligonizacji czarne linie powinny być krawędziami utworzonych wielokątów. Zamiast tego tworzy się tylko kilka taśm wzdłuż zakrzywionych krawędzi (niebieskie wielokąty).


Czy wypróbowałeś wersję narzędzia SAGA:processing.runandload("saga:convertlinestopolygons",explode_path,polygon_path)
Joseph

@Joseph wypróbował właśnie wersję SAGA. Mimo to wynik jest taki sam.
Sjs

1
Spróbuj wyczyścić plik kształtu linii za pomocą wtyczki Geometry Checker lub narzędzia GRASS v.clean .
Joseph

2
@Joseph, dane są topologicznie czyste. Uzyskaj pożądany wynik za pomocą narzędzia „Polygonize”. Dziękuję za komentarze.
Dowiedziałem się

Fajnie, cieszę się, że znalazłeś rozwiązanie =)
Joseph

Odpowiedzi:


8

Dostaję dokładne wielokąty zgodnie z potrzebami za pomocą algorytmu „Poligonize” (Processing Toolbox -> QGIS Geoal algorytmy -> Polygonize) w konsoli python.

import processing
polygon_path = "C:\\Documents and Settings\\User\\polygonsFormed.shp"
line_path = "C:\\Documents and Settings\\User\\inputLine.shp"
processing.runandload("qgis:polygonize",line_path,False,False,polygon_path)

0

Miał ten sam problem podczas korzystania z narzędzia „Linie do wielokątów” dostępnego w menu Wektor. Masz wiele małych wielokątów, mimo że dane są topologicznie poprawne.

„Poligonizuj”

Geoalgorytm QGIS dostępny na pasku narzędzi przetwarzania działał dla mnie.

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.