Długość linii w poligonie - podział na poszczególne odcinki warstwy liniowej - Wersja do druku +- Forum QGIS (http://forum.quantum-gis.pl) +-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html) +--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html) +--- Wątek: Długość linii w poligonie - podział na poszczególne odcinki warstwy liniowej (/thread-1837.html) |
Długość linii w poligonie - podział na poszczególne odcinki warstwy liniowej - justynaw3112 - 31-10-2019 Witam wszystkich, Mam następujący problem do rozwiązania: - mam warstwę liniową podzieloną na odcinki - powiedzmy że są to fragmenty sieci - każdy z tych fragmentów jest odpowiednio opisany (nazwa, długość i inne specyfikacje) - mam też warstwę poligonową - powiedzmy że jest to warstwa działek Chciałabym wykonać analizę, której efektem byłoby przyporządkowanie do działki poszczególnych odcinków sieci, oraz ich długości w obrębie działki. Wiem, że istnieje analiza "Długość linii w poligonie", ale ona zwraca mi ogólną długość w każdej z działek, a ja chciałabym aby podana była długość każdego z fragmentów w obrębie danej działki. Czy ktoś ma może jakieś pomysły? Albo po prostu zna rozwiązanie? Kombinowałam coś z kalkulatorem pól, albo dzieleniem warstwy, ale jeszcze nie doszłam do żadnego optymalnego rozwiązania. Będę niezmiernie wdzięczna za pomoc. RE: Długość linii w poligonie - podział na poszczególne odcinki warstwy liniowej - gsienko - 01-11-2019 Może w ten sposób. Poligon zamień na linie. Potem potnij tymi liniami twoją warstwę z sieciami. W ten sposób uzyskasz odcinki w obrębie działki. Kolejnym krokiem jest dodanie identyfikatora działki do linii oraz dodanie pola z długością. RE: Długość linii w poligonie - podział na poszczególne odcinki warstwy liniowej - jerresso - 01-11-2019 A zwykły intersect (mnożenie/iloraz) tu nie wystarczy? RE: Długość linii w poligonie - podział na poszczególne odcinki warstwy liniowej - justynaw3112 - 17-11-2019 @gsienko dzięki za podpowiedź - zrobiłam troszkę inaczej, bo szczerze mówiąc nie wiem jakim narzędziem mogłam pociąć dwie warstwy liniowe żeby powstały mi odcinki (podpowiedź?) Znalazłam plugin networks i tam dołączyłam punkty przecięcia się linii (poligonów zamienionych i odcinków sieci), dzięki temu podzieliło mi odcinki dokładnie tak jak chciałam. Z tym, że nie wiem dlaczego jak chce dołączyć dane o działkach do kawałków sieci (po lokalizacji), niektórych kawałków nie chce znajdować wewnątrz - cały czas widzi przecięcie. A znów jak daje z przecięciem to znajduje mi tę samą linię w kilku działkach... Jakaś rada? @jerresso a ty co dokładnie miałeś na myśli? (od owa odnajduje wszystkie opcje) RE: Długość linii w poligonie - podział na poszczególne odcinki warstwy liniowej - xmaziax - 18-11-2019 Może nie do końca QGIS, ale może Ci się przyda opis - nie wykluczam, że może tutaj zadziałać to podejście. Gdy dzielisz warstwę liniową inną warstwą liniową teoretycznie uzyskasz podziały każdy z każdym i dzielona warstwa będzie miała pokrywające się linie. W takim przypadku najlepiej zrobić warstwę punktową punktów przecięć. Następnie konwertujesz to na 1 obiekt na warstwę o geometrii typu multipoint i dopiero taką warstwą tniesz swoją wyjściową warstwę. Cięcie warstwy liniowej przez punktową. Z takim podejściem unikniesz tych nakładających się geometrii bo każda linia dzielona jest przez 1 obiekt. Taką ścieżkę stosuję przy takich operacjach, z tym że ja to robię bezpośrednio w Postgis'ie a nie z poziomu QGIS, bo mam jeszcze wiele innych warunków w to wrzuconych. Dla tak pociętej warstwy wystarczy obliczyć długości, możesz wygenerować punkty - centroidy (ale wymuszone na linii) przepisać do nich numery, długości i tak zliczyć w tych poligonach. RE: Długość linii w poligonie - podział na poszczególne odcinki warstwy liniowej - gsienko - 19-11-2019 Od razu z góry uprzedzę, używam QGIS w języku angielskim i stąd też będą nazwy algorytmów, wszystkie znajdziesz w Processingu. 1) Działki należy zamienić na pojedyncze linie, w tym celu: a) Polygons to lines - zamieni poligony działek na linie, jedna linia będzie całą działką oraz linie będą się powtarzać. b) Explode lines - Zamieniami wszystkie linie na proste odcinki c) Delete duplicate geometries - usuwamy duplikaty 2) Tak przygotowanymi liniami z działek tniemy sieć przy pomocy Split with lines 3) I potem przenosimy atrybuty przez Join attributes by location RE: Długość linii w poligonie - podział na poszczególne odcinki warstwy liniowej - jerresso - 20-11-2019 Ja być może czegoś nie rozumiem, ale: 1. Wczytaj linie i poligony do czystego QGIS 2. Użyj opcji intersect z menu vetor (po polsku iloczyn/mnożenie) 3. jako pierwszą wskaż warstwę liniową dostaniesz wynik, że do każdej linii zostaną przypisane wartości poligonu. Czy nie o to chodziło? |