Czy można używać symboli zamiast kolorów do wizualizacji wartości komórek rastrowych?

14

Mam obraz rastrowy (GeoTIFF) z wartościami całkowitymi . Wiem, jak wizualizować wartości rastrowe w QGIS przy użyciu map kolorów lub podobnych, ale zamiast tego chciałbym przypisać symbole do każdej wartości koloru - podobnie jak mapę kolorów, ale z symbolami.

Przykład: wprowadź opis zdjęcia tutaj

Pytanie:
Czy to możliwe, a w takim razie jak?

Chau
źródło
dobrze, można użyć symboli SVG w colormaps, który daje kilka ciekawych patrząc mapy
kulik
Czy możesz mi podpowiedzieć, gdzie mogę się o tym dowiedzieć?
Chau
Używając odpowiedzi Curfew, myślę, że pracowałbym nad przekonwertowaniem każdej komórki na punkt (podobnie jak siatka asc), aby kontrolować 1 symbol na wartość. Ale nie widzę, jak można przejść do konwersji na wektor.
Brad Nesom
Może to być możliwe, ale myślę, że musimy dowiedzieć się więcej o twoim rastrze. Czy to naprawdę obraz , ile ma pasm i ile ma „kolorów”? N.
nhopton
W tym przypadku mój raster jest obrazem jednopasmowym z 10 różnymi wartościami całkowitymi - prosty przypadek. Ale ogólnie fajnie byłoby stylizować obrazy rastrowe w locie.
Chau

Odpowiedzi:

10
  1. Poligonizuj swój kształt rastra za pomocą narzędzia Raster-to-wielokąt w menu rastra. Użyj swojej wartości pola jako kategorii
  2. Kliknij skategoryzowaną stylizację, sklasyfikuj i kliknij dwukrotnie symbol. Następnie wybierz „SVG-FILL” i pojawi się następujące okno dialogowe z kilkoma podstawowymi ikonami SVG pochodzącymi z QGIS. wprowadź opis zdjęcia tutaj

  3. Wybierz ikonę i pamiętaj, aby ustawić linię graniczną („prostą linię”) na brak pisaka. W przeciwnym razie pola zostaną otoczone małą linią. Twoje pytanie wyświetla taką linię graniczną, więc może chcesz je zachować.

  4. Zastosuj i spójrz na swoją nową stylizację. Możesz znacznie uprościć stylizację, jeśli używasz reguł i kategorii. Oto szybki przykład lasu z otaczającymi równinami. Wielokąt został wygenerowany z warstwy rastrowej pokrywy leśnej.wprowadź opis zdjęcia tutaj

Dokonano tego przy użyciu wersji rozwojowej QGIS 1.9, ale zakłada się, że powinno to być możliwe również w wersji 1.8. Możesz stylizować własne symbole SVG, korzystając na przykład z doskonałego pakietu Inkscape

Kulik
źródło
1
Świetne rozwiązanie. Ale naprawdę wolę taki, w którym nie muszę zmieniać rastra, w twoim przykładzie, aby go poligonizować.
Chau
może to być bardzo trudne do zrealizowania, ponieważ o ile wiem, komórki rastrowe mogą być wyświetlane tylko w kolorach RGB. Coś tak złożonego, jak symbole, wyraźnie należy do świata warstw wektorowych
Curlew
1
Raster jest po prostu siatką, więc konwersja na punkty zamiast poligonizacji może być bliższa wymaganiom Chau. Następnie po prostu odpowiednio symbolizuj punkty i, jeśli to konieczne, połóż prostą siatkę nad górą w tej samej rozdzielczości co raster, aby wyglądało dokładnie tak, jak przykładowe zdjęcie Chau.
MappaGnosis
4

Sugerując, że twój raster ma dość dużą skalę (wykorzystanie terenu, pogoda, ...), dlaczego po prostu nie przekonwertujesz ich na format wektorowy?

Chris Pallasch
źródło
Ponieważ jest to wizualizacja taka jak colormaps.
Chau
3
dobrze, można użyć symboli SVG w colormaps, który daje kilka ciekawych patrząc mapy
kulik
Czy możesz mi podpowiedzieć, gdzie mogę się o tym dowiedzieć?
Chau
4

Wierzę, że QGIS wciąż zawiera gdal2xyz.py i za pomocą tego możesz przekonwertować swój raster do pliku tekstowego.

Otwórz terminal w katalogu zawierającym raster i uruchom:

gdal2xyz.py filename.tif filename.txt

Plik tekstowy będzie zawierał rozdzielone spacjami trojaczki xyz zawierające rzędną x, rzędną y i wartość z (z rastra).

Musisz dodać nowy pierwszy wiersz do pliku, na przykład „xy z” (bez znaków cudzysłowu). Po wykonaniu tej czynności będziesz mógł załadować plik do QGIS za pomocą narzędzia „dodaj tekst rozdzielany”, wybierając „spację” jako separator.

W QGIS można następnie stylizować punkty: Właściwości -> Karta Styl -> Skategoryzowane, a następnie użyć symboli czcionek do stylowania punktów.

wprowadź opis zdjęcia tutaj

nhopton
źródło
ciekawy przykład (+1). Czy warstwa XYZ jest warstwą wektorową i czym różni się od poligonizacji rastra?
Curlew,
1
Cóż, jeśli poligonizujesz raster, to robisz wielokąty, które otaczają grupy pikseli o tej samej wartości. Ale w tym przypadku wymagane było rozbicie rastra na punkty wektorowe, przy czym każdy punkt miał wartość atrybutu wziętą z rastra.
nhopton