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.