Utwórz warstwę wielokąta z warstwy polilinii

20

Nasze systemy oczekują kształtów wielokątów, reprezentujących zbiór nie przecinających się i geometrycznie poprawnych (wielu) wielokątów. W szczególności pola rolnicze. Często otrzymujemy nasze reprezentacje farm i ich pól jako kształtów polilinii zawierających polilinie granicy pola, zwykle z niewielkimi błędami geokodowania, takimi jak zwisające końce.

Czy istnieje niezawodny sposób na przekształcenie warstwy polilinii w warstwę wielokąta, w której obwody wielokątów są obliczane jako minimalne pętle wokół polilinii w pliku kształtu? Rozumiem, że prawdopodobnie najpierw muszę uporządkować polilinie.

Interesują mnie przede wszystkim rozwiązania obejmujące Quantum GIS lub inne bezpłatne narzędzia, ponieważ moja firma nie kupuje żadnego z profesjonalnych pakietów.

Sam
źródło

Odpowiedzi:

19

Konwersja linii na wielokąty będzie łatwa: (Vector > Geometry Tools > Lines to polygons)

Aby poradzić sobie z wiszącymi końcami, możesz utworzyć bufor wokół polilinii (Vector > Geoprocessing Tools > Buffer)i ustawić je na „rozpuszczenie”. Spowodowałoby to dołączenie do siebie wszelkich wiszących punktów końcowych.

Następnie zamień wielokąty buforowe na linie (Vector > Geometry Tools > Polygons to lines)

Następnie zamień linie na wielokąty (Vector > Geometry Tools > Lines to polygons)

hamak
źródło
1
Wieloboki powstałe w wyniku buforowania linii są cienkimi paskami na zewnątrz każdego pola. Przekształcenie ich w polilinie powoduje utworzenie podwójnej linii na obwodzie każdego pola. Zakładam, że muszę pozbyć się wielu dodatkowych, nakładających się na siebie wielokątów? Nie wydaje się też, żeby miało to wiele wspólnego z wiszącymi na zewnątrz danglesami, które powinny być raczej wycinane niż przyciągane (ponieważ nie mają nic do przyciągnięcia)
Sam
Ta gra w klasy była ogromną pomocą w pokrewnym problemie. Dzięki!!!
Katalpa
Brak wektora> Narzędzia geometrii w domyślnej wersji 2.18
dexgecko 16.04.18
12

Aby poradzić sobie z problemem zwisania, sugeruję wypróbowanie wtyczki Polygonizer, patrz tutaj .

nhopton
źródło
4
Teraz jest to możliwe dzięki wtyczce Processing Toolbox -> Geo-algorytmy QGIS -> Narzędzia do geometrii wektorowej ->
Poligonizacja