Jak wizualizować wartości miar wzdłuż linii w QGIS?

12

Mam szereg geometrii LineStringM. Wartość miary reprezentuje nachylenie (lub gradient strumienia) w każdym punkcie geometrii. Uwielbiam solidne opcje stylizacji QGIS, ale nie mogę znaleźć sposobu na renderowanie każdej wartości miary wzdłuż moich linii. Idealnie byłoby mieć niebieski dla wolnych gradientów i czerwony dla bardzo stromych gradientów.

Aby pomóc zrozumieć, co próbuję osiągnąć, załóżmy, że użyliśmy odwołania liniowego do zakodowania długości LinestringM do tej pory w wartości miary każdego punktu. Na górze miałbyś 1,0, a na dole miałbyś 0,0. Dodałem obraz, co mam nadzieję osiągnąć poniżej. Zrobiłem to w Paint.NET, więc to tylko makieta. wprowadź opis zdjęcia tutaj bezpośredni link do obrazu

Jak zająłbyś się tym w QGIS?

standers
źródło
Jeśli twoja geometria to LineString, a nie MultiLineString, nie widzę przeszkód dla właściwej klasyfikacji za pomocą pola o wartości nachylenia. Czy możesz dodać więcej informacji - jaki dokładnie jest Twój problem?
SS_Rebelious
1
To pytanie dotyczy QGIS, którego tytuł już nie odzwierciedla. W QGIS, jak mogę wizualnie pokazać wartości miary (właściwe dla typu LinestringM)? Atrybuty są łatwo wyświetlane (np. Nazwa geometrii, jej identyfikator itp.). Jednak LinestringM składa się z wielu punktów i każdy może mieć wartość miary. Nie widzę sposobu, aby pokolorować liniowanie według jego wartości miary wzdłuż ścieżki.
standers
@standers Ponieważ obejmowały PostGIStag, kwestia jest nie koniecznie specyficzne dla QGIS jako prawdopodobnie można klasyfikować swoje M-wartości i zrzut do dyskretnych elementów geometrycznych prawo z PostGIS. Wybieram gnidy, jak sądzę.
Scro,
@ Scro dziękuję za heads up. Będę bardziej dyskryminujący w moich tagach. To powiedziawszy, moja instancja QGIS czyta z mojej bazy danych PostGIS i jestem gotowa dokonać wszelkich zmian w PostGIS, które są niezbędne do wizualizacji moich LinestringMs. Mam nadzieję, że moje tagi mają teraz większy sens i przepraszam za zamieszanie.
standers
Żeby było jasne, nie krytykowałem tagów (lub wcale). Po prostu wskazałem, że tagi były bardziej włączające niż tytuł, i możesz uzyskać więcej / lepszych odpowiedzi, nie czyniąc z niego pytania wyłącznie QGIS.
Scro,

Odpowiedzi:

9

Jedną z opcji byłoby załadowanie linii jako jednej warstwy, a wierzchołki linii (mogłyby być widokiem na tabelę linii) jako drugą warstwą, którą można następnie oznaczyć. Możesz użyć ST_M()do zapisania wartości miary do atrybutu widoku.

Pod względem stylistyki musimy zmierzyć się z wyzwaniem polegającym na tym, że nie ma jeszcze stylu linii gradientu ...

Ale są wypełnienia gradientem wielokąta. Możemy więc buforować linię i stylizować bufory. Jest to jednak trochę ćwiczenie w stylu definiowanym przez dane :

wprowadź opis zdjęcia tutaj

podmrok
źródło
Nie byłyby one interpolowane płynnie w całym zakresie linii - byłyby to statyczne punkty, które są zabarwione atrybutem z ST_M (). Ponieważ potrzebuję tylko pomocy w wizualizacji wyników, ta odpowiedź wydaje się jak dotąd najlepsza. Mogłem uwolnić swoje wewnętrzne umiejętności w Photoshopie i znaleźć ciekawą kombinację trybu mieszania między warstwą LinestringM i warstwą Punktów. Wygląda na to, że nie ma bezpośredniego sposobu na użycie wartości pomiaru do wykonania czegoś podobnego do tego obrazu gradientów strumienia w QGIS (jeszcze).
standers
@underdark Ciekawe, czy QGIS kiedykolwiek wdrożyło stylizację gradientu linii, której oczekiwałeś w swoim poście na blogu: anitagraser.com/2015/01/11/a-line-gradient-style-hack Nie mogę nic na ten temat znaleźć.
Jon
@Jon Do tej pory nie został zaimplementowany, ale powinno być łatwiejsze obejście przy użyciu generatorów geometrii
podmrok