.

Het dialoogvenster Vectoreigenschappen

Het menu Laag-eigenschappen voor een vectorlaag geeft informatie over de laag, instellingen van de stijlen en de opties voor labels. Wanneer de vectorlaag geladen is vanuit een database van PostgreSQL/PostGIS, kunt u ook de opdracht voor SQL aanpassen waarmee deze laag is opgehaald door het venster Querybouwer te starten onder het tabblad Algemeen. Om toegang te krijgen tot het menu Laag-eigenschappen kunt u dubbelklikken op een laag in de legenda of een laag selecteren en met een rechter muisklik het snelmenu openen en de menuoptie Eigenschappen selecteren.

Figure Vector Properties 1:

../../../_images/vector_general_menu.png

Het Menu Vector-eigenschappen nix

Menu Stijl

Het menu Stijl geeft toegang tot het toevoegen van symbologie van de vectorgegevens en hoe deze moet worden gerenderd. U kunt het gereedschap Laag rendering ‣ kiezen dat voor alle vectorgegevens gebruikt kan worden maar ook speciaal symboolgereedschap dat is ontworpen voor verschillende soorten vectorgegevens.

Renderers

De renderer is verantwoordelijk voor het tekenen van een object tezamen met het juiste symbool. Er zijn vier soorten renderers: Enkel symbool, Categorieën, Gradueel en Regel-gebaseerd. Er is geen continue kleuren renderer aangezien deze in feite een speciale variant van de renderer Gradueel is. De renderers Gradueel en Categorieën kunnen worden gemaakt door een combinatie van een symbool en een kleurverloop te specificeren - zij zullen de kleuren voor de symbolen toepasselijk weergeven. Voor puntlagen is er ook een renderer Puntverplaatsing beschikbaar. Voor elk gegevenstype (punten, lijnen en polygonen) zijn vector symboollaagtypen beschikbaar. Afhankelijk van de gekozen renderer geeft het menu Stijl de volgende verschillende onderdelen. Rechtsonder in het dialoogvenster Symbologie staat de knop [Bibliotheek openen:] die toegang geeft tot de Stijl manager (zie Weergave). De Stijl manager geeft de mogelijkheid om bestaande stijlen te bewerken te verwijderen maar ook om nieuwe toe te voegen.

Nadat de nodige wijzigingen zijn gemaakt, kan het symbool worden toegevoegd aan de lijst met huidige stijlsymbolen (met behulp van [Symbool] selectstring Opslaan in symboolbibliotheek), en dan kan het eenvoudig worden gebruikt in de toekomst. Verder kunt u de knop [Stijl opslaan] selectstring gebruiken om het symbool op te slaan als een laagstijlbestand (.qml) voor QGIS of SLD-bestand (.sld). SLD’s kunnen vanuit elk type renderer worden geëxporteerd – Enkel symbool, Categorieën, Gradueel of Regel-gebaseerd – maar bij het importeren van een SLD wordt ofwel een renderer Enkel symbool of Regel-gebaseerd gemaakt. Dat betekent dat de stijlen van Categorieën en Gradueel worden geconverteerd naar Regel-gebaseerd. Als u deze renderers wilt behouden, dient u bij de indeling QML te blijven. Aan de andere kant kan het soms heel handig zijn om op deze manier stijlen te converteren naar Regel-gebaseerd.

Wanneer u het type renderer wijzigt bij het instellen van een stijl voor een vectorlaag zullen de instellingen die u voor het symbool maakte worden behouden. Onthoud dat deze procedure slechts werkt voor één wijziging. Indien u het type renderer blijft wijzigen zullen de instellingen voor het symbool verloren gaan.

Als de gegevensbron van de laag een database is (PostGIS of Spatialite bijvoorbeeld), kunt u uw laagstijl opslaan in een tabel van de database. Klik eenvoudigweg op het combinatievak Stijl opslaan en kies het item Opslaan in database en vul het dialoogvenster in om een stijlnaam te definiëren, een beschrijving toe te voegen, een UI-bestand en of de stijl een standaard stijl is. Wanneer een laag wordt geladen uit de database, zal QGIS, als er al een stijl bestaat voor deze laag, de laag en zijn stijl laden. U kunt verschillende stijlen aan de database toevoegen. Er zal altijd slechts één de standaard stijl zijn.

Figure Vector Properties 2:

../../../_images/save_style_database.png

Dialoogvenster Stijl in database opslaan nix

Tip

Meerdere symbolen selecteren en wijzigen

Met symbologie kunt u meerdere symbolen selecteren en via de rechter muisknop kunt u de kleur, transparantie, de grootte en de dikte van de buitenlijnen aanpassen.

De renderer Enkel symbool

De renderer Enkel Symbool wordt gebruikt om alle objecten van een kaartlaag te presenteren met een enkel door de gebruiker toegekend symbool. De eigenschappen die kunnen worden gewijzigd in het tabblad Stijl zijn deels afhankelijk van het type laag, maar voor alle typen geldt de volgende opbouw. Links bovenin het menu, kunt u de voorvertoning zien van het huidige symbool. Aan de rechterkant van het menu is een lijst van symbolen die reeds aangemaakt zijn voor de huidige stijl, klaar om te gebruiken door deze te selecteren uit de lijst. Het huidige symbool kan worden aangepast door gebruik te maken van het menu aan de rechterkant.

Als u klikt op het eerste niveau in het dialoogvenster Symboollagen aan de linkerkant, is het mogelijk om basisparameters, zoals Grootte, Transparantie, Kleur en Rotatie, te definiëren. Hier worden de lagen gekoppeld.

Figure Symbology 3:

../../../_images/singlesymbol_ng_line.png

Eigenschappen van symbologie Enkele lijn nix

In elk draaiveld in dit dialoogvenster kunt u expressies invoeren. U kunt bijvoorbeeld eenvoudig berekeningen maken, zoals de bestaande grootte van een punt met 3 te vermenigvuldigen, zonder dat u een calculator nodig heeft.

Figure Symbology 4:

../../../_images/expression_symbol_size_spinbox.png

Expressie in draaiveld Grootte nix

Als u klikt op het tweede niveau in het dialoogvenster Symboollagen is een ‘Data-bepaalde ‘override’’ voor bijna alle instellingen mogelijk. Bij het gebruiken van een data-bepaalde kleur zou men misschien de kleur willen koppelen aan een veld ‘budged’. Hier is een functionaliteit voor een opmerking ingevoegd.

/* This expression will return a color code depending on the field value.
 * Negative value: red
 * 0 value: yellow
 * Positive value: green
 */
CASE
  WHEN value < 0 THEN '#DC143C' -- Negative value: red
  WHEN value = 0 THEN '#CCCC00' -- Value 0: yellow
  ELSE '#228B22'                -- Positive value: green
END

Figure Symbology 5:

static/user_manual/working_with_vector/symbol_data_defined_edit.png

Data-bepaald symbool met menu Bewerken...

De renderer Categorieën

De renderer Categorieën wordt gebruikt om alle objecten van een laag te tekenen met één symbool in een kleur die afhankelijk is van een attribuutwaarde van diezelfde laag. Het tabblad Stijl geeft u de mogelijkheid om een keuze te maken uit:

  • Het attribuut (gebruik de keuzelijst Kolom of de functie mActionmIconExpressionEditorOpen Uitdrukking voor kolom instellen, zie Expressies)

  • Het symbool (met behulp van het menu voor Symbool selecteren )

  • De kleuren (met behulp van de keuzelijst Kleurverloop)

Klik dan op de knop Classificeren om klassen te maken uit de unieke waarden van de attributenkolom. Elke klasse kan worden uitgeschakeld door het keuzevak aan de linkerkant van de naam van de klasse te deselecteren.

U kunt het symbool, waarde en/of label van de klasse wijzigen, dubbelklik eenvoudigweg op het item dat u wilt wijzigen.

Een klik met rechts geeft een contextmenu weer voor Kopiëren/Plakken, Kleur wijzigen, Transparantie wijzigen, Uitvoereenheid wijzigen, Symboolbreedte wijzigen.

Met de knop [Geavanceerd] die zich rechtsonder in het menu bevindt, kunt u instellen welke velden gebruikt kunnen worden voor de rotatie of om de schaalgrootte van het symbool afhankelijk te maken van de veldwaarde. Daarbij kunt u eenvoudig een veld kiezen uit een keuzelijst van velden die u daar eventueel voor kunt gebruiken. De centrale lijst in het menu toont de waarden van de huidige geselecteerde attributen, inclusief de symbolen die zullen worden getekend.

