2.4. Lesson: Simbologia

Simbolistica unui strat reprezintă aspectul său vizual pe hartă. Abilitățile de bază ale GIS, comparativ cu alte moduri de reprezentare a datelor cu aspecte spațiale, constă în faptul că, în GIS, aveți o reprezentare vizuală dinamică a datelor cu care lucrați.

Prin urmare, aspectul vizual al hărții (care depinde de simbolistica straturilor individuale) este foarte important. Utilizatorul final a hărților pe care le produceți, va trebui să fie capabil de a înțelege cu ușurință ceea ce reprezintă harta. La fel de important, dvs. trebuie să fiți în măsură să explorați datele cu care lucrați, iar o bună simbolistică ajută foarte mult.

Cu alte cuvinte, a avea propria simbologie nu reprezintă un lux sau doar o noțiune frumoasă. De fapt, este esențial să utilizați un GIS în mod corespunzător, pentru a produce hărți și informații pe care oamenii să le poată folosi.

Scopul acestei lecții: De a putea crea simbolistica dorită pentru orice strat vectorial.

2.4.1. basic Follow Along: Schimbarea Culorilor

Pentru a schimba simbolistica unui strat, deschideți Layer Properties. Să începem prin schimbarea culorii stratului landuse.

  1. Right-click on the landuse layer in the layers list.

  2. Select the menu item Properties… in the menu that appears.

    Notă

    De asemenea, în mod implicit, puteți accesa proprietățile unui strat făcând un dublu clic pe acesta, în lista Straturilor.

    Sfat

    The symbology button at the top of the Layers panel will open the Layer Styling panel. You can use this panel to change some properties of the layer: by default, changes will be applied immediately!

  3. In the Layer Properties window, select the symbology Symbology tab:

    ../../../_images/layer_properties_style.png
  4. Click the color select button next to the Color label. A standard color dialog will appear.

  5. Alegeți o culoare gri, apoi faceți clic pe OK.

  6. Clic iarăși pe OK din fereastra Layer Properties, apoi veți vedea schimbarea de culoare asupra stratului.

2.4.2. basic 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. basic Follow Along: Schimbă Structura Simbolului

This is good stuff so far, but there’s more to a layer’s symbology than just its color. Next we want to eliminate the lines between the different land use areas so as to make the map less visually cluttered.

  1. Deschideți fereastra Proprietăților Stratului pentru stratul landuse.

    Under the symbology 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.

  2. In the symbol layers tree, expand the Fill dropdown and select the Simple fill option.

  3. Click on the Stroke style dropdown. At the moment, it should be showing a short line and the words Solid Line.

  4. Schimbați-o pe No Pen.

    ../../../_images/simple_fill_selected.png
  5. Clic pe OK

Acum, stratul landuse nu va avea nici o linie între arii.

2.4.4. basic Try Yourself

  • Change the water layer’s symbology again so that it has a darker blue outline.

  • Schimbați simbolistica stratului rivers, într-o reprezentare mai sensibilă a căilor de apă

Remember: you can use the symbology 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. moderate Follow Along: Vizibilitate în funcţie de scară

Sometimes you will find that a layer is not suitable for a given scale. For example, a dataset of all the continents may have low detail, and not be very accurate at street level. When that happens, you want to be able to hide the dataset at inappropriate scales.

In our case, we may decide to hide the buildings from view at small scales. This map, for example…

../../../_images/buildings_small_scale.png

… nu este foarte utilă. Clădirile sunt greu de distins la acea scară.

Pentru a activa randarea în funcţie de scară:

  1. Deschideți dialogul Proprietăților Stratului pentru stratul buildings.

  2. Activate the rendering Rendering tab.

  3. Enable scale-based rendering by clicking on the checkbox labeled Scale dependent visibility:

  4. Change the Minimum value to 1:10000.

    ../../../_images/scale_dependent_visibility.png
  5. Clic pe OK

Test the effects of this by zooming in and out in your map, noting when the buildings layer disappears and reappears.

Notă

You can use your mouse wheel to zoom in increments. Alternatively, use the zoom tools to zoom to a window:

zoomIn zoomOut

2.4.6. moderate Follow Along: Adăugarea Straturilor Simbolului

Now that you know how to change simple symbology for layers, the next step is to create more complex symbology. QGIS allows you to do this using symbol layers.

  1. Go back to the landuse layer’s symbol properties panel (by clicking Simple fill in the symbol layers tree).

    In this example, the current symbol has no outline (i.e., it uses the No Pen border style).

    ../../../_images/simple_fill_selected.png
  2. Select the Fill level in the tree and click the symbologyAdd Add symbol layer button. The dialog will change to look something like this, with a new symbol layer added:

    ../../../_images/new_symbol_layer.png

    It may appear somewhat different in color, for example, but you’re going to change that anyway.

