Znajdowanie linii środkowych z wielokątów w QGIS?


19

Zastanawiałem się, czy istnieje sposób na tworzenie linii środkowych z wielokątów w QGIS? Mam warstwę wielokąta, ale idealnie potrzebuję linii środkowych jako osobnego pliku.

Przykład


Właśnie przesłałem zdjęcie wielokątów
— Alan Carr

Gdzie na przykładowym zdjęciu spadłyby „linie środkowe”? Czy możesz zaktualizować obraz pokazujący pożądane linie w innym kolorze?
— Simbamangu,

Po prostu bezpośrednio na środku wszystkich wielokątów. Ostatecznym rezultatem, którego potrzebujemy, byłoby po prostu znalezienie długości całej rzeczy (zakładając, że wielokąty były liniami), więc nie jest nawet konieczne uzyskanie linii środkowych.
— Alan Carr

Wtyczka HCMGIS twierdzi, że tworzy linie środkowe wielokątów jako jedną ze swoich funkcji przetwarzania przestrzennego. Nie działało to dla mnie zbyt dobrze, ale warto spróbować.
— csk

Odpowiedzi:


10

Pracowałem nad wdrożeniem modelu przedstawionego w odpowiedzi @ RajGovind na temat tworzenia linii środkowych z wielokątów / osłonek drogowych? co jest dość bliskie temu, co @geogeek opisał w swojej odpowiedzi tutaj w tym wątku.

Możesz pobrać model z Github https://raw.githubusercontent.com/anitagraser/QGIS-Processing-tools/master/2.12/models/polygon_to_centerline.model

wprowadź opis zdjęcia tutaj


Wypróbowałem ten model i działa, ale nie byłem w stanie wymyślić prostego sposobu na zachowanie długich linii środkowych, ale usunięcie małych linii bocznych, ponieważ każda z linii bocznych składa się z wielu mniejszych elementów, a główna linia środkowa składa się również z wielu mniejszych elementów linii.
— stycznia

@ Jan, opublikuj pytanie uzupełniające w nowym wątku, aby więcej osób je zobaczyło.
— podmrok

9

możesz spróbować Ten algorytm:

get vertices from the polygons(poly_vertex).
-make voronoi using (poly_vertex) as input the result could be called(poly_voronoi).
-get lines from (poly_voronoi) => (poly_voronoi_lines).
-get the originale polygon contour (polygon_lines).
-remove (poly_voronoi_lines) touching  (polygon_lines) the result is supposed to be the center lines , but you may need further clean up.

nie wiem, jak można to zaimplementować w Qgis

chciałbym, żeby to mogło pomóc


Na jakich innych programach możesz to zrobić. W razie potrzeby mogę uzyskać dostęp do MapInfo i Arc
— Alan Carr

ten algorytm z pewnością będzie działał w Arcgis i mógłby również działać w Qgis przy użyciu wielokątów Voronoi gis.stackexchange.com/questions/6971/thiessen-polygons-in-qgis
— geogeek

6

istnieje dobre narzędzie o nazwie ET GeoWizards 10.2 dla produktów Esri, ale nie wiem, czy jest to dobre rozwiązanie, czy nie ...

możesz uzyskać informacje tutaj

centerLines

poza tym w trawie możesz sprawdzić funkcję r. cienką do podstawowego zastosowania.

r.thin - Cienkie niezerowe komórki, które oznaczają obiekty liniowe w warstwie mapy rastrowej.

rthin Mam nadzieję, że Ci to pomoże...


3

po prostu znajdź długość całej rzeczy

Jak dokładnie powinien być wynik? Przybliżenie to obwód podzielony przez 2.

Aby uzyskać lepszy wynik: Możesz ręcznie zmierzyć niektóre wielokąty, a następnie określić różnicę między pomiarem a obwodem podzieloną przez 2 . Zastosuj ten współczynnik korygujący do całego zestawu danych.

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.