Het voorbeeld in figure_symbology_6 toont het dialoogvenster voor renderen van Categorieën gebruikt voor de laag rivers van de voorbeeld gegevensset van QGIS.

Figure Symbology 6:

../../../_images/categorysymbol_ng_line.png

Categorieën - opties voor symbologie nix

De renderer Gradueel

De renderer Gradueel wordt gebruikt om alle objecten in een laag te renderen, met behulp van één enkel gebruiker-gedefinieerd symbool waarvan de kleur de aanwijzing van een geselecteerd attribuut van het object aan een klasse weergeeft.

Figure Symbology 7:

../../../_images/graduatesymbol_ng_line.png

Gradueel - opties voor symbologie nix

Net als de renderer Categorieën stelt de renderer Gradueel u in staat om rotatie en schaal voor de grootte uit gespecificeerde kolommen te definiëren.

Ook, analoog aan de renderer Categorieën, stelt de tab Stijl u in staat om te selecteren:

  • Het attribuut (gebruik de keuzelijst Kolom of de functie mActionmIconExpressionEditorOpen Uitdrukking voor kolom instellen, zie Expressies)

  • Het symbool (met behulp van het menu Symbool selecteren)

  • De kleuren (met behulp van de keuzelijst Kleurverloop)

Aanvullend kunt u het aantal klassen specificeren en ook de modi voor het classificeren van objecten binnen de klassen (met behulp van de lijst Modus). De beschikbare modi zijn:

  • Gelijke interval: elke klasse heeft dezelfde grootte (bijv. waarden van 0 tot en met 16 en 4 klassen, elke klasse heeft een grootte van 4);

  • Kwantiel: elke klasse heeft hetzelfde aantal elementen in zich (het idee van een doosdiagram);

  • Natuurlijke grenzen (Jenks): de variantie binnen elke klasse is minimaal terwijl de variantie tussen de klassen maximaal is;

  • Standaard afwijking: klassen worden afhankelijk van de standaard afwijking van de waarden opgebouwd;

  • Mooie grenzen: hetzelfde als Natuurlijke grenzen maar de uiterste getallen van elke klasse zijn gehele getallen.

De lijst in het middelste deel van het tabblad Stijl somt de klassen op met hun bereik, labels en symbolen die voor het renderen worden gebruikt.

Klik op de knop Classificeren om klassen te maken met behulp van de gekozen modus. Elke klasse kan worden uitgeschakeld door het keuzevak aan de linkerkant van de naam van de klasse te deselecteren.

U kunt het symbool, waarde en/of label van de klasse wijzigen, dubbelklik eenvoudigweg op het item dat u wilt wijzigen.

Een klik met rechts geeft een contextmenu weer voor Kopiëren/Plakken, Kleur wijzigen, Transparantie wijzigen, Uitvoereenheid wijzigen, Symboolbreedte wijzigen.

Het voorbeeld in figure_symbology_7 toont het dialoogvenster van een renderer Gradueel voor de laag rivers van de voorbeeld gegevensset van QGIS.

Tip

Thematische kaarten met behulp van een uitdrukking

Thematische kaarten van Categorieën en Gradueel kunnen nu worden gemaakt met behulp van het resultaat van een expressie. In het dialoogvenster Eigenschappen voor vectorlagen, zijn de keuzen voor attributen uitgebreid met een functie mActionmIconExpressionEditorOpen Expressie voor kolom instellen. U hoeft dus nu niet meer het attribuut voor de classificatie naar een nieuwe kolom in uw attributentabel weg te schrijven als u wilt dat het attribuut voor de classificatie een samenstelling is van meerdere velden of een formule van enig soort.

De renderer Regel-gebaseerd

De renderer Regel-gebaseerd wordt gebruikt om alle objecten in een laag te renderen, met behulp van op regels gebaseerde symbolen waarvan de kleur de aanwijzing van een attribuut van een geselecteerd object aan een klasse weergeeft. De regels zijn gebaseerd op argumenten in SQL. Het dialoogvenster stelt u in staat te groeperen op filter of schaal, en u kunt bepalen of u niveaus voor de symbolen wilt inschakelen of alleen de eerste regel die overeenkomt wilt gebruiken.

Het voorbeeld in figure_symbology_8 toont het dialoogvenster van een Regel-gebaseerde renderer voor de laag rivers van de voorbeeld gegevensset van QGIS.

Activeer, om een regel te maken, een bestaande rij door er op te dubbelklikken of te drukken op ‘+’ en op de nieuwe regel te klikken. In het dialoogvenster Regeleigenschappen kunt u een label definiëren voor de regel. Druk op de knop browsebutton om de bouwer voor de tekenreeks voor de regel te openen. Klik, in de Functielijst, op Velden en waarden om alle attributen van de attributentabel te zien waarin kan worden gezocht. Dubbelklik op de naam in de lijst Velden en waarden om een attribuut toe te voegen aan het veld Expressie. In het algemeen kunt u de verschillende velden, waarden en functies gebruiken om de expressie voor de berekening te construeren, of u kunt hem eenvoudigweg in het vak zelf typen (bekijk Expressies). U kunt een nieuwe regel maken door een bestaande regel te kopiëren en te plakken met de rechter muisknop. U kunt ook de regel ‘ELSE’ gebruiken die zal worden uitgevoerd als geen van de andere regels op dat niveau overeenkomt. Vanaf QGIS 2.8 verschijnen de labels voor de regels in een pseudoboom in de legenda van de kaart. Dubbelklik eenvoudigweg op de regels in de legenda van de kaart en het menu Stijl van de Laag-eigenschappen verschijnt dat de regel weergeeft die de herkomst is voor het symbool in de boom.

Figure Symbology 8:

../../../_images/rulesymbol_ng_line.png

Regel-gebaseerde Symbologie opties nix

De renderer Puntverplaatsing

De renderer Puntverplaatsing werkt om alle objecten in een puntenlaag te visualiseren, zelfs als zij dezelfde locatie hebben. De symbolen van de punten worden op een verplaatsingscirkel geplaatst rondom een symbool in het centrum om dit te doen.

Figure Symbology 9:

../../../_images/poi_displacement.png

Het dialoogvenster Puntverplaatsing nix

Tip

Vectorsymbologie exporteren

U heeft de optie om vectorsymbologie vanuit QGIS te exporteren naar Google *.kml-, *.dxf- en MapInfo *.tab-bestanden. Open eenvoudigweg het rechter muismenu van de laag en klik op Selectie opslaan als ‣ om de naam van het uitvoerbestand te specificeren en de indeling ervan. Gebruik, in het dialoogvenster, het menu Symbologie exporteren om de symbologie ofwel op te slaan als Objectsymbologie ‣ of als Symbologie symboollaag ‣. Als u symboollagen heeft gebruikt wordt aanbevolen om de tweede instelling te gebruiken.

Geïnverteerde polygonen

De renderer Geïnverteerde polygonen stelt de gebruiker in staat een symbool te definiëren om het gebied buiten de polygonen op de laag te vullen. Zoals eerder kunt u subrenderers selecteren. Deze subrenderers zijn hetzelfde als voor de hoofdrenderers.

Figure Symbology 10:

../../../_images/inverted_polygon_symbol.png

Dialoogvenster Geïnverteerde polygonen nix

Tip

Snel tussen stijlen schakelen

Als u een van de hierboven vermelde stijlen heeft gemaakt, kunt u met rechts op de laag klikken en kiezen Stijl ‣ Toevoegen om uw stijl op te slaan. Nu kunt u snel tussen stijlen die u gemaakt heeft schakelen met behulp van opnieuw het menu Stijl ‣.

Heatmap

Met de renderer Heatmap kunt u live dynamische heatmaps maken voor (multi)puntlagen. U kunt de radius voor de heatmap specificeren in pixels, mm of kaarteenheden, een kleurenbalk kiezen voor de stijl van de heatmap style en een schuifbalk gebruiken voor het selecteren van een verhouding tussen snelheid van renderen en kwaliteit. Wanneer een object wordt toegevoegd of verwijderd werkt de renderer voor de heatmap de stijl voor de heatmap automatisch bij.

Kleurenkiezer

Ongeacht het te gebruiken type stijl zal het dialoogvenster Kleur selecteren worden weergegeven wanneer u klikt om een kleur te kiezen - ofwel een rand- of vulkleur. Dit dialoogvenster heeft vier verschillende tabs die u in staat stellen een kleur te kiezen vanuit mIconColorBox Kleurverloop, mIconColorWheel Kleurenwiel, mIconColorSwatches Kleurenwaaiers of mIconColorPicker Kleur overnemen.

