2.4. Lesson: symbolika
Symbolika vrstvy je její zobrazení na mapě. Základní síla GIS ve srovnání s jinými způsoby, jak zobrazovat data pomocí prostorových aspektů je to, že s GIS máte dynamické vizuální znázornění dat, se kterým pracujete.
Proto, je vizuální vzhled mapy (která závisí na symbolice jednotlivých vrstev), velmi důležitý. Koncový uživatel map by měl být schopen snadno poznat, co mapa znázorňuje. Stejně tak je důležité, mít možnost zkoumat data, se kterými pracujete a dobrá symbolika vám v tom hodně pomůže.
Jinými slovy, mít vhodnou symboliku nemáte pouze pro luxus nebo kvůli kráse. Ve skutečnosti je to nezbytné, pro správné používání GISu a vytváření map a informací, které budou lidé moci používat.
Cíl této lekce: Být schopen vytvořit libovolnou symboliku, kterou chcete pro jakoukoli vektorovou vrstvu.
2.4.1. Follow Along: změna barev
Chcete-li změnit symboliku vrstvy, otevřete :guilabel: Layer Properties. Začněte tím, že změníte barvu: guilabel: vrstva landuse.
Right-click on the landuse layer in the layers list.
Select the menu item Properties… in the menu that appears.
Poznámka
Ve výchozím nastavení můžete také jít do vlastností vrstvy dvojitým kliknutím na vrstvu v seznamu vrstev.
Click the color select button next to the Color label. A standard color dialog will appear.
Vyberte šedou barvu a klikněte na OK.
Kliknutěte znovu na OK v okně Layer Properties a uvidíte, že se změna barvy aplikuje na vrstvu.
2.4.2. Try Yourself
Change the color of the water layer to light blue. Try to use the Layer Styling panel instead of the Layer Properties menu.
2.4.3. Follow Along: změna struktury symboliky
To je velmi dobrá věc, ale v symbolice vrstvy je více než jen barva. Dále chceme vyloučit hranice mezi různými oblastmi využití půdy tak, aby mapa byla co nejméně vizuálně zaplněna.
Otevřeme okno Layer Properties pro vrstvu landuse.
Under the Symbology tab, you will see the same kind of dialog as before. This time, however, you’re doing more than just quickly changing the color.
In the symbol layers tree, expand the Fill dropdown and select the Simple fill option.
Click on the Stroke style dropdown. At the moment, it should be showing a short line and the words Solid Line.
Změňte je na No Pen.
Klikněte na OK.
Nyní vrstva :guilabel:`landuse`nebude mít mezi plochami žádné linie.
2.4.4. Try Yourself
Change the water layer’s symbology again so that it has a darker blue outline.
Změňte symbologii vrstvy rivers na vhodné znázornění vodstva.
Remember: you can use the Open the Layer Styling panel button and see all the changes instantly. That panel also allows you to undo individual changes while symbolizing a layer.
2.4.5. Follow Along: viditelnost závislá na měřítku
Někdy zjistíte, že vrstva není vhodná pro dané měřítko. Například soubor dat ze všech kontinentů může mít nízký detail, a nemusí být velmi přesný na úrovni ulic. Když se to stane, budete chtít mít možnost, datovou sadu v nevhodných měřítkách, skrýt.
In our case, we may decide to hide the buildings from view at small scales. This map, for example…
… není velmi užitečná. Budovy jsou v tomto měřítku těžko rozlišitelné.
Chcete-li povolit vykreslování založené na měřítku:
Otevřete dialog Layer Properties pro vrstvu buildings.
Enable scale-based rendering by clicking on the checkbox labeled Scale dependent visibility:
Change the Minimum value to
1:10000
.Klikněte na OK.
Otestujte účinky tak, že přiblížíte a oddálíte ve vaší mapě, dokud nezaznamenáte, že vrstva buildings vrstva zmizí a znovu se objeví.
2.4.6. Follow Along: přidávání vrstev symboliky
Nyní, když víte, jak změnit jednoduchou symboliku vrstev, dalším krokem je vytvoření složitější symboliky. QGIS toto umožňuje provést pomocí vrstev symbolů.
Go back to the landuse layer’s symbol properties panel (by clicking Simple fill in the symbol layers tree).
V tomto příkladu nemá aktuální symbol žádný obrys (to znamená, že používá styk ohraničení No Pen).
Select the Fill level in the tree and click the Add symbol layer button. The dialog will change to look something like this, with a new symbol layer added:
It may appear somewhat different in color, for example, but you’re going to change that anyway.
Teď je tu druhá vrstva symbolů. Kdyby byla jednobarevná, tak by samozřejmě úplně zakrývala předchozí druh symbolu. Navíc, má styl hranice Solid Line, což nechceme. Je zřejmé, že tento symbol musí být změněn.
Poznámka
Je důležité, nesplést si mapovou vrstvu a vrstvu symbolů. Mapová vrstva je vektor (nebo rastr), který byl načten do mapy. Vrstva symbolů je součástí symbolu, použitého pro zobrazení mapové vrstvy. Tento postup obvykle označuje mapovou vrstvu jen jako vrstvu, ale vrstva symbolů bude vždy nazývána jako vrstva symbolů, aby nedošlo k nedorozumění.
With the new Simple Fill symbol layer selected:
Nastavte styl ohraničení No Pen tak, jako předtím.
Změňte styl výplně na něco jiného než Solid nebo No brush. Například:
Klikněte na OK.
Now you can see your results and tweak them as needed. You can even add multiple extra symbol layers and create a kind of texture for your layer that way.
Je to zábava! Ale má to pravděpodobně příliš mnoho barev pro použití v reálném mapě…
2.4.7. Try Yourself
Pamatujte na přiblížení v případě potřeby, vytvořte jednoduchou, ale nezneklidňující texturu pro vrstvu buildings, za použití výše uvedené metody.
2.4.8. Follow Along: uspořádání úrovní symbolů
Jsou-li vrstvy symbolů poskytované, jsou také poskytované v pořadí, podobným způsobem, jakým jsou poskytované různé mapové vrstvy. To znamená, že v některých případech, pokud máme mnoho vrstev symbolů v jednom symbolu, může to vést k neočekávaným výsledkům.
Dejte vrstvě roads jednu vrstvu symbolů navíc (metodou pro přidání vrstvy symbolů, která byla znázorněná výše).
Give the base line a Stroke width of
1.5
and a black color.Give the new, uppermost layer a thickness of
0.8
and a white color.
Všimněte si, že se stane toto:
Well, roads have now a street like symbology, but you see that lines are overlapping each others at each cross. That’s not what we want at all!
Chcete-li zabránit, aby se toto stalo, můžete setřídit úrovně symbolů a tím řídit pořadí, ve kterém jsou různé vrstvy symbolů poskytované.
To change the order of the symbol layers:
Select the topmost Line layer in the symbol layers tree.
Click
in the bottom right-hand corner of the window.This will open a dialog like this:
Check Enable symbol levels. You can then set the layer order of each symbol by entering the corresponding level number. 0 is the bottom layer.
In our case, we just want to activate the option, like this:
This will render the white line above the thick black line borders:
Klikněte dvakrát na OK pro návrat do mapy.
Mapa nyní bude vypadat takto:
When you’re done, remember to save the symbol itself so as not to lose your work if you change the symbol again in the future. You can save your current symbol style by clicking the Save Style… button at the bottom of the Layer Properties dialog. We will be using the QGIS QML Style File format.
Save your style in the solution/styles/better_roads.qml
folder. You can load a
previously saved style at any time by clicking the Load Style…
button. Before you change a style, keep in mind that any unsaved style you are
replacing will be lost.
2.4.9. Try Yourself
Změňte vzhled z vrstvy roads znovu.
Make the roads narrow and yellow, with a thin, pale gray outline and a thin black line in the middle. Remember that you may need to change the layer rendering order via the
dialog.2.4.10. Try Yourself
Symbol levels also work for classified layers (i.e., layers having multiple symbols). Since we haven’t covered classification yet, you will work with some rudimentary pre-classified data.
Create a new project and add only the roads dataset.
Apply the style file
advanced_levels_demo.qml
provided inexercise_data/styles
to the layer. This can be done through the combobox at the bottom of the Layer Properties dialog.Přibližte na oblast Swellendam.
Použitím vrstev symbolů zajistěte, aby do sebe obrysy vrstev zapadly, jako na obrázku níže:
2.4.11. Follow Along: typy vrstev symbolů
In addition to setting fill colors and using predefined patterns, you can use different symbol layer types entirely. The only type we’ve been using up to now was the Simple Fill type. The more advanced symbol layer types allow you to customize your symbols even further.
Každý druh vektoru (bod, linie a polygon) má svoji vlastní sadu typů vrstvy symbolů. Nejprve se podíváme na typy, které jsou k dispozici pro body.
Typy vrstev symbolů pro body
Uncheck all the layers except for places.
Změňte nastavení symbolů pro vrstvu places:
You can access the various symbol layer types by selecting the Simple marker layer in the symbol layers tree, then click the Symbol layer type dropdown:
Prozkoumejte různé možnosti, které máte k dispozici a zvolte si symbol se stylem, jaký je podle vás vhodný.
If in doubt, use a round Simple marker with a white border and pale green fill, with a Size of
3.00
and a Stroke width of0.5
.
Typy vrstev symbolů pro linie
Chcete-li zobrazit různé možnosti, které jsou k dispozici pro liniová data:
Change the Symbol layer type for the roads layer’s topmost symbol layer to Marker line:
Select the Simple marker layer in the symbol layers tree. Change the symbol properties to match this dialog:
Select the Marker line layer and change the interval to
1.00
:Ujistěte se, že úrovně symbolů jsou správné (přes dialog
, který jsme použili dříve) před použitím stylu.
Poté, co styl použijete, podívejte se na jeho výsledky na mapě. Jak můžete vidět, tyto symboly mění směr spolu se silnicí, ale ne vždy se spolu s ní zakřivují. To je pro některé účely užitečné, ale pro ostatní zase ne. Pokud chcete, můžete změnit vrstvu symbolů v předchozí dotazu tak, jak vypadala předtím.
Typy vrstev symbolů pro polygony
Chcete-li zobrazit různé možnosti, které jsou k dispozici pro polygonová data:
Change the Symbol layer type for the water layer, as before for the other layers.
Zjistěte, jaké jsou různé možnosti na seznamu, které můžete dělat.
Vyberte si jednu z nich, která vám nejvíce vyhovuje.
V případě pochybností, použijte Point pattern fill s následujícími možnostmi:
Přidejte novou vrstvu symbolů Simple fill.
Vytvořte tu samou, ale ve světle modré barvě s tmavě modrým obrysem.
Přesuňte ji pod vrstvu symbolů pro bodový vzor tlačítkem Move down:
Výsledkem je strukturovaný symbol pro vrstvu vodstva, s přidanou výhodou, že můžete měnit velikost, tvar a vzdálenost jednotlivých bodů, které tvoří strukturu.
2.4.12. Try Yourself
Apply a green transparent fill color to the protected_areas layer, and change the outline to look like this:
2.4.13. Follow Along: Geometry generator symbology
You can use the Geometry generator symbology with all layer types (points, lines and polygons). The resulting symbol depends directly on the layer type.
Very briefly, the Geometry generator symbology allows you to run some spatial operations within the symbology itself. For example you can run a real centroid spatial operation on a polygon layer without creating a point layer.
Moreover, you have all the styling options to change the appearance of the resulting symbol.
Let’s give it a try!
Select the water layer.
Click on Simple fill and change the Symbol layer type to Geometry generator.
Before to start writing the spatial query we have to choose the Geometry Type in output. In this example we are going to create centroids for each feature, so change the Geometry Type to Point / Multipoint.
Now let’s write the query in the query panel:
centroid($geometry)
When you click on OK you will see that the water layer is rendered as a point layer! We have just run a spatial operation within the layer symbology itself, isn’t that amazing?
With the Geometry generator symbology you can really go over the edge of normal symbology.
Try Yourself
Geometry generator are just another symbol level. Try to add another Simple fill underneath the Geometry generator one.
Change also the appearance of the Simple marker of the Geometry generator symbology.
The final result should look like this:
2.4.14. Follow Along: tvorba vlastního SVG Fill
Poznámka
Chcete-li dělat toto cvičení, budete potřebovat mít nainstalovaný bezplatný software pro úpravu vektoru Inkscape Inkscape .
Start the Inkscape program. You will see the following interface:
Mělo by vám být povědomé, pokud jste někdy použili jiné programy na úpravu vektorových obrázků, jako je Corel.
Za prvé, změníme obraz na velikost vhodnou pro malou texturu.
Klikněte na položku menu Document Properties.
. Dostanete dialogZměňte Units na px.
Change the Width and Height to
100
.Zavřete dialogové okno, až budete hotovi.
Klikněte na položku menu
pro náhled stránky, se kterou pracujete.Vyberte nástroj Circle:
Kliknutím a tažením nakreslete elipsu. Chcete-li elipsu změnit v kruh, podržte při kreslení tlačítko Ctrl .
Klepněte pravým tlačítkem myši na kruh, který jste právě vytvořili, a otevřete Fill and Stroke možnosti. Můžete modifikovat jeho renderování, jako například:
Změňte Fill barvu na přibližně šedo-modrou,
Přiřaďte okrajům tmavší barvu v Stroke paint záložce,
A snižte šířku okraje pod Stroke style záložkou.
Nakreslete linii s použitím nástroje Pencil:
Click once to start the line. Hold Ctrl to make it snap to increments of 15 degrees.
Posuňte ukazatel horizontálně a jednoduchým kliknutím vložte bod.
Klikněte a sejměte vrchol linie a sledujte svislou linii, ukončete jednoduchým kliknutím.
Nyní spojte tyto dva koncové vrcholy.
Změňte barvu a šířku trojúhelníkového symbolu, aby odpovídala hranici kruhu a posuňte ji, jak to bude nutné tak, že nakonec dostanete symbol, jako je tento:
If the symbol you get satisfies you, then save it as landuse_symbol under the directory that the course is in, under
exercise_data/symbols
, as SVG file.
V QGISu:
Otevřete Layer Properties pro vrstvu
landuse
.In the Symbology tab, change the symbol structure by changing the Symbol Layer Type to SVG Fill``` shown below.
Click the … button and then Select File… to select your SVG image.
It’s added to the symbol tree and you can now customize its different characteristics (colors, angle, effects, units…).
Once you validate the dialog, features in landuse layer should now be covered by a set of symbols, showing a texture like the one on the following map. If textures are not visible, you may need to zoom in the map canvas or set in the layer properties a bigger Texture width.
2.4.15. In Conclusion
Změna symboliky pro různé vrstvy přeměnila sbírku vektorových souborů na čitelnou mapu. Nejen, že můžete vidět, co se děje, ale ještě krásnější je to vidět!
2.4.16. Further Reading
2.4.17. What’s Next?
Změna symbolů pro celé vrstvy je užitečná, ale informace obsažené v každé vrstvě ještě nejsou k dispozici pro toho, kdo z daných map čte. Jaké názvy mají ulice? Které regiony patří do určitých oblastí? Jaké jsou povrchové plochy vztahující se ke statkům? Všechny tyto informace jsou stále skryté. V další lekci vysvětlíme, jak zobrazovat tato data na mapě.
Poznámka
Nezapomněli jste si v poslední době uložit vaši mapu??