Now there’s a second symbol layer. Being a solid color, it will of course completely hide the previous kind of symbol. Plus, it has a Solid Line border style, which we don’t want. Clearly this symbol has to be changed.

Notă

It’s important not to get confused between a map layer and a symbol layer. A map layer is a vector (or raster) that has been loaded into the map. A symbol layer is part of the symbol used to represent a map layer. This course will usually refer to a map layer as just a layer, but a symbol layer will always be called a symbol layer, to prevent confusion.

With the new Simple Fill symbol layer selected:

  1. Setați stilul bordurii la No Pen, ca mai înainte.

  2. Change the fill style to something other than Solid or No brush. For example:

    ../../../_images/new_fill_settings.png
  3. Clic pe 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.

../../../_images/multiple_symbol_layers.png

It’s fun! But it probably has too many colors to use in a real map…

2.4.7. moderate Try Yourself

Remembering to zoom in if necessary, create a simple, but not distracting texture for the buildings layer using the methods above.

2.4.8. moderate Follow Along: Ordonarea Nivelurilor Simbolului

When symbol layers are rendered, they are also rendered in a sequence, similar to the way the different map layers are rendered. This means that in some cases, having many symbol layers in one symbol can cause unexpected results.

  1. Give the roads layer an extra symbol layer (using the method for adding symbol layers demonstrated above).

  2. Give the base line a Stroke width of 1.5 and a black color.

  3. Give the new, uppermost layer a thickness of 0.8 and a white color.

Veți observa că se întâmplă acest lucru:

../../../_images/bad_roads_symbology.png

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!

To prevent this from happening, you can sort the symbol levels and thereby control the order in which the different symbol layers are rendered.

To change the order of the symbol layers:

  1. Select the topmost Line layer in the symbol layers tree.

  2. Click Advanced ► Symbol levels… in the bottom right-hand corner of the window.

    ../../../_images/symbol_levels_main_dialog.png

    This will open a dialog like this:

    ../../../_images/symbol_levels_dialog.png
  3. Check checkbox 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:

    ../../../_images/correct_symbol_layers.png

    This will render the white line above the thick black line borders:

  4. Faceți clic pe Ok pentru a reveni la hartă.

    Harta va arăta acum în modul următor:

    ../../../_images/better_roads_symbology.png

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. moderate Try Yourself

Schimbați iarăși aspectul stratului roads.

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 Advanced ► Symbol levels… dialog.

../../../_images/target_road_symbology.png

2.4.10. hard 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.

  1. Create a new project and add only the roads dataset.

  2. Apply the style file advanced_levels_demo.qml provided in exercise_data/styles to the layer. This can be done through the Style ► Load Style… combobox at the bottom of the Layer Properties dialog.

  3. Focalizați în aria Swellendam.

  4. Using symbol layers, ensure that the outlines of layers flow into one another as per the image below:

    ../../../_images/correct_advanced_levels.png

2.4.11. moderate Follow Along: Tipurile de straturi ale simbolului

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.

Each type of vector (point, line and polygon) has its own set of symbol layer types. First we will look at the types available for points.

Tipurile de Straturi pentru Simbolurile de tip Punct

  1. Uncheck all the layers except for places.

  2. Modificați proprietățile simbolului pentru stratul places:

    ../../../_images/places_layer_properties.png
  3. 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:

    ../../../_images/marker_type_dropdown.png
  4. Investigate the various options available to you, and choose a symbol with styling you think is appropriate.

  5. 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 of 0.5.

Tipurile de Straturi pentru Simbolurile de tip Linie

Pentru a vedea diferitele opțiuni disponibile pentru datele de tip linie:

  1. Change the Symbol layer type for the roads layer’s topmost symbol layer to Marker line:

    ../../../_images/change_to_marker_line.png
  2. Select the Simple marker layer in the symbol layers tree. Change the symbol properties to match this dialog:

    ../../../_images/simple_marker_line_properties.png
  3. Select the Marker line layer and change the interval to 1.00:

    ../../../_images/marker_line_interval.png
  4. Ensure that the symbol levels are correct (via the Advanced ► Symbol levels dialog we used earlier) before applying the style.

Once you have applied the style, take a look at its results on the map. As you can see, these symbols change direction along with the road but don’t always bend along with it. This is useful for some purposes, but not for others. If you prefer, you can change the symbol layer in question back to the way it was before.