Welke methode u ook gebruikt, de geselecteerde kleur wordt altijd beschreven door middel van kleurschuiven voor HSV- (Hue, Saturation, Value) en RGB- (Rood, Groen, Blauw) waarden. Er is ook een schuifbalk voor Doorzichtbaarheid om het niveau van transparantie in te stellen. In de linker onderkant van het dialoogvenster kunt u een vergelijking zien tussen de Huidige en de Oude kleur die u momenteel selecteert en in de rechter onderkant heeft u de optie om de kleur die u zojuist heeft bewerkt toe te voegen aan een kleurenknop.

Figure color picker 1:

../../../_images/color_picker_ramp.png

Tab Kleurverloop nix

Met mIconColorBox Kleurverloop of met mIconColorWheel Kleurenwiel kunt u naar alle mogelijke kleurcombinaties bladeren. Er zijn echter ook andere mogelijkheden. Door Kleurenwaaiers mIconColorSwatches te gebruiken kunt u kiezen uit een vooraf gedefinieerde lijst. Deze geselecteerde lijst is gevuld met één van de drie methoden: Recente kleuren, Standaardkleuren of Projectkleuren

Figure color picker 2:

../../../_images/color_picker_recent_colors.png

Tab Kleurenwaaiers nix

Een andere optie is om mIconColorPicker Kleur overnemen te gebruiken die u in staat stelt een monster van een kleur te nemen van onder uw muiscursor vanuit een willekeurig deel van QGIS of zelfs vanuit een andere toepassing door op de spatiebalk te drukken. Onthoud echter dat Kleur overnemen afhankelijk is van uw besturingssysteem en dat momenteel OSX niet wordt ondersteund.

Tip

Snel kleur kiezen + kleuren kopiëren/plakken

U kunt snel kiezen uit Recente kleuren, uit Standaardkleuren of eenvoudig een kleur kopiëren of plakken door te klikken op de pijl naar beneden dat een huidig vak met kleuren volgt.

Figure color picker 3:

../../../_images/quick_color_picker.png

Menu Snel kleur kiezen nix

Renderen van lagen

  • Laag transparantie slider: U kunt hiermee onderliggende lagen zichtbaar maken in het kaartvenster. Gebruik de schuifbalk om de transparantie van de geselecteerde vectorlaag aan te passen. Rechts naast de schuifbalk kunt u een exact gewenst percentage voor de transparantie invullen.

  • Laag blending modus en Object blending modus: Met dit gereedschap kan men speciale effecten op de kaart toepassen die voorheen alleen bekend waren van grafische programma’s. De pixels van de overliggende en onderliggende kaartlagen worden vermengd volgens de instellingen zoals hieronder beschreven.

    • Normaal: Dit is de standaard mengmodus die het alfakanaal van de bovenliggende pixel mengt met de pixel eronder. De kleuren worden daarbij niet gemengd.

    • Lichter maken: Deze selecteert de maximumwaarden van de pixels van de voor- en achtergrond. Het resultaat is vaak ruw, grof en kartelig.

    • Screen: Lichte pixels van de bronlaag worden getekend over de doellaag, terwijl dat niet gebeurd met donkere pixels. Deze modus is geschikt voor het mengen van de textuur van de ene laag met die van een andere laag. (bijv.: U kunt deze gebruiken om schaduwen van heuvels in te brengen in een andere laag).

    • Dodge: Hoe lichter de bovenliggende pixel is des te feller en met meer kleur zullen de onderliggende pixels getoond worden. Dit werkt het beste wanneer de bovenliggende top pixels niet te fel gekleurd zijn anders wordt het resultaat nogal extreem.

    • Toevoegen: Deze mengmodus telt de pixelwaarde van de ene laag op bij de andere. Wanneer de waarden boven 1 uitkomen (in het geval van RGB), zal die pixel wit worden. Deze modus is geschikt om bepaalde objecten op te laten lichten en zo te markeren.

    • Donkerder maken: De resulterende pixel die overblijft is die met de laagste waarde van de voor- en achtergrond . Net zoals bij de modus Lichter maken, neigt het resultaat naar ruw, grof en gekarteld

    • Vermenigvuldigen: Deze vermenigvuldigt de waarden voor elke pixel van de toplaag met die van de onderliggende laag. Het resultaat is een donkerder kaartbeeld.

    • Branden: Donkere kleuren in de toplaag zorgen ervoor dat onderliggende lagen ook donkerder worden. Dit kan worden gebruikt om de kleuren van onderliggende lagen bij te stellen.

    • Overlay: Combineert de mengmodi vermenigvuldigen en screen. In het resulterend kaartvenster worden de lichtere delen lichter en donkere delen donkerder.

    • Zacht licht: Lijkt erg op overlay, maar in plaats van de combinatie vermenigvuldigen/screen wordt de combinatie branden/dodge gebruikt. Het effect waarnaar gestreefd wordt is dat van het schijnen van een zacht licht op het kaartbeeld.

    • Hard licht: Hard licht lijkt op de modus overlay. Deze moet ervoor zorgen dat het lijkt of er een sterk licht schijnt op het kaartbeeld.

    • Verschil: Verschil haalt de waarde van de bovenste pixel van de onderliggende pixel af of omgekeerd, zodat er altijd een positieve waarde ontstaat. Het mixen met zwart levert geen wijziging, omdat waarden voor alle kleuren 0 zijn.

    • Aftrekken: Deze blending modus trekt eenvoudig de pixelwaarde van de ene laag af van de andere. Wanneer pixelwaarden negatief worden zullen die pixels zwart worden getoond.

Het menu Labels

De brontoepassing mActionLabeling Labels verschaft slim labelen voor vectorpunt-, lijn- en polygoonlagen en het vereist slechts enkele parameters. Deze nieuwe toepassing ondersteunt ook on-the-fly getransformeerde lagen. De bronfuncties van de toepassing zijn opnieuw ontworpen. In QGIS zijn er een aantal andere mogelijkheden die het labelen verbeteren. De volgende menu’s zijn gemaakt voor het labelen van de vectorlagen:

  • Tekst

  • Opmaak

  • Buffer
  • Achtergrond

  • Schaduw

  • Plaatsing

  • Rendering

Laten we eens kijken hoe de nieuwe menu’s gebruikt kunnen worden voor verschillende vectorlagen.

Het labelen van vector puntlagen

Start QGIS en laad een punt-vectorlaag. Selecteer deze in de legenda en druk op het mActionLabeling Laag-label opties op de werkbalk Labels van QGIS.

De eerste stap is om het keuzevak checkbox Deze laag labelen met te activeren en een kolom uit de attributen te selecteren om te gebruiken voor het labelen. Klik op mActionmIconExpressionEditorOpen als u labels wilt definiëren die zijn gebaseerd op expressies - Bekijk labeling_with_expressions.

De volgende stappen beschrijven eenvoudig labelen zonder de functies Data-bepaalde override te gebruiken die zich naast de keuzemenu’s bevinden.

U kunt de tekststijl definiëren in het menu Tekst (bekijk Figure_labels_1 ). Gebruik de optie Hoofd- of kleine letters om het renderen van de tekst te beïnvloeden. U heeft de mogelijkheid om de tekst te renderen in ‘Alles in hoofdletters’, ‘Alles in kleine letters’ of ‘Eerste letter een hoofdletter’. gebruik de Meng-modus om effecten te creëren die bekend zijn van grafische programma’s (bekijk blend_modes).

In het menu Opmaak kunt u een teken definiëren voor een regeleinde in de labels met de functie ‘Afbrekingsteken’. Gebruik de optie checkbox Opgemaakte getallen om de getallen in een attributentabel op te maken. Hier kunnen decimale plaatsen worden ingevoegd. Als u deze optie inschakelt worden drie decimale plaatsen als standaard ingesteld.

Activeer eenvoudigweg het keuzevak checkbox Teken tekstbuffer in het menu Buffer om een buffer te maken. De kleur voor de buffer is variabel. Hier kunt u ook Meng-modus gebruiken (bekijk blend_modes).

Als het keuzevak checkbox Vulkleur buffer is geactiveerd, zal het interactief reageren op gedeeltelijk transparante tekst en meer resultaten voor gemengde kleurtransparantie geven. Uitschakelen van de vulkleur voor de buffer repareert dat probleem (met uitzondering van die waar het aspect van het interieur van de buffer samenkomt met de vulkleur van de tekst) en stelt u ook in staat in omtrek geschreven tekst te maken.

