Czy stylizowana ramka pasuje do wypełnienia QGIS?


11

W przeszłości ręcznie dopasowywałem kolor obramowania do koloru wypełnienia, ale może to być czasochłonne.

Zastanawiam się, czy jest jakiś sposób, aby program automatycznie dopasował kolor obramowania do koloru wypełnienia?

Kolor wypełnienia jest przypisywany za pomocą karty stylizacji we właściwościach warstwy.

Korzystanie z QGIS 2.8.6


2
Wydaje mi się, że usunięcie obramowania będzie miało taki sam efekt wizualny, jak dopasowanie koloru obramowania do wypełnienia (oczywiście jeśli obramowanie jest cienkie). Możesz więc usunąć ramki (opcja „Brak pióra” w „stylu ramki”).
ArMoraer,

3
Dzięki za sugestię, ArMoraer. Próbowałem tego w przeszłości, ale odkryłem, że zwykle ujawnia to małe odstępy między kształtami, co nie jest przyjemne z estetycznego punktu widzenia.
Kingfisher

Odpowiedzi:


21

Nie jestem pewien, jak wymusić to dla istniejących wielokątów, ale możesz sprawić, że będzie działać dla wszystkich, które utworzysz w przyszłości.

We właściwościach projektu> Style domyślne> Menedżer stylów możesz utworzyć własny domyślny styl symbolu dla „Wypełnienia”:

Menedżer stylów QGIS

Edytuj wyrażenie koloru obramowania i ustaw na @symbol_color: Edycja wyrażenia granicznego

Ustawienie wyrażenia granicznego

Na koniec ustaw nowy styl wypełnienia jako domyślny: Ustawienie nowego wypełnienia jako domyślnego

Dzięki temu ramka zawsze będzie pasować do ustawionego koloru symbolu. Jednak niekoniecznie znajdzie to odzwierciedlenie we właściwościach wielokąta. Może więc nadal wyglądać, jakby we właściwościach była ustawiona inna ramka koloru, ale zawsze powinna ona odpowiadać kolorowi zestawu symboli obiektu na mapie.

Chciałbym mieć lepszy pomysł na to, aby uczynić to z mocą wsteczną, ale może ja lub ktoś inny przyjdzie z tym dobrym pomysłem później.


fajny - po prostu wypróbowałem to z istniejącą zaklasyfikowaną warstwą wielokąta i zadziałało - nie musiał też ustawiać domyślnego stylu (qgis 2.14.1)
Steven Kay

Świetnie słyszeć, Steven! Ustawienie go jako stylu domyślnego byłoby bardziej pomocne, aby nie musieć ustawiać go ponownie na nowych wielokątach w projekcie, ale jak powiedziałeś, niekoniecznie musisz to robić.
JohnR

2
Zainstalowałem 2.8 i majstrowałem przy nim trochę. Wygląda na to, że musisz zaktualizować do wersji 2.14, jeśli funkcja @color_symbol jest bardzo ważna, po prostu nie ma wbudowanego odpowiednika w wersji 2.8.
JohnR

3
Stylistycznie podoba mi się granica wielokąta, która jest nieco ciemniejszym odcieniem koloru wypełnienia. Osiągnąłem to, definiując kolor obramowania jako: ciemniejszy (@symbol_color, 200).
csk

1
@ RutgerH Udało mi się to uruchomić w wersji 2.18.0, ale od mojej pierwszej odpowiedzi nastąpiły niewielkie zmiany stylów. Jeśli zastosujesz się do wskazówek i poszukasz „Obrys” zamiast „Obramowanie”, powinieneś dojść do tego samego wniosku.
JohnR

2

innym sposobem dopasowania koloru obramowania do koloru wypełnienia jest dodanie nowej warstwy do symbolu za pomocą typu warstwy symbolu = Kontur: Prosta linia.

Po zastosowaniu koloru na poziomie symbolu wszystkie warstwy mają ten sam kolor (chyba że jedna warstwa jest zablokowana), więc wypełnienie i dodane obramowanie są takie same ...

wprowadź opis zdjęcia tutaj


0

Aby uczynić go retroaktywnym - możesz po prostu zapisać styl jako plik .qml, użyj wyrażenia regularnego znajdź i zamień, aby ustawić granice tego samego koloru co wielokąty (w Notepad ++ lub podobnym):

Odnaleźć:

<prop k="color" v="([^\r\n"]+)"/>(.+?)<prop k="outline_color" v="([^\r\n"]+)"/>

Zastąpić:

<prop k="color" v="\1"/>\2<prop k="outline_color" v="\1"/>

zapisz, a następnie ponownie załaduj styl w qgis :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.