obliczanie azymutu/kierunku dla poligonu - 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: obliczanie azymutu/kierunku dla poligonu (/thread-1419.html)
1
2
|
obliczanie azymutu/kierunku dla poligonu - pitt - 12-12-2016 witam, w jaki sposób można obliczyć azymut/kierunek dla kilkuset poligonów o nieforemnym kształcie (nieco zbliżonym do prostokąta)? Przykład: Poligony oznaczają kształt grobów na jednym z dużych cmentarzysk. Celem jest wyznaczenie kierunku, w jakim groby są ułożone. Pozdrawiam RE: obliczanie azymutu/kierunku dla poligonu - Italiano - 12-12-2016 Nie wiem jak można przetransformować wielokąta w jedną linię kierunkową... Ale, załóżmy, że nawet ręcznie to zrobisz, to po czym utwórz pola typu Real, i zastosuj następujące wyrażenie: degrees (azimuth(point_n($geometry,1),(point_n($geometry,2)))) RE: obliczanie azymutu/kierunku dla poligonu - pitt - 13-12-2016 witam, podobny watek był już poruszany na innym forum: http://www.goldenline.pl/grupy/Komputery_Internet/gis/najdluzsza-os-poligonu-arcgis,2702680/ Problemem było (i jest) wyznaczenie linii, która przebiega przez środek poligonu. RE: obliczanie azymutu/kierunku dla poligonu - pitt - 19-12-2016 czy istnieje możliwość wyznaczenia linii kierunkowej (centraline) w QGIS, przecinającej dłuższą os poligonu? Wprowadziłem kilka linii ręcznie i wyrażenie zaproponowane przez Italiano sprawdza eis w 100 procentach. Jednak liczba poligonów jest tak duza, ze ciężko będzie digitalizować każdy pojedynczo. RE: obliczanie azymutu/kierunku dla poligonu - cogito94 - 20-12-2016 (19-12-2016, 13:55)pitt napisał(a): czy istnieje możliwość wyznaczenia linii kierunkowej (centraline) w QGIS, przecinającej dłuższą os poligonu? Mam taki mały pomysł. Pokaże go w krokach 1. Zamień poligon na polilinie [SAGA Convert Polygons to Lines] 2.Zamień polilinie na linie(tzn. polilinia o 2 wierzchołkach) [ GRASS v.split.vert] gdzie liczba werteksów to 2 -->dostajesz linie z 1 atrybutem tj.id twojej polilinii 3. Dodajesz sobie nową kolumnę "dlugosc" i liczysz jej długość [w Kalkulatorze $lenght] 4. Teraz trzeba by jakość wybrać max("dlugosc") tylko że pogrupowaną po id polilinii - nie mam pomyslu RE: obliczanie azymutu/kierunku dla poligonu - Italiano - 22-12-2016 (20-12-2016, 23:37)cogito94 napisał(a): 4. Teraz trzeba by jakość wybrać max("dlugosc") tylko że pogrupowaną po id polilinii Pytasz i masz: ... i Wesołych Świąt !!! RE: obliczanie azymutu/kierunku dla poligonu - cogito94 - 28-12-2016 Nieźle, Zapytanie działa więc jesteś w domu. Chyba wątek do zamknięcia RE: obliczanie azymutu/kierunku dla poligonu - Italiano - 29-12-2016 (28-12-2016, 19:50)cogito94 napisał(a): Chyba wątek do zamknięcia Jeszcze nie, patrz Począwszy od wersji 2.16, można wybrać najdłuższe elementy za pomocą agregacji. View => Select by expression po czym: RE: obliczanie azymutu/kierunku dla poligonu - pitt - 30-12-2016 witam, jednak wciaz brak jest rozwiazania, ktore umozliwia przeprowadzenie linii przez srodek nieregularnego poligonu. Dodatkowo powyzsze przyklady maja stosunkowo prosta budowe, natomiast w sytuacji kiedy poligon przeksztalcimy na polilinie i tak otrzymamy duzo bardziej skomplikowane strukturę niz ta na przykladzei powyzej. Tutaj przyklad kilku poligonow, z jakimi pracuje: [attachment=379] i po przeksztalceniu na polilinie: [attachment=380] A tutaj przyklad rozwiazania, jakiego szukam: [attachment=381] RE: obliczanie azymutu/kierunku dla poligonu - cogito94 - 01-01-2017 [quote='pitt' pid='5793' dateline='1483107302'] witam, jednak wciaz brak jest rozwiazania, ktore umozliwia przeprowadzenie linii przez srodek nieregularnego poligonu. Dodatkowo powyzsze przyklady maja stosunkowo prosta budowe, natomiast w sytuacji kiedy poligon przeksztalcimy na polilinie i tak otrzymamy duzo bardziej skomplikowane strukturę niz ta na przykladzei powyzej. Tutaj przyklad kilku poligonow, z jakimi pracuje: No to na to również jest rozwiązanie. Użyj narzędzia geoprocesingu "Oriented minimum bounding box" --> polega ono na tym że wpasowuje prostokąt ograniczający w twój poligon, który jest dodatkowo zorientowany. Dodatkowo taki prostokąt bardzo przyśpiesza analizy przestrzenne. Patrz załącznik, dalej to jak w dyskusji przed: https://1drv.ms/i/s!AhBpQSAaQjxvrhJ7yFb1X8iZnh7R po: https://1drv.ms/i/s!AhBpQSAaQjxvrhG2eOOmvldte9G7 Tworzysz pudełka ograniczające narzędziem "Oriented minimum bounding box" problem jest taki że nie przepisuje atrybutów ( możesz je uzyskać np. przez zapytanie przestrzenne, z twego rysunku wynika, że groby są rozłączne więc przez interesect np. tak: Kod: UPDATE groby.boundingbox PS. Jak wstawiłeś swoje załączniku. Dzięki. |