In het menu Achtergrond kunt u met Grootte X en Grootte Y de vorm van de achtergrond definiëren. Gebruik Lettergrootte om een extra ‘buffer’ in uw achtergrond in te brengen. De grootte van de buffer wordt standaard ingesteld. De achtergrond bestaat dan uit de buffer plus de extra Grootte X en Grootte Y. U kunt met Rotatie de rotatie van het label instellen waarbij u kunt kiezen uit ‘Met label synchroniseren’, ‘Op afstand van label’ en ‘Vast’. Met ‘Op afstand van label’ en ‘Vast’ kan de achtergrond worden geroteerd. Definieer een Op afstand X,Y met X- en Y-waarden en de achtergrond zal verplaatst worden. Wanneer Radius X,Y wordt gebruikt zal de achtergrond afgeronde hoeken krijgen. Het is ook mogelijk de achtergrond met de onderliggende lagen in het kaartvenster te mengen met meng-modus (zie blend_modes).

Gebruik het menu Schaduw voor een gebruikergedefinieerde Valschaduw. Het tekenen van de achtergrond is zeer variabel. Kies uit ‘Laagste label component’, ‘Tekst’, ‘Buffer’ en ‘Achtergrond’. De hoek Verspringing is afhankelijk van de richting van het label. Als u kiest voor het keuzevak checkbox Gebruik globale schaduw, dan is het nulpunt van de hoek altijd gericht op het Noorden en is niet afhankelijk van de richting van het label. U kunt de weergave van de schafuw beïnvloeden met Radius vervagen. Hoe hoger het nummer, hoe vager de schaduwen. De weergave van de valschaduw kan ook worden gewijzigd door een meng-modus te kiezen (zie blend_modes).

Kies het menu Plaatsing voor het plaatsen van het label t.o.v. het object en de prioriteit van het plaatsen van labels. Wanneer u gebruik maakt van radiobuttonon Op afstand van punt kunt u gebruik maken van Kwadranten om aan te geven waar het label geplaatst moet worden t.o.v. het object. Aanvullend kunt u de hoek waaronder het label wordt geplaatst ook wijzigen met de instelling Rotatie. Dus is een plaatsing in een bepaald kwadrant onder een bepaalde rotatie mogelijk. In het gedeelte Prioriteit kunt u definiëren met welke prioriteit de labels moeten worden gerenderd. Het heeft interactie met de labels van de andere vectorlagen in het kaartvenster. Als er labels van verschillende lagen op dezelfde locatie staan dan zal het label met de hoogste prioriteit worden weergegeven en de andere zal worden weggelaten.

In het menu Rendering kunt u opties voor label en object definiëren. Onder Labelopties vind u nu de instelling voor op schaal gebaseerde zichtbaarheid. U kunt voorkomen dat QGIS alleen geselecteerde labels rendert met het keuzevak checkbox Toon alle labels voor deze laag (inclusief conflicterende labels). Onder Mogelijkheden kunt u definiëren of elk gedeelte van meerdelige objecten moet worden gelabeld. Het is mogelijk om te definiëren of het aantal objecten dat moet worden gelabeld begrensd is en om checkbox Voorkom dat labels objecten overschrijven.

Figure Labels 1:

../../../_images/label_points.png

Slim labelen van punt-vectorlagen nix

Het labelen van vector lijnlagen

De eerste stap is het activeren van het keuzevak checkbox Deze laag labelen met in het menu Labels en kies het attribuutveld dat gebruikt moet worden voor de labels. Klik op mActionmIconExpressionEditorOpen als u op expressie gebaseerde labels wilt gebruiken. - Zie labeling_with_expressions.

Hierna kunt u de tekststijl kiezen in het menu Tekst. Hier kunt u dezelfde instellingen gebruiken als voor puntenlagen.

Ook in het menu Opmaak kunt u dezelfde instellingen gebruiken als voor puntenlagen.

Het menu Buffer heeft dezelfde functies als beschreven in het gedeelte labeling_point_layers .

Het menu Achtergrond heeft dezelfde items als beschreven in het gedeelte labeling_point_layers .

Ook het menu Schaduw heeft dezelfde items als beschreven in het gedeelte labeling_point_layers .

In het menu Plaatsing vindt u speciale instellingen voor lijnlagen. Het label kan radiobuttonon Parallel, radiobuttonoff Gebogen of radiobuttonoff Horizontaal worden geplaatst. Met de opties radiobuttonon Parallel en radiobuttonoff Gebogen kunt u de positie definiëren checkbox Boven lijn, checkbox Op lijn en checkbox Onder lijn. Het is mogelijke meerdere opties tegelijkertijd te kiezen. In dat geval zal QGIS de optimale positie voor het label zoeken. Onthoud dat u ook de richting van de lijn voor de positie van het label kunt gebruiken. Aanvullend kunt u een Maximale hoek tussen bochtvolgende tekens definiëren bij het selecteren van de optie radiobuttonoff Gebogen (zie Figure_labels_2 ).

U kunt een minimale afstand instellen om labels te herhalen. De afstand mag in mm of in kaarteenheden zijn.

Enkele instellingen voor Plaatsing zullen meer opties weergeven, bijvoorbeeld, de plaatsingen Gebogen en Parallel zullen de gebruiker in staat stellen de positie van het label in te stellen (boven, onder of op de regel), afstand vanaf de regel en voor Gebogen kan de gebruiker ook een maximale hoek binnen/buiten het gebogen label instellen. Net als voor puntvectorlagen heeft u de mogelijkheid om een Prioriteit voor de labels te definiëren.

Het menu Rendering heeft bijna dezelfde items als die voor puntlagen. Bij Mogelijkheden kunt u nu aangeven Onderdruk labelen van objecten kleiner dan.

Figure Labels 2:

../../../_images/label_line.png

Slim labelen van lijn vectorlagen nix

Het labelen van polygoon vectorlagen

De eerste stap is om het keuzevak checkbox Deze laag labelen met te activeren en een kolom uit de attributen te selecteren om te gebruiken voor het labelen. Klik op mActionmIconExpressionEditorOpen als u labels wilt definiëren die zijn gebaseerd op expressies - Bekijk labeling_with_expressions.

Definieer de tekststijl in het menu Tekst. De items zijn gelijk aan die voor punt- en lijnlagen.

Het menu Opmaak geeft de mogelijkheid om meerdere regels op te maken, ook net zoals voor punt- en lijnlagen.

Zoals met punt- en lijnlagen kunt u een tekstbuffer creëren met het menu Buffer.

Gebruik het menu Achtergrond om een complexe gebruiker-gedefinieerde achtergrond voor de polygoonlaag te maken. U kunt het menu net zo gebruiken als voor punt- en lijnlagen.

De in te vullen velden in het menu Schaduw zijn dezelfde als voor punt- en lijnlagen.

In het menu Plaatsing vindt u speciale instellingen voor polygoonlagen (zie Figure_labels_3 ). radiobuttonon Op afstand van centroïde, radiobuttonoff Horizontaal (langzaam), radiobuttonoff Rondom centroïde, radiobuttonoff Vrij (langzaam) en radiobuttonoff Gebruik omtrek zijn mogelijk.

Voor de instelling radiobuttonon Op afstand van centroïde kunt u aangeven of de centroïde de radiobuttonon zichtbare polygoon of de radiobuttonoff gehele polygoon moet zijn. Dat betekent dat de centroïde ofwel wordt gebruikt voor de polygoon die zichtbaar is op de kaart of dat de centroïde wordt bepaald voor de gehele polygoon, waarbij het niet van belang is of u het gehele object op de kaart kunt zien. U kunt kwadranten gebruiken en daarbij hoeveel afstand en de rotatie definiëren. De instelling radiobuttonoff Rondom centroïde maakt het mogelijk het label te plaatsen op een bepaalde afstand rondom de centroïde. Ook hier kunt u radiobuttonon zichtbare polygoon of radiobuttonoff gehele polygoon voor de centroïde definiëren. Bij de instelling radiobuttonoff Gebruik omtrek kunt u een positie en afstand voor het label opgeven. Voor de positie zijn de mogelijkheden checkbox Boven lijn, checkbox Op lijn, checkbox Onder lijn en checkbox Positieafhankelijk oriëntatie van lijn.

Gerelateerd aan de keuze van Plaatsing van het label zullen verscheidene opties verschijnen. Net als voor Plaatsing voor een punt kunt u de afstand kiezen tot de omtrek van de polygoon, het label herhalen rondom de omtrek van de polygoon.

Net als voor punt- en lijnvectorlagen heeft u de mogelijkheid om een Prioriteit voor de polygoon vectorlaag te definiëren.

Het menu Rendering heeft bijna dezelfde in te vullen velden als die voor lijnlagen. U kunt bij de Label opties aangeven wanneer het labelen niet mag gedaan worden met Onderdruk het labelen van objecten kleiner dan.

Figure Labels 3:

../../../_images/label_area.png

Slim labelen van polygoon vectorlagen nix

Labels definiëren die zijn gebaseerd op expressies

QGIS maakt het mogelijk om expressies te gebruiken voor de mogelijkheden van labels. Klik eenvoudigweg op het pictogram mActionmIconExpressionEditorOpen in het menu mActionLabeling Labels van het dialoogvenster Eigenschappen. In figure_labels_4 ziet u een voorbeeld van een expressie om de regio’s van Alaska te labelen met naam en grootte van het gebied, gebaseerd op het veld ‘NAME_2’, enige beschrijvende tekst en de functie ‘$area()’ in combinatie met ‘format_number()’ om het er netter uit te laten zien.

Figure Labels 4:

../../../_images/label_expression.png

Expressies gebruiken voor labelen nix

Op expressie gebaseerd labelen is eenvoudig om mee te werken. Alles waar u rekening mee dient te houden is dat u alle elementen (tekenreeksen, velden en functies) moet combineren met een verbindingsteken voor tekenreeksen ‘||’ en dat velden worden geschreven met “dubbele aanhalingstekens” en tekenreeksen met ‘enkele aanhalingstekens’. Laten we eens naar een aantal voorbeelden kijken:

 # label based on two fields 'name' and 'place' with a comma as separater
 "name" || ', ' || "place"

 -> John Smith, Paris

 # label based on two fields 'name' and 'place' separated by comma
 'My name is ' || "name" || 'and I live in ' || "place"

 -> My name is John Smith and I live in Paris

 # label based on two fields 'name' and 'place' with a descriptive text
 # and a line break (\n)
 'My name is ' || "name" || '\nI live in ' || "place"

 -> My name is John Smith
    I live in Paris

 # create a multi-line label based on a field and the $area function
 # to show the place name and its area size based on unit meter.
 'The area of ' || "place" || 'has a size of ' || $area || 'm²'

 -> The area of Paris has a size of 105000000 m²

 # create a CASE ELSE condition. If the population value in field
 # population is <= 50000 it is a town, otherwise a city.
 'This place is a ' || CASE WHEN "population <= 50000" THEN 'town' ELSE 'city' END

-> This place is a town

Zoals u kunt zien in de expressiebouwer heeft u honderden functies beschikbaar om eenvoudige en zeer complexe expressies te maken om uw gegevens in QGIS te labelen. Bekijk het hoofdstuk Expressies voor meer informatie en voorbeelden over expressies.

Gebruik data gedefinieerd labelen

Met de functie Data-bepaalde override worden de instellingen voor het labelen overschreven door items uit de attributentabel. U kunt deze functie activeren/deactiveren met de rechter muisknop. Hou de muisaanwijzer boven het symbool en u ziet de informatie over de Data-bepaalde override, inclusief het huidige gebruikte veld voor de definitie. We zullen nu een voorbeeld geven hoe de functie Data-bepaalde override gebruikt kan worden voor de functie mActionMoveLabelVerplaats label (zie figure_labels_5 ).

  1. Importeer lakes.shp uit de voorbeeld gegevensset van QGIS.

  2. Dubbelklik op de laag om de laageigenschappen te openen. Klik op Labels en Plaatsing. Selecteer radiobuttonon Op afstand van centroïde.

  3. Ga naar de items Data gedefinieerd. Klik op het pictogram mIconDataDefine om te bepalen welk veld gebruikt moet worden voor Coördinaat. Kies ‘xlabel’ voor X en ‘ylabel’ voor Y. De pictogrammen worden nu geel geaccentueerd.

  4. Zoom in op een meer.

  5. Ga naar de werkbalk Label en klik op het pictogram mActionMoveLabel. Nu kunt u het label handmatig naar een andere positie verplaatsen (zie figure_labels_6 ). De nieuwe positie van het label wordt opgeslagen in de kolommen ‘xlabel’ en ‘ylabel’ van de attributentabel.

Figure Labels 5:

../../../_images/label_data_defined.png

Het labelen van polygoon vectorlagen met data-gedefinieerde overrides nix

Figure Labels 6:

../../../_images/move_label.png

Verplaatsen van labels nix

Menu Velden

attributes in het menu Velden kunt u eigenschappen van de velden van de geselecteerde gegevensset wijzigen. De knoppen mActionNewAttribute Nieuwe kolom en mActionDeleteAttribute Verwijder kolom kunnen worden gebruikt als de gegevensset met de knop mActionToggleEditing Bewerken aan/uitzetten in de modus Bewerken is gezet.

Wijzig hulpmiddel

Figure Fields 1:

../../../_images/editwidgetsdialog.png

Dialoogvenster om een wijzig-hulpmiddel te kiezen voor een attribuutveld nix

In het menu Velden vindt u in de lijst van velden ook een kolom Wijzig-hulpmiddel. Deze kolom kan worden gebruikt om waarden of een bereik van waarden te definiëren die zijn toegestaan om te worden toegevoegd aan deze specifieke kolom van de attibutentabel. Wanneer u op de knop [Wijzig-hulpmiddel] drukt, opent een dialoogvenster, waar u de verschillende hulpmiddelen kunt instellen. Deze hulpmiddelen zijn de volgende:

  • Aanvinkvak: Toont een keuzevak en u kunt zelf definiëren welk attribuut moet worden toegevoegd als dit keuzevak is geactiveerd of niet.

  • Classificatie: Toont een keuzelijst met waarden die al gebruikt zijn voor dat veld wanneer je dat veld ook hebt gebruikt om daarmee de symbologie te classificeren in het tabblad Stijl. Voor elke ‘unieke waarde’ is het dan mogelijk een andere symbologie te gebruiken.

  • Kleur: Geeft een knop Kleur weer die de gebruiker in staat stelt een kleur te kiezen uit het dialoogvenster Kleuren.

  • Datum/Tijd: Geeft een regelveld weer dat een widget van een kalender kan openen om een datum, een tijd of beide in te voeren. Het type kolom moet tekst zijn. U kunt een aangepaste indeling kiezen, een kalender op laten komen, etc.

  • Enumeratie: Opent een combinatievak met waarden die gebruikt kunnen worden binnen dit type kolom. Dit wordt momenteel alleen ondersteund voor de provider PostgreSQL.

  • Bestandsnaam: Hiermee kunt u een bestandsnaam invullen door een bestand te selecteren via de bestandskiezer.

  • Verborgen: Een verborgen attribuut is niet zichtbaar. De gebruiker kan de inhoud ervan niet zien.

  • Foto: Het veld bevat de veldnaam van een afbeelding. De breedte en hoogte van het veld kunnen worden gegeven.

  • Range: Maakt het mogelijk numerieke waarden in te stellen binnen een specifiek bereik. het hulpmiddel voor bewerking kan een schuifbalk of een draaiknop zijn

  • Relatie Referentie: Dit hulpmiddel laat u het objectformulier van laag waarnaar verwezen wordt inbedden in het objectformulier van de actuele laag. Zie Een tot veel-relaties maken.

  • Tekst bewerken (standaard): Dit opent een tekstveld waarin je meerdere regels tekst kunt ingeven. Als u voor meerdere regels kiest, kunt u ook HTML-inhoud kiezen.

  • Unieke waarden: U kunt één van de al in de attributentabel gebruikte waarden kiezen. Als ‘Aanpasbaar’ is geactiveerd wordt een hulpmiddel voor bewerken getoond met ondersteuning voor automatisch aanvullen, anders wordt een combinatievak gebruikt.

  • UUID Generator: Genereert een alleen-lezen UUID (Universele Unieke IDentificatie), indien leeg.

  • Aanwezige waarden: Een combinatievak met vooraf gedefinieerde items. De waarde is opgeslagen in het attribuut, de omschrijving wordt weergegeven in het combinatievak. U kunt waarden handmatig definiëren of laden vanuit een laag of een CSV-bestand

  • Waarde-relatie: Keuzeveld waar de waarden zijn ingevuld vanuit een gerelateerde tabel. U kunt hiervoor een laag, een sleutelveld en het veld met te kiezen waarden instellen.

  • Webview: Het veld bevat een URL. De breedte en hoogte van het veld zijn variabel.

Notitie

QGIS has an advanced ‘hidden’ option to define your own field widget using python and add it to this impressive list of widgets. It is tricky but it is very well explained in following excellent blog that explains how to create a real time validation widget that can be used like described widgets. See http://blog.vitu.ch/10142013-1847/write-your-own-qgis-form-elements

Met de Attribuut editor layout kunt u nu ingebouwde formulieren definiëren (zie figure_fields_2). Dit is handig bij werkzaamheden voor het invoeren van gegevens of om objecten te identificeren met behulp van de optie Auto open formulier wanneer u veel objecten heeft met veel attributen. U kunt een bewerker maken met verscheidene tabbladen en benoemde groepen om de velden met attributen weer te geven.

Choose ‘Drag and drop designer’ and an attribute column. Use the mActionSignPlus icon to create a category to insert a tab or a named group (see figure_fields_3). When creating a new category, QGIS will insert a new tab or named group for the category in the built-in form. The next step will be to assign the relevant fields to a selected category with the mActionArrowRight icon. You can create more categories and use the same fields again.

Other options in the dialog are ‘Autogenerate’ and ‘Provide ui-file’.

Dialoogvensters van QGIS mogen een Python-functie hebben die wordt aangeroepen als het dialoogvenster wordt geopend. Gebruik deze functie om extra logica aan uw dialoogvensters toe te voegen. Een voorbeeld is (in module MyForms.py):

def open(dialog,layer,feature):
geom = feature.geometry()
control = dialog.findChild(QWidged,"My line edit")

Verwijs als volgt naar de Python-functie Init: MyForms.open

MyForms.py moet bereikbaar zijn via PYTHONPATH, in .qgis2/python, of binnen de projectmap.

Figure Fields 2:

../../../_images/attribute_editor_layout.png

Dialoogvenster om categorieën aan te maken met de Attribuut editor layout

Figure Fields 3:

../../../_images/resulting_feature_form.png

Resultaat ingebouwd formulier met tabs en benoemde groepen

Tab Algemeen

general Gebruik de tab Algemeen voor algemene instellingen voor een vectorlaag. U kunt hiermee verschillende zaken instellen:

Laag Info

  • Wijzig de zichtbare naam van de laag in de legenda met Weergegeven als

  • Definieer de Laagbron van de vectorlaag

  • Definieer de Tekencodering databron om specifieke opties voor de provider te geven en om het bestand te kunnen lezen

Coördinaten Referentie Systeem

  • Specificeer het Coördinaten Referentie Systeem. Hier kun je de projectie bekijken of wijzigen voor de specifieke vectorlaag.

  • Maak een Ruimtelijke index aan (alleen voor OGR-ondersteunde indelingen)

  • Bereik vernieuwen informatie voor een laag

  • Bekijk of wijzig de ruimtelijke projectie van deze specifieke vectorlaag, met de knop [Geef het CRS]

checkbox Schaalafhankelijke zichtbaarheid

  • U kunt de schaal Maximum (inclusief) en Minimum (exclusief) instellen. De schaal kan ook gezet worden met de knop [Current]

Deelverzameling objecten

  • Met de knop [Querybouwer] is het mogelijk om een deelverzameling van de objecten in de laag te maken die zal worden gevisualiseerd (zie ook het gedeelte Querybouwer).

Figure General 1:

../../../_images/vector_general_menu.png

Het menu Algemeen in de vectorlaag eigenschappen dialoog nix

Menu Rendering

QGIS 2.2 introduceert ondersteuning voor on-the-fly objectgeneralisatie. Dit kan de tijd voor het renderen verbeteren bij het tekenen van vele complexe objecten op kleine schalen. Deze mogelijkheid kan in de instellingen voor de laag worden in- of uitgeschakeld met behulp van de optie checkbox Vereenvoudig geometrie. Er is ook een nieuwe globale instelling die generalisatie standaard inschakelt voor nieuw toegevoegde lagen (zie gedeelte Opties). Opmerking: Objectgeneralisatie kan in sommige gevallen artefacten in uw gerenderde uitvoer veroorzaken. Dit kunnen versplinteringen zijn tussen polygonen en niet nauwkeurig renderen bij het gebruiken van op verplaatsing gebaseerde symboollagen.

Het menu Tonen

mActionMapTips Dit menu is specificaal gemaakt voor Kaarttips. Het bevat een nieuwe mogelijkheid: Kaarttip tekst weergeven in HTML. Waar u nog steeds een radiobuttonoff Veld kunt kiezen om te worden weergegeven op de kaart wanneer u met de muisaanwijzer over een object gaat, is het nu mogelijk om HTML-code in te voegen die een complexe weergave maakt bij het boven het object zijn. Selecteer de menu-optie Beeld ‣ Kaarttips om Kaarttips te activeren. Figure Display 1 geeft een voorbeeld van HTML-code.

Figure Display 1:

../../../_images/display_html.png

HTML-code voor tip op kaart nix

Figure Display 2:

../../../_images/map_tip.png

Tip voor kaart gemaakt met HTML-code nix

Tabblad Acties

action QGIS geeft de mogelijkheid om een actie te starten waarbij gebruik wordt gemaakt van attribuutwaarden. U kunt meerdere acties per vectorlaag aanmaken waarmee u bijvoorbeeld een ander programma kunt aanroepen waarbij attribuutwaarden als argumenten meegeeft.

Figure Actions 1:

../../../_images/action_dialog.png

Overzicht dialoogvenster Acties met enkele voorbeeldacties nix

Acties zijn erg handig wanneer u regelmatig een extern programma wilt uitvoeren of een webpagina wilt bekijken die is gebaseerd op een of meer waarden in uw vectorlaag. Zij zijn onderverdeeld in 6 typen die als volgt gebruikt kunnen worden:

  • De acties Algemeen, Mac, Windows en Unix starten een extern proces.

  • De actie Python voert een expressie in Python uit.

  • Acties Algemeen en Python zijn overal zichtbaar.

  • De acties Mac, Windows en Unix zijn alleen zichtbaar op die specifieke besturingssystemen (u kunt bijv. drie acties ‘Bewerken’ maken om een bewerkingsprogramma te openen, maar de gebruikers kunnen alleen de actie ‘Bewerken’ voor hun platform zien en uitvoeren om het bewerkingsprogramma uit te voeren).

Er zijn enkele voorbeelden opgenomen in het dialoogvenster. U kunt deze laden door te klikken op [Standaard acties toevoegen]. Een voorbeeld is een zoekactie gebaseerd op een waarde van een attribuut. Dit concept is gebruikt in volgende bespreking.

Acties definiëren

Acties op attributen worden gedefinieerd in het vectordialoogvenster vector Laag eigenschappen. Open het vectordialoogvenster Laag-eigenschappen en klik op het menu Acties om een actie te definiëren. Ga naar Actie-eigenschappen. Selecteer ‘Algemeen’ als type en geef een beschrijvende naam voor de actie. De actie zelf moet de naam van de toepassing bevatten die moet worden uitgevoerd als de actie wordt gestart. U kunt één of meer waarden van velden met attributen als argumenten toevoegen voor de toepassing. Wanneer de actie wordt gestart, zal elke set tekens die begint met een %, gevolgd door de naam van een veld, worden vervangen door de waarde van dat veld. De speciale tekens %% zullen worden vervangen door de waarde van het veld dat werd geselecteerd uit de resultaten van de identificatie of de attributentabel (zie using_actions hieronder). Dubbele aanhalingstekens kunnen worden gebruikt om tekst te groeperen naar één enkel argument voor het programma, script of de opdracht. Dubbele aanhalingstekens zullen worden genegeerd indien zij worden voorafgegaan door een backslash.

Wanneer u veldnamen gebruikt waarvan de naam een deel vormt van een andere veldnaam (bijv. col1 en col10) zou u dat moeten aangeven door rechte haken om de veldnaam (en het % teken) te plaatsen (bijv. [\%col10]). Dit voorkomt dat het veld %col10 wordt gelezen als veld %col1 met daarachter de tekst 0. De rechte haken zullen door QGIS worden verwijderd bij het vervangen door de veldwaarde. Als u echter wilt dat het te vervangen veld wordt omgeven door rechte haken, gebruik dan een tweede paar, bijvoorbeeld: [[\%col10]].

Met behulp van het gereedschap Objecten identificeren kunt u het dialoogvenster Identificatieresultaten openen. Dit heeft een deel (Afgeleid) dat informatie bevat die relevant is voor dit type vectorlaag. Toegang tot de waarden in dit item kan worden verkregen op een soortgelijke wijze als tot andere velden door de naam van het afgeleide veld vooraf te laten gaan door (Afgeleid).. Een puntlaag heeft bijvoorbeeld de afgeleide velden X en Y en de waarden van die velden kunnen in een actie worden gebruikt als %(Afgeleid).X en %(Afgeleid).Y. De afgeleide waarden zijn alleen beschikbaar vanuit het dialoogvenster Identificatieresultaten niet uit het dialoogvenster Attributentabel.

Twee voorbeeldacties worden hieronder weergegeven:

  • konqueror http://www.google.com/search?q=%nam
  • konqueror http://www.google.com/search?q=%%

In het eerste voorbeeld wordt de webbrowser Konqueror gestart en een URL ingegeven als argument. Er wordt zoekactie via Google uitgevoerd op de waarde van het veld nam van onze vectorlaag. Let er op dat de toepassing wel in het pad staat, anders moet u ook het volledige pad ingeven. We zouden het eerste voorbeeld kunnen herschrijven als: /opt/kde3/bin/konqueror http://www.google.com/search?q=\%nam om zeker te zijn. Dit zal er voor zorgen dat de toepassing Konqueror zal worden uitgevoerd wanneer de actie wordt gestart.

Het tweede voorbeeld gebruikt de notatie %% , die niet afhankelijk is van een bepaald veld voor zijn waarde. Wanneer de actie wordt gestart, zal %% worden vervangen door de waarde van het geselecteerde veld in Identificatieresultaten of de Attributentabel.

Acties gebruiken

Acties kunnen worden gestart vanuit het venster Identificatieresultaten of vanuit het venster Attributentabel of vanuit Object-actie uitvoeren (onthoud dat deze dialoogvensters kunnen worden geopend door te klikken op mActionIdentify Objecten identificeren of mActionOpenTable Attributentabel openen of mAction Object-actie uitvoeren). Klik met rechts op een record en kies de actie uit het pop-upmenu, om een actie te starten,. Acties zijn in het pop-upmenu vermeld met de naam die u heeft toegewezen bij het definiëren van de actie. Klik op de actie die u wilt starten.

Wanneer u een actie start die de %% notatie gebruikt, selecteer dan eerst het veld dat u wilt meegeven als argument, in het venster Identificatieresultaten of het dialoogvenster Attributentabel zodat de waarde van dat veld wordt meegegeven aan de actie.

Hier volgt nog een voorbeeld dat gegevens uit een vectorlaag haalt en die met behulp van bash en de opdracht echo naar een bestand schrijft (dit werkt dus alleen onder nix en misschien ook onder osx). De betrokken laag heeft velden met de soortnaam taxon_name, de breedtegraad lat en de lengtegraad long. We zouden een ruimtelijke selectie willen maken van locaties en de veldwaarden voor de geselecteerde records willen exporteren naar een tekstbestand (in geel weergegeven in het kaartvenster van QGIS). Hier volgt de actie om dat te bereiken:

bash -c "echo \"%taxon_name %lat %long\" >> /tmp/species_localities.txt"

Na het selecteren van een aantal objecten en het aanroepen van de actie ziet de inhoud van het uitvoerbestand er ongeveer zo uit:

Acacia mearnsii -34.0800000000 150.0800000000
Acacia mearnsii -34.9000000000 150.1200000000
Acacia mearnsii -35.2200000000 149.9300000000
Acacia mearnsii -32.2700000000 150.4100000000

Als oefening kunnen we een actie maken voor de laag lakes waarbij we gegevens opzoeken met Google. Eerst moeten we bepalen wat de URL is waarmee we met een zoekterm kunnen zoeken. Dat doen we door naar Google te gaan en een simpele zoekopdracht uit te voeren en vervolgens uit de adresregel van de webbrowser de gebruikte URL over te nemen. Met deze kleine inspanning zien we dat de indeling van de URL is: http://google.com/search?q=qgis, waarbij in dit geval qgis de zoekterm is. Gewapend met deze kennis kunnen we doorgaan.

  1. Eerst moet de laag lakes zijn geladen.

  2. Open het dialoogvenster Laag eigenschappen door in de legenda te dubbelklikken op de laag of door met rechts te klikken en Eigenschappen te selecteren uit het pop-upmenu.

  3. Open het tabblad Acties.

  4. Geef een naam voor de actie bijvoorbeeld Google Search.

  5. Voor de actie moeten we de opdracht geven waarmee de webbrowser wordt opgestart. In dit geval gebruiken we Firefox. Wanneer het programma niet rechtstreeks kan worden opgestart met alleen de programmanaam dan dient het volledige pad te worden meegegeven.

  6. Geef, na de naam van de webbrowser, de URL in waarmee we gaan zoeken in Google maar zonder de zoekterm: http://google.com/search?q=

  7. De tekst in het veld Actie ziet er nu als volgt uit: firefox http://google.com/search?q=

  8. Selecteer de keuzelijst die de vectorlaag lakes bevat. Deze keuzelijst staat links van de knop [Voer veld in].

  9. Selecteer in de keuzelijst het veld Names en klik op de knop [Voer veld in].

  10. De tekst van actie ziet er nu als volgt uit:

    firefox http://google.com/search?q=\%NAMES

  11. Klik op de knop [Voer actie in] om de actie te voltooien.

Hiermee is de actie aangemaakt en klaar om te gebruiken. De uiteindelijke tekst van de actie zou er zo uit moeten zien:

firefox http://google.com/search?q=%NAMES

We kunnen deze actie nu gebruiken. Sluit het dialoogvenster Laag-eigenschappen. Zorg er voor dat de laag lakes geselecteerd is in de legenda en start de functie Objecten identificeren. Na het selecteren van een meer zie je dat de actie beschikbaar is in het resultaat:

Figure Actions 2:

../../../_images/action_identifyaction.png

Selecteer een object en kies een actie nix

Wanneer we de actie selecteren, zal deze Firefox opstarten en navigeren naar de URL http://www.google.com/search?q=Tustumena. Het is ook mogelijk om nog meer attribuutvelden aan de zoekterm toe te voegen Daartoe kunt u aan het einde van de tekst van de actie een ‘+’ toevoegen, een ander veld te selecteren en te klikken op [Voer veld in]. Voor dit voorbeeld is er echter geen veld beschikbaar dat zin zou hebben om op te zoeken.

U kunt meerdere acties voor een laag definiëren en elk daarvan zal worden weergegeven in het dialoogvenster Identificatieresultaten.

U kunt allerlei toepassingen voor acties bedenken. Als u bijvoorbeeld een puntenlaag heeft die locaties van afbeelding of foto’s bevat met een bestandsnaam, zou u een actie kunnen maken om een viewer te starten om de afbeelding weer te geven. U zou ook acties kunnen gebruiken op web-gebaseerde rapporten voor een attribuutveld of combinatie van velden te starten, die u op dezelfde specificeert als we met ons zoekvoorbeeld voor Google hebben gedaan.

We kunnen ook meer complexe acties maken, bijvoorbeeld door gebruik te maken van acties van Python.

Normaal gebruiken we, als we een actie maken om een bestand met een externe toepassing te openen, absolute paden of eventueel relatieve paden. In het tweede geval is het pad relatief ten opzichte van de locatie van de externe toepassing. Maar wat wanneer we een relatief pad moeten gebruiken, relatief ten opzichte van de geselecteerde laag (een op een bestand gebaseerde laag, zoals een shapefile of een SpatiaLite)? De volgende code geeft een mogelijke oplossing:

command = "firefox";
imagerelpath = "images_test/test_image.jpg";
layer = qgis.utils.iface.activeLayer();
import os.path;
layerpath = layer.source() if layer.providerType() == 'ogr'
  else (qgis.core.QgsDataSourceURI(layer.source()).database()
  if layer.providerType() == 'spatialite' else None);
path = os.path.dirname(str(layerpath));
image = os.path.join(path,imagerelpath);
import subprocess;
subprocess.Popen( [command, image ] );

We moeten eenvoudigweg onthouden dat de actie van het type Python is en de variabelen command en imagerelpath moeten worden gewijzigd om aan onze behoeften te voldoen.

Maar wat als het relatieve pad relatief moet zijn ten opzichte van het (opgeslagen) projectbestand? De code van de Python-actie zou dan zijn:

command="firefox";
imagerelpath="images/test_image.jpg";
projectpath=qgis.core.QgsProject.instance().fileName();
import os.path; path=os.path.dirname(str(projectpath)) if projectpath != '' else None;
image=os.path.join(path, imagerelpath);
import subprocess;
subprocess.Popen( [command, image ] );

Een ander voorbeeld van een Python-actie is die welke ons in staat stelt nieuwe lagen toe te voegen aan het project. Bijvoorbeeld: de volgende voorbeelden zullen respectievelijk een vector- en een rasterlaag aan het project toevoegen. De namen van de bestanden die toegevoegd zullen worden, evenals de namen die gegeven worden aan de lagen, zijn reeds geladen gegevens (filename en layername zijn kolomnamen van de attributentabel van de vectorlaag waarmee de actie werd gemaakt.

qgis.utils.iface.addVectorLayer('/yourpath/[% "filename" %].shp','[% "layername" %]',
  'ogr')

Het wordt, om een rasterbestand toe te voegen (in dit voorbeeld een TIF-afbeelding):

qgis.utils.iface.addRasterLayer('/yourpath/[% "filename" %].tif','[% "layername" %]
')

Het tabblad Koppelingen

join Het menu Koppelingen stelt u in staat een geladen attributentabel te koppelen aan een geladen vectorlaag. Na het klikken op mActionSignPlus, verschijnt het dialoogvenster Vectorkoppeling toevoegen. Als sleutelkolommen dient u een koppellaag te definiëren die u wilt koppelen aan de doel-vectorlaag. Daarna moet u het koppelveld specificeren dat gemeenschappelijk is met zowel de koppellaag als de doellaag. Nu kunt u ook een subset van velden uit de gekoppelde laag specificeren, gebaseerd op het keuzevak checkbox Kies welke velden zijn samengevoegd. Als resultaat van de koppeling wordt alle informatie van de koppellaag en de doellaag weergegeven in de attributentabel van de doellaag als gekoppelde informatie. Als u een subset van velden specificeerde worden alleen die velden weergegeven in de attributentabel van de doellaag.

QGIS heeft momenteel ondersteuning voor het koppelen van niet-ruimtelijke tabelindelingen die worden ondersteund door OGR (bijv., CSV, DBF en Excel), gescheiden tekst en de provider PostgreSQL (zie figure_joins_1).

Figure Joins 1:

../../../_images/join_attributes.png

Een attributentabel koppelen aan een bestaande vectorlaag nix

Aanvullend stelt het dialoogvenster Vectorkoppeling toevoegen u in staat om:

  • checkbox Koppellaag in virtueel geheugen ‘cachen’

  • checkbox Attribuutindex aanmaken op het koppelveld

  • checkbox Kies welke velden zijn samengevoegd

  • Maak een checkbox Aangepast voorvoegsel veldnaam

Het tabblad Diagrammen

diagram Met het tabblad Diagrammen kunt u diagrammen in uw vectorlaag plaatsen (zie figure_diagrams_1).

De huidige bron-implementatie voor diagrammen verschaffen ondersteuning voor taartdiagrammen, tekstdiagrammen en histogrammen.

Het menu is opgedeeld in vier tabs: Uiterlijk, Grootte, Postie en Opties.

In de gevallen van tekstdiagram en taartdiagram worden de tekstwaarden van verschillende gegevenskolommen onder elkaar getoond met een cirkel of een vierkant en scheidingen. Op de tab Grootte is de grootte van diagrammen gebaseerd op een vaste grootte of een lineaire schaal die overeenkomt met een attribuut voor classificatie. Het plaatsen van diagrammen, wat wordt gedaan op de tab Positie, werkt samen met de nieuwe manier van labels plaatsen, dus conflicten tussen de positie van het diagram en het label worden onderkend en opgelost. Daarnaast kunnen posities van het diagram later handmatig worden gerepareerd.

Figure Diagrams 1:

../../../_images/diagram_tab.png

Vector eigenschappen dialoog met diagram menu nix

We zullen een voorbeeld geven waarbij we in de Alaska boundary-laag een tekstdiagram weergeven met temperatuurgegevens uit een klimaat vectorlaag. Beide vectorlagen zijn onderdeel van de voorbeeld gegevensset van QGIS (zie Voorbeeldgegevens).

  1. Klik eerst op het pictogram mActionAddOgrLayer Vectorlaag toevoegen, ga naar de map waarin zich de voorbeeld gegevensset van QGIS bevindt en laad de twee shapefiles alaska.shp en climate.shp.

  2. Dubbelklik op de laag climate in de kaartlegenda waarna het menu Laag Eigenschappen opent.

  3. Klik op het menu Diagrammen, activeer Diagrammen tonen en selecteer uit het combinatievak Diagram type selectstring Tekstdiagram als Diagram type.

  4. In de tab Uiterlijk kiezen we een lichtblauw als achtergrondkleur en in de tab Grootte stellen we een vaste grootte in van 18 mm.

  5. In de tab Positie, kan Plaatsing worden ingesteld op ‘Rondom Punt’.

  6. In het diagram willen we de waarden van de eerste drie kolommen tonen. T_F_JAN, T_F_JUL en T_F_MEAN. Selecteer eerst T_F_JAN als Attribuut en klik op de groene knop mActionSignPlus, daarna T_F_JUL en tenslotte T_F_MEAN.

  7. Druk nu op de knop [Apply] om de diagrammen te tonen in het kaartvenster van QGIS.

  8. U kunt de grootte van het diagram aanpassen in de tab Grootte. Deactiveer het keuzevak checkbox Vast formaat en stel de grootte van de diagrammen in op basis van een attribuut met de knop [Vind de maximum waarde] en het menu Grootte. Als het diagram op het scherm te klein lijkt te zijn, kunt u het keuzevak checkbox Vergroot kleine diagrammen activeren en de minimale grootte van de diagrammen definiëren.

  9. Wijzig de kleuren voor de attributen door dubbel te klikken op de kleurwaarden in het veld Toegekende attributen. Figure_diagrams_2 geeft een indruk van het resultaat.

  10. Klik tenslotte op [Ok].

Figure Diagrams 2:

../../../_images/climate_diagram.png

Een cirkeldiagram met gegevens over temperaturen geprojecteerd op een kaart nix

Onthoud dat op de tab Positie, een checkbox Data-bepaalde positie van de diagrammen mogelijk is. Hier kunt u attributen gebruiken om de positie van het diagram te definiëren. U kunt ook een schaalafhankelijke zichtbaarheid instellen op de tab Uiterlijk.

De grootte en de attributen mogen ook een expressie zijn. Gebruik de knop mActionmIconExpressionEditorOpen om een expressie toe te voegen. Bekijk het hoofdstuk Expressies voor meer informatie en voorbeelden.

Tabblad Metadata

metadata Het menu Metadata bestaat uit de gedeelten Omschrijving, Naamsvermelding, MetadataURL en Eigenschappen.

In het gedeelte Eigenschappen krijgt u algemene informatie over de laag, inclusief specificaties over het type en locatie, aantal objecten, type objecten en mogelijkheden voor bewerking. De tabel Extent geeft u informatie over het bereik van de kaart en onder Ruimtelijk Referentie Systeem vindt u informatie over welk coördinatensysteem is gebruikt voor de laag. Dit is een snelle manier om informatie te vinden over een laag.

Aanvullend kunt u een titel en korte inhoud toevoegen of bewerken voor de laag in het gedeelte Omschrijving. Het is ook mogelijk om hier een Sleutelwoordenlijst te definiëren. Deze sleutelwoordenlijst kan worden gebruikt in een catalogus voor metadata. Als u een titel wilt gebruiken uit een XML- metadatabestand, moet u de link invullen in het veld DataUrl. Gebruik Naamsvermelding om gegevens van attributen uit een catalogus met XML-metadata te halen. In MetadataUrl kunt u het algemene pad definiëren naar de catalogus met de XML-metadata. Deze informatie zal worden opgeslagen in het projectbestand van QGIS voor volgende sessies en zal worden gebruikt voor de server van QGIS.

Figure Metadata 1:

../../../_images/vector_metadata_tab.png

Het menu Metadata in het eigenschappen dialoog voor vectorlagen nix