Tipurile de Straturi pentru Simbolurile de tip Poligon

Pentru a vedea diferitele opțiuni disponibile pentru datele poligonale:

  1. Change the Symbol layer type for the water layer, as before for the other layers.

  2. Investigați ce pot face diferitele opțiuni din listă.

  3. Alegeți una dintre ele, pe care o găsiți potrivită.

  4. Dacă aveți îndoieli, utilizați Umplere cu model din puncte, având următoarele opțiuni:

    ../../../_images/pattern_fill_size.png
    ../../../_images/pattern_fill_distances.png
  5. Adăugați un nou strat simbol, cu ​​o Umplere simplă, normală.

  6. Faceți-l în același albastru deschis, cu un chenar albastru mai închis.

  7. Mutați-l sub stratul simbol cu modelul din puncte, cu ajutorul butonului Move down:

    ../../../_images/simple_fill_move_down.png

As a result, you have a textured symbol for the water layer, with the added benefit that you can change the size, shape and distance of the individual dots that make up the texture.

2.4.13. hard 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!

  1. Select the water layer.

  2. Click on Simple fill and change the Symbol layer type to Geometry generator.

    ../../../_images/geometry_generator.png
  3. 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.

  4. Now let’s write the query in the query panel:

    centroid($geometry)
    
    ../../../_images/geometry_generator_query.png
  5. 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?

    ../../../_images/geometry_generator_result.png

With the Geometry generator symbology you can really go over the edge of normal symbology.

hard 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:

../../../_images/geometry_generator_preview.png

2.4.14. hard Try Yourself Crearea unei Umpleri pentru SVG Personalizată

Notă

To do this exercise, you will need to have the free vector editing software Inkscape installed.

  1. Start the Inkscape program. You will see the following interface:

    ../../../_images/inkscape_default.png

    Ar trebui să vi se pară familiar dacă ați folosit alte programe de editare a imaginilor vectoriale, cum ar fi Corel.

    În primul rând, vom schimba canevasul la o dimensiune adecvată pentru o mică textură.

  2. Click on the menu item File ► Document Properties. This will give you the Document Properties dialog.

  3. Schimbați Unitățile în px.

  4. Change the Width and Height to 100.

  5. Închideți dialogul, după încheiere.

  6. Faceți clic pe elementul de meniu View ► Zoom ► Page pentru a vedea pagina la care lucrați.

  7. Selectați instrumentul Circle:

    ../../../_images/inkscape_circle_tool.png
  8. Mențineți apăsat butonul mouse-ului și trasați pe pagină o elipsă. Pentru a transforma o elipsă într-un cerc, mențineți apăsat și butonul Ctrl pe durata desenării.

  9. Right-click on the circle you just created and open its Fill and Stroke options. You can modify its rendering, such as:

    1. Stabiliți pentru culoarea de Umplere o culoare albastru spre gri pal,

    2. Assign to the border a darker color in Stroke paint tab,

    3. And reduce the border thickness under Stroke style tab.

    ../../../_images/inkscape_stroke_fill.png
  10. Draw a line using the Pencil tool:

    1. Click once to start the line. Hold Ctrl to make it snap to increments of 15 degrees.

    2. Deplasați indicatorul pe orizontală și puneți un punct cu un simplu click.

    3. Click and snap to the vertex of the line and trace a vertical line, ended by a simple click.

    4. Now join the two end vertices.

    5. Change the color and width of the triangle symbol to match the circle’s stroke and move it around as necessary, so that you end up with a symbol like this one:

    ../../../_images/inkscape_final_symbol.png
  11. 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.

În QGIS:

  1. Open the Layer Properties for the landuse layer.

  2. In the symbology Symbology tab, change the symbol structure by changing the Symbol Layer Type to SVG Fill``` shown below.

  3. 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…).

    ../../../_images/svg_symbol_settings.png

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.

../../../_images/svg_symbol_result.png

2.4.15. In Conclusion

Changing the symbology for the different layers has transformed a collection of vector files into a legible map. Not only can you see what’s happening, it’s even nice to look at!

2.4.16. Further Reading

Exemple de Hărți Aspectuoase

2.4.17. What’s Next?

Changing symbols for whole layers is useful, but the information contained within each layer is not yet available to someone reading these maps. What are the streets called? Which administrative regions do certain areas belong to? What are the relative surface areas of the farms? All of this information is still hidden. The next lesson will explain how to represent this data on your map.

Notă

V-ați amintit recent să efectuați o salvare a hărții?