Korzystanie z QGIS w wersji 1.7.
Mam zwykły plik tekstowy, który zawiera zestaw wartości rgb względem kodu. Chcę użyć tej tabeli kolorów do pokolorowania warstwy wielokąta poprzez odwzorowanie jednego z jej pól atrybutów („map_symb”) na kod w pliku tekstowym.
tabela kolorów jest bardzo długa i wygląda następująco:
$ head gsv1Msymbology.txt
MAPCODE RED GREEN BLUE
Oc 143 255 255
WAT 255 255 255
Qa 244 250 202
Qdl 195 239 218
Na 248 255 238
Qd2 227 255 190
Qxw 248 255 238
Qns 255 148 83
Qn 255 202 190
....
Chcę dopasować mój atrybut „map_symb” do wartości w MAPCODE i użyć odpowiednich wartości RGB do pokolorowania wielokątów.
Czy jest na to sposób GUI?
Odpowiedzi:
Możesz używać Pythona z modułem ElementTree:
Plik stylu wygenerowany przez ten skrypt to (i działa):
Możesz także użyć modułu shapefile ([shapefile]) 1 dla plików shapefile z kolumnami RGB
a więc...
źródło
W późniejszej wersji QGIS łatwiej jest wykonać żądane zadanie.
Wystarczy otworzyć Właściwości warstwy, kartę Styl i upewnić się, że wybrany jest Pojedynczy symbol. Kliknij pole obok koloru „Wypełnienie” i wybierz „Edytuj.
Będziesz edytować kolor podstawowy baz wielokątów na podstawie kolorów RGB obecnych w tabeli danych, ze stałym kolorem obramowania (w razie potrzeby możesz zastosować te same kryteria).
Po wciśnięciu „Edytuj” wystarczy umieścić 3 nazwy kolumn RGB tabeli, używając następującego wyrażenia:
color_rgb („kolumna R”, „kolumna G”, „kolumna B”)
Ok, aplikuj i gotowe.
Jeśli chcesz oznaczyć i scharakteryzować dane w ten sam sposób (na przykład, aby zbudować legendę), po prostu skorzystaj z opcji Skategoryzowane i zastosuj to samo wyrażenie do Symbolu i do Kolumny, przedstawionych poniżej.
źródło
Jeśli chcesz sklasyfikować niektóre dane wektorowe w powtarzalny sposób, oto co możesz zrobić:
źródło