14.1. Het dialoogvenster Vectoreigenschappen

Het dialoogvenster Laageigenschappen voor een vectorlaag verschaft algemene instellingen om het uiterlijk van objecten van de kaart op de laag te beheren (symbologie, labels, diagrammen), interactie met de muis (acties, kaarttips, ontwerpen van formulieren). Het verschaft ook informatie over de laag.

Toegang tot het dialoogvenster Laag-eigenschappen:

  • In het paneel Lagen, dubbelklik op de laag of klik met rechts en selecteer Eigenschappen… uit het contextmenu;

  • Ga naar menu Kaartlagen ► Laageigenschappen… als de laag is geselecteerd.

Het vector dialoogvenster Laageigenschappen verschaft de volgende gedeelten:

metadata Informatie

system Bron

symbology Symbologie[1]

labeling Labels[1]

labelmask Maskers[1]

3d 3D-weergave[1]

diagram Diagrammen

sourceFields Velden

formView Formulier Attributen

join Koppelingen

auxiliaryStorage Hulpopslag

action Acties

display Tonen

rendering Rendering

temporal Tijdbeheer

expression Variabelen

editMetadata Metadata

dependencies Afhankelijkheden

legend Legenda

overlay QGIS Server

digitizing Digitaliseren

tabs Externe plug-ins[2]

[1] Ook beschikbaar in het paneel Laag opmaken

[2] Externe plug-ins die u installeert kunnen optioneel tabs toevoegen aan dit dialoogvenster. Deze worden niet weergegeven in dit document. Bekijk hun documentatie.

Tip

Volledige of gedeeltelijke eigenschappen van de laagstijlen delen

Het menu Stijl aan de onderzijde van het dialoogvenster stelt u in staat deze of delen van deze eigenschappen te importeren of te exporteren uit/naar verschillende doelen (bestand, klembord, database). Bekijk Aangepaste stijlen beheren.

Notitie

Omdat eigenschappen (symbologie, label, acties, standaardwaarden, formulieren…) van ingebedde lagen (zie Projecten in een project) uit het originele projectbestand worden opgehaald en om wijzigingen die dit gedrag zouden kunnen beschadigen te vermijden, is het dialoogvenster Laageigenschappen voor deze lagen niet beschikbaar gemaakt.

14.1.1. Eigenschappen Informatie

metadata De tab Informatie is alleen-lezen en is een interessante plek om snel wat overzichtsinformatie en metadata voor de huidige laag op te pakken. Verschafte informatie is:

  • gebaseerd op de provider van de laag (indeling van opslag, pad, type geometrie, codering gegevensbron, bereik…);

  • genomen uit de gevulde metadata (toegang, links, contacten, geschiedenis…);

  • of gerelateerd aan de geometrie ervan (ruimtelijk bereik, CRS…) of de attributen (aantal velden, karakteristieken van elk…).

14.1.2. Eigenschappen Bron

system Gebruik deze tab om algemene instellingen voor de vectorlaag te definiëren.

../../../_images/vector_source_menu.png

Fig. 14.1 Tab Bron in dialoogvenster Laageigenschappen

Naast het instellen van Laagnaam om weer te geven in het paneel Lagen, omvatten de beschikbare opties:

14.1.2.1. Coördinaten Referentie Systeem

  • Geeft het Coördinaten ReferentieSysteem (CRS) van de laag weer. U kunt het CRS van de laag wijzigen, een recent gebruikte kiezen uit de keuzelijst of klikken op de knop setProjection CRS selecteren (bekijk Keuze Coördinaten ReferentieSysteem). Gebruik dit proces alleen als het op de laag toegepaste CRS verkeerd is of als er geen werd gespecificeerd. Als u uw gegevens opnieuw wilt projecteren, gebruik dan een algoritme voor opnieuw projecteren uit Processing of Sla het op als een nieuwe gegevensset.

  • Ruimtelijke index maken (alleen voor door OGR ondersteunde indelingen).

  • Bereiken vernieuwen informatie voor een laag.

14.1.2.2. Querybouwer

Het dialoogvenster Querybouwer is toegankelijk met de knop voor het eponiem aan de onderzijde van de tab Bron in het dialoogvenster Laag-eigenschappen, in de groep Provider objectfilter.

De Querybouwer verschaft een interface die u de mogelijkheid geeft om een subset van de objecten in de laag te definiëren met behulp van een SQL-achtige clausule WHERE en het resultaat te tonen in het hoofdscherm. Zolang de query actief is zijn alleen de resultaten die overeenkomen met het resultaat ervan beschikbaar in het project.

U kunt één of meer laagattributen gebruiken om het filter in de Querybouwer te definiëren. Gebruiken van meer dan één attribuut wordt weergegeven in Fig. 14.2. In het voorbeeld combineert het filter de attributen

  • toa (DateTime-veld: cast("toa" as character) > '2017-05-17' and cast("toa" as character) < '2019-12-24T18:00:00'),

  • name (String-veld: "name" > 'S') en

  • FID (Integer-veld: FID > 10)

met behulp van de operatoren AND, OR en NOT en haakjes. Deze syntaxis (inclusief de indeling DateTime voor het veld toa) werken voor gegevenssets van GeoPackage.

Het filter is gemaakt op het niveau van de gegevensprovider (OGR, PostgreSQL, MSSQL…). Dus is de syntaxis afhankelijk van de gegevensprovider (DateTime wordt bijvoorbeeld niet ondersteund voor de indeling ESRI Shapefile). De volledige expressie:

cast("toa" as character) > '2017-05-17' AND
cast("toa" as character) < '2019-12-24T18:00:00' AND
NOT ("name" > 'S' OR FID > 10)
../../../_images/queryBuilder.png

Fig. 14.2 Querybouwer

U kunt het dialoogvenster Querybouwer ook openen met de optie Filteren… uit het menu Kaartlagen of het contextmenu van de laag. De gedeelten Velden, Waarden en Operatoren in het dialoogvenster helpen u de SQL-achtige query te construeren die wordt weergegeven in het vak Provider-specifieke filter-expressie.

De lijst Velden bevat alle velden van de laag. Dubbelklik op de naam in de lijst van veldnamen om een veld met attributen toe te voegen aan het invoergedeelte van de clausule SQL WHERE of typ het direct in het vak voor de SQL.

Het frame Waarden vermeldt alle waarden van het momenteel geselecteerde veld. Klik op de knop Alles om alle unieke waarden van een veld te vermelden. Klik op de knop Voorbeeld om in plaats daarvan de eerste 25 unieke waarden van de kolom te zien. Dubbelklik op een naam in de lijst Waarden om een waarde toe te voegen aan het veld voor de clausule SQL WHERE. U kunt het zoekvak aan de bovenzijde van het frame Waarden gebruiken om gemakkelijk naar waarden voor attributen in de lijst te zoeken en te bladeren.

Het gedeelte Operatoren bevat alle operatoren die gebruikt kunnen worden. Druk op de bijbehorende knop om een operator toe te voegen aan het vak voor de clausule SQL WHERE. Beschikbaar zijn relationele operatoren ( = , > , …), de tekstvergelijkingsoperator (LIKE) en logische operatoren (AND, OR, …).

De knop Test helpt u uw query te controleren en een bericht weer te geven met het aantal objecten dat aan de huidige query voldoet. Gebruik de knop Leegmaken om de SQL-query te verwijderen en de laag terug te brengen naar zijn originele staat (d.i, volledig alle objecten laden).

Wanneer een filter wordt toegepast behandelt QGIS de resulterende subset als was het de gehele laag. Als u bijvoorbeeld het filter hierboven toepaste op ‘Borough’ ("TYPE_2" = 'Borough'), kunt u Anchorage niet weergeven, bevragen, opslaan of bewerken, omdat het een ‘Municipality’ is en daarom geen deel uitmaakt van de subset.

Tip

Gefilterde lagen worden aangegeven in het paneel Lagen

In het paneel Lagen wordt een gefilterde laag vermeld met een pictogram indicatorFilter Filter ernaast om de gebruikte query aan te geven als de muis over de knop gaat. Dubbelklikken op het pictogram opent het dialoogvenster Querybouwer om te bewerken.

14.1.3. Eigenschappen Symbologie

symbology De tab Symbologie geeft toegang tot een uitgebreid gereedschap voor renderen en toevoegen van symbologie aan uw vectorgegevens. U kunt gereedschappen gebruiken die veel voorkomend zijn voor vectorgegevens als ook speciale gereedschappen voor digitaliseren die speciaal werden ontworpen voor de verschillende soorten vectorgegevens. Alle typen delen echter dezelfde structuur van het dialoogvenster: in het bovenste gedeelte staat een widget dat u helpt bij het voorbereiden van de classificatie en het te gebruiken symbool voor objecten en onderin de widget Renderen van lagen.

Tip

Snel tussen verschillende weergaven van lagen schakelen

Met het menu Stijl ► Toevoegen onderin het dialoogvenster Laageigenschappen kunt u net zoveel stijlen opslaan als u nodig hebt. Een stijl is de combinatie van alle eigenschappen van een laag (zoals symbologie, labels, diagram, formulier met velden, acties…). Dan kunt u eenvoudigweg schakelen tussen de stijlen in het contextmenu van de laag in het paneel Lagen om automatisch verschillende weergaven van uw gegevens te krijgen.

Tip

Vectorsymbologie exporteren

U heeft de optie om vectorsymbologie vanuit QGIS te exporteren naar Google *.kml-, *.dxf- en MapInfo *.tab-bestanden. Open eenvoudigweg het contextmenu van de laag en klik op 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.

14.1.3.1. Objecten renderen

De renderer is verantwoordelijk voor het tekenen van een object tezamen met het juiste symbool. Ongeacht het type geometrie van de laag zijn er vier algemene typen renderers: Enkel symbool, Categorieën, Gradueel en Op regel gebaseerd. Voor puntlagen zijn renderers voor verplaatsing van punten en een heatmap beschikbaar, terwijl polygoonlagen ook kunnen worden gerenderd met de geïnverteerde polygonen en 2.5D-renderers.

Er is geen renderer voor doorlopende kleuren 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 elk gegevenstype (punten, lijnen en polygonen) zijn typen vector symboollaag beschikbaar. Afhankelijk van de gekozen renderer geeft het dialoogvenster verschillende aanvullende gedeelten.

Notitie

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.

14.1.3.1.1. Renderer Enkel symbool

De renderer singleSymbol Enkel symbool wordt gebruikt om alle objecten van de laag te renderen met behulp van één enkel gebruikergedefinieerd symbool. Bekijk Symbool selecteren voor meer informatie over weergave van symbolen.

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

Fig. 14.3 Eigenschappen van Enkel symbool lijn

14.1.3.1.2. Renderer Geen symbolen

De renderer nullSymbol Geen symbolen is een speciaal geval van gebruik van de renderer Enkel symbool dat dezelfde rendering toepast op alle objecten. Met deze renderer zal geen symbool worden getekend voor objecten, maar labels, diagrammen en andere delen zonder symbool zullen nog steeds worden getoond.

Selecties kunnen nog steeds worden gemaakt in de laag in het kaartvenster en geselecteerde objecten zullen worden gerenderd met een standaardsymbool. Objecten die worden bewerkt zullen ook worden weergegeven.

Dit is bedoeld als een handige sneltoets voor lagen waarin u alleen de labels of diagrammen weer wilt geven, en voorkomt dat symbolen moeten worden gerenderd met volledig transparante vulling/rand om dit te bereiken.

14.1.3.1.3. Renderer Categorieën

De renderer categorizedSymbol Categorieën wordt gebruikt om objecten van een laag te renderen met een door de gebruiker gedefinieerd symbool, waarvan de ligging de afzonderlijke waarden van een veld of een expressie reflecteert.

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

Fig. 14.4 Categorieën - opties voor symbologie

Symbologie Categorieën gebruiken voor een laag:

  1. Selecteer de Waarde voor het classificeren: het mag een bestaand veld zijn of een expressie die u kunt typen in het vak of kunt bouwen met de geassocieerde knop expression. Expressies gebruiken voor categoriseren vermijdt de noodzaak voor het maken van een ad hoc-veld voor symbologiedoeleinden (bijv. als uw criteria voor classificeren zijn afgeleid van één of meer attributen).

    De expressie die wordt gebruikt voor het classificeren van objecten mag van elk type zijn; bijv. het kan:

    • een vergelijking zijn. In dit geval geeft QGIS waarden 1 (True) en 0 (False) terug. Enkele voorbeelden:

      myfield >= 100
      $id = @atlas_featureid
      myfield % 2 = 0
      within( $geometry, @atlas_geometry )
      
    • verschillende velden combineren:

      concat( field_1, ' ', field_2 )
      
    • een berekening op velden zijn:

      myfield % 2
      year( myfield )
      field_1 + field_2
      substr( field_1, -3 )
      
    • worden gebruikt om lineaire waarden te transformeren naar afzonderlijke klassen, bijv.:

      CASE WHEN x > 1000 THEN 'Big' ELSE 'Small' END
      
    • verscheidene afzonderlijke waarden combineren tot één enkele categorie, bijv.:

      CASE
      WHEN building IN ('residence', 'mobile home') THEN 'residential'
      WHEN building IN ('commercial', 'industrial') THEN 'Commercial and Industrial'
      END
      

    Tip

    Hoewel u elk soort expressie kunt gebruiken om objecten in categorieën te plaatsen, kan het voor sommige complexe expressies eenvoudiger zijn om Regel-gebaseerd renderen te gebruiken.

  2. Configureer het Symbool, dat zal worden gebruikt als basissymbool voor alle klassen;

  3. Geef het Kleurverloop aan, d.i. het bereik van kleuren waaruit de kleur, die wordt toegepast op elk symbool, wordt geselecteerd.

    Naast de algemene opties van de widget Kleurverloop, kunt u een unchecked Willekeurig kleurverloop toepassen op de categorieën. U kunt klikken op het item Willekeurig kleurverloop wisselen om opnieuw een nieuwe set willekeurige kleuren te maken, als u niet tevreden bent.

  4. Klik dan op de knop Classificeren om klassen te maken uit de afzonderlijke waarden van het opgegeven veld of expressie.

  5. Apply de wijzigingen als Live bijwerken niet in gebruik is en elk object in het kaartvenster zal worden gerenderd met het symbool van zijn klasse.

    Standaard voegt QGIS een klasse alle andere waarden toe aan de lijst. Hoewel leeg in het begin wordt deze klasse gebruikt als een standaardklasse voor elk object dat niet valt in een van de andere klassen (bijv. als u objecten maakt met nieuwe waarden voor het veld voor classificeren / de expressie).

Meer aanpassingen kunnen worden gemaakt aan de standaardclassificatie:

  • U kunt nieuwe categorieën signPlus Toevoegen, geselecteerde categorieën signMinus Verwijderen of Alles verwijderen.

  • Een klasse kan worden uitgeschakeld door het keuzevak aan de linkerkant van de naam van de klasse te deselecteren; de corresponderende objecten worden op de kaart verborgen.

  • De rijen slepen-en-neerzetten om de volgorde van de klassen te wijzigen

  • Dubbelklik op een item om het symbool, de waarde of de legenda van een klasse te wijzigen.

Klikken met rechts boven geselecteerd(e) item(s) geeft een contextmenu weer voor:

  • Symbool kopiëren en Symbool plakken, een handige manier om de weergave van een item op andere toe te passen

  • Kleur wijzigen… van de geselecteerde symbolen

  • Doorzicht wijzigen… van de geselecteerde symbolen

  • Uitvoereenheid wijzigen… van de/het geselecteerde symbo(o)l(en)

  • Grootte wijzigen… van de geselecteerde symbolen

  • Grootte wijzigen… van de/het geselecteerde puntsymbo(o)l(en)

  • Hoek wijzigen… van de/het geselecteerde puntsymbo(o)l(en)

  • Categorieën samenvoegen: Groepeert meerdere geselecteerde categorieën naar één enkele. Dit maakt het eenvoudiger opmaken van lagen met een groot aantal categorieën mogelijk, waar het mogelijk zou kunnen zijn een aantal afzonderlijke categorieën te groeperen naar een kleinere en beter beheersbaarder set van categorieën, die van toepassing zijn voor meerdere waarden.

    Tip

    Omdat het behouden symbool voor de samengevoegde categorieën dat van de bovenste geselecteerde categorie in de lijst is, wilt u misschien de categorie, waarvan u het symbool opnieuw wilt gebruiken, voor het samenvoegen verplaatsen naar de bovenste positie.

  • Categorieën losmaken die eerder werden samengevoegd

Het menu Geavanceerd geeft toegang tot opties om het classificeren te versnellen of het renderen van de symbolen fijn af te stemmen:

  • Overeenkomst met opgeslagen symbolen: Gebruiken van de symbolenbibliotheek wijst aan elke categorie een symbool toe, waarvan de naam de waarde van de classificatie van de categorie weergeeft

  • Overeenkomst met symbolen uit bestand…: Gegeven een bestand met symbolen, wijst aan elke categorie een symbool toe, waarvan de naam de waarde van de classificatie van de categorie weregeeft

  • Symboollagen… om de volgorde van het renderen van de symbolen te definiëren.

Tip

Categorieën direct in het paneel Lagen bewerken

Wanneer de symbologie van een laag is gebaseerd op een modus voor symbologie Categoriëen, Gradueel of Regel-gebaseerd, kunt u elk van de categorieën bewerken vanuit het paneel Lagen. Klik met rechts op een sub-item van de laag en u kunt:

  • toggleAllLayers Items schakelen voor zichtbaarheid

  • showAllLayers Alle items weergeven

  • hideAllLayers Alle items verbergen

  • De kleur van het symbool aanpassen met het wiel Kleur selecteren

  • Symbool bewerken…: vanuit het dialoogvenster voor Symbool selecteren

  • Symbool kopiëren

  • Symbool plakken

14.1.3.1.4. Renderer Gradueel

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

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 het u in staat om te selecteren:

  • De waarde (gebruik het lijstvak met velden of de functie expression Waarde met expressie instellen)

  • Het symbool (met het dialoogvenster Symbool selecteren )

  • De indeling van de legenda en de precisie

  • De te gebruiken methode voor het wijzigen van het symbool: kleur of grootte

  • De kleuren (met behulp van het lijstvak Kleurenbalk) als de methode voor de kleur is geselecteerd

  • De grootte (met behulp van het domein grootte en de eenheid daarvan)

Dan kunt u de tab Histogram gebruiken die een interactief histogram van de waarden uit het toegewezen veld of expressie weergeeft. Afbrekingen van klassen kunnen met behulp van de widget Histogram worden verplaatst of toegevoegd.

Notitie

U kunt een paneel Statistisch overzicht gebruiken om meer informatie te krijgen over uw vectorlaag. Bekijk Paneel Statistisch overzicht.

Terug op de tab Klassen 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:

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

  • Gelijke interval: elke klasse zal dezelfde grootte hebben (bijv. waarden van 1 tot en met 16 en vier klassen, elke klasse zal een grootte van vier hebben).

  • Logaritmische schaal: geschikt voor gegevens met een breed bereik aan waarden. Smalle klassen voor lage waarden en brede klassen voor grote waarden (bijv. voor decimale getallen met bereik [0..100] en twee klassen, zal de eerste klasse zijn van 0 tot en met 10 en de tweede klasse van 10 tot en met 100).

  • Natuurlijke grenzen (Jenks): de variantie binnen elke klasse is geminimaliseerd, terwijl de variantie tussen de klassen gemaximaliseerd is.

  • Mooie grenzen: berekent een reeks van ongeveer n+1 gelijk geplaatste nette waarden die het bereik bedekken van de waarden in x. De waarden worden zo gekozen dat zij 1, 2 of 5 keer een macht van 10 zijn. (gebaseerd op pretty uit de statistische omgeving R https://www.rdocumentation.org/packages/base/topics/pretty)

  • Standaardafwijking: klassen worden afhankelijk van de standaardafwijking van de waarden opgebouwd.

De lijst in het middelste deel van de tab Symbologie 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.

Dubbelklik eenvoudigweg op het item dat u wilt wijzigen om het symbool, waarde en/of label van de klasse te wijzigen.

Klikken met rechts boven geselecteerd(e) item(s) geeft een contextmenu weer voor:

  • Symbool kopiëren en Symbool plakken, een handige manier om de weergave van een item op andere toe te passen

  • Kleur wijzigen… van de geselecteerde symbolen

  • Doorzicht wijzigen… van de geselecteerde symbolen

  • Uitvoereenheid wijzigen… van de/het geselecteerde symbo(o)l(en)

  • Grootte wijzigen… van de geselecteerde symbolen

  • Grootte wijzigen… van de/het geselecteerde puntsymbo(o)l(en)

  • Hoek wijzigen… van de/het geselecteerde puntsymbo(o)l(en)

Het voorbeeld in Fig. 14.5 geeft het dialoogvenster voor Gradueel renderen weer voor de laag major_rivers van de voorbeeld gegevensset van QGIS.

../../../_images/graduatedsymbol_ng_line.png

Fig. 14.5 Gradueel - opties voor symbologie

Tip

Thematische kaarten met behulp van een uitdrukking

Thematische kaarten van Categorieën en Gradueel kunnen 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 expression Expressie voor kolom instellen. U hoeft dus niet langer 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.

14.1.3.1.5. Proportionele symbool en multivariatie analyse

Proportionele symbool en multivariatie analyse zijn geen beschikbare typen voor renderen uit de keuzelijst voor renderen van Symbologie. Echter, met de opties data-bepaalde ‘override’ toegepast voor een van de eerdere opties voor renderen, stelt QGIS u in staat uw punt- en lijngegevens in een dergelijke weergave weer te geven.

Een proportioneel symbool maken

Een proportionele rendering toepassen:

  1. Pas op de laag eerst de renderer Enkel symbool toe.

  2. Stel dan het symbool in om toe te passen op de objecten.

  3. Selecteer het item van het bovenste niveau van de boom met symbolen, en gebruik de knop dataDefined Data-bepaalde ‘override’ naast de opties Grootte voor puntlaag) of Breedte (voor lijnlaag).

  4. Selecteer een veld of voer een expressie in, en QGIS zal voor elk object de waarde voor de uitvoer toepassen op de eigenschap en het symbool proportioneel op grootte brengen in het kaartvenster.

    Als het nodig is, gebruik dan de optie Assistent Grootte… van het menu dataDefined om enige transformatie (exponentieel, Flannery…) toe te passen op het opnieuw schalen van het symbool (bekijk Interface Assistent Data-gedefinieerde override gebruiken voor meer details).

U kunt er voor kiezen om de proportionele symbolen weer te geven in het paneel Lagen en de items voor legenda van afdruklay-out: vouw de keuzelijst Geavanceerd aan de onderzijde van het dialoogvenster van de tab Symbologie uit en selecteer Data-bepaalde grootte legenda… om de items voor de legenda te configureren (bekijk Data-bepaalde grootte legenda voor details).

../../../_images/proportional_symbols.png

Fig. 14.6 Op schaal brengen van de grootte van airports, gebaseerd op de hoogte van het vliegveld

Multivariate analyse instellen

Renderen als multivariate analyse helpt u de relatie te evalueren tussen twee of meer variabelen, bijv. één kan worden weergegeven door een kleurenbalk terwijl de andere wordt weergegeven door een grootte.

De eenvoudigste manier om multivariate analyse te maken in QGIS is om:

  1. Eerst een rendering Categorieën of Gradueel toe te passen op een laag, met hetzelfde type symbool voor alle klassen.

  2. Dan, een proportionele symbologie op de klassen toe te passen:

    1. Klik op de knop Wijzigen boven het frame voor classificeren: u krijgt het dialoogvenster Symbool selecteren.

    2. Breng de grootte of breedte van de symboollaag opnieuw op schaal met de widget dataDefined data-bepaalde ‘override’ zoals hierboven.

Net als het proportionele symbool, wordt het aan de grootte gerelateerde symbool toegevoegd aan de boom van lagen, boven op de symboolklassen Categorieën of Gradueel met de mogelijkheid data-bepaalde grootte legenda. En beide weergaven zijn ook beschikbaar in het item Legenda van afdruklay-out.

../../../_images/multivariate_example.png

Fig. 14.7 Voorbeeld multivariatie met geschaalde grootte Legenda

14.1.3.1.6. Renderer Regel-gebaseerd

De renderer ruleBasedSymbol 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 en mogen worden genest. 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.

Een regel maken:

  1. Activeer een bestaande regel door er op te dubbelklikken (standaard voegt QGIS een symbool zonder een regel toe als de modus Renderen is ingeschakeld) of klik op de knoppen projectProperties Huidige regel bewerken of signPlus Regel toevoegen.

  2. In het dialoogvenster Regel bewerken dat opent, kunt u een label definiëren om u te helpen elke regel te identificeren. Dit is het label dat zal worden weergegeven in het paneel Lagen en ook in de legenda van afdruklay-out.

  3. Voer handmatig een expressie in in het tekstvak naast de optie radioButtonOn Filter, of druk op de knop expression ernaast, om het dialoogvenster voor de Expressie-string bouwer te openen.

  4. Gebruik de verschafte functies en attributen van de laag om een expressie te bouwen om de objecten te filteren die u zou willen ophalen. Druk op de knop Test om het resultaat van de query te controleren.

  5. U kunt een langer label invoeren om de beschrijving van de regel te voltooien.

  6. U kunt de optie checkbox Schaal waarden gebruiken om schalen in te stellen waarop de regel zou moeten worden toegepast.

  7. Configureer tenslotte het te gebruiken symbool voor deze objecten.

  8. En druk op OK.

Een nieuwe regel die de regel samenvat wordt toegevoegd aan het dialoogvenster Laageigenschappen. U kunt net zoveel regels maken als nodig is door de voorgaande stappen te volgen of een bestaande regel te kopiëren en te plakken. Slepen-en-neerzetten van de regels bovenop elkaar om ze te nesten en de objecten van de bovenste objecten te verfijnen in subklassen.

Door een regel te selecteren kunt u ook de objecten ervan in subklassen organiseren door het keuzemenu Geselecteerde regels verfijnen. Geautomatiseerde verfijning van regels mag zijn gebaseerd op:

Verfijnde klassen verschijnen als sub-items van de regel, in een boomhiërarchie en, zoals hierboven, kunt u de symbologie voor elke klasse instellen.

In het dialoogvenster Regel bewerken kunt u het schrijven van al die regels vermijden door gebruik te maken van de optie radioButtonOff Anders om alle objecten te vangen die niet voldoen aan een van de andere regels op hetzelfde niveau. Dit kan ook worden bereikt door Else te schrijven in de kolom Regel van het dialoogvenster Laageigenschappen ► Symbologie ► Regel-gebaseerd.

Klikken met rechts boven geselecteerd(e) item(s) geeft een contextmenu weer voor:

  • Kopiëren en Plakken, een handige manier om nieuwe item(s) te maken, gebaseerd op bestaande item(s)

  • Symbool kopiëren en Symbool plakken, een handige manier om de weergave van een item op andere toe te passen

  • Kleur wijzigen… van de geselecteerde symbolen

  • Doorzicht wijzigen… van de geselecteerde symbolen

  • Uitvoereenheid wijzigen… van de/het geselecteerde symbo(o)l(en)

  • Grootte wijzigen… van de geselecteerde symbolen

  • Grootte wijzigen… van de/het geselecteerde puntsymbo(o)l(en)

  • Hoek wijzigen… van de/het geselecteerde puntsymbo(o)l(en)

  • Huidige regel verfijnen: opent een submenu dat het mogelijk maakt de huidige regel te verfijnen met schalen, categorieën (renderer Categorie) of Bereiken (renderer Gradueel).

De gemaakte regels verschijnen ook in een bomhiërarchie in de legenda van de kaart. Dubbelklikken op de regels in de legenda van de kaart of de tab Symbologie van de Laageigenschappen geeft de regel weer die de achtergrond is voor het symbool in de boom.

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

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

Fig. 14.8 Opties voor Regel-gebaseerde symbologie

14.1.3.1.7. Renderer Puntverplaatsing

De renderer pointDisplacementSymbol Puntverplaatsing werkt om alle objecten in een puntenlaag te visualiseren, zelfs als zij dezelfde locatie hebben. De renderer neemt, om dit te doen, de punten die binnen een opgegeven tolerantie Afstand vallen van elkaar en plaatst ze rondom hun massacentrum aan de hand van verschillende Methode plaatsing:

  • Ring: plaatst alle objecten op een cirkel waarvan de straal afhankelijk is van het aantal weer te geven objecten.

  • Concentrische ringen: gebruikt een set concentrische cirkels om de objecten weer te geven.

  • Raster: maakt een regelmatig raster met een puntsymbool op elke kruising.

De widget Midden symbool helpt u het symbool en kleur van het middelpunt aan te passen. Voor de verdeelde puntsymbolen kunt u elk van de renderers Geen symbolen, Enkel symbool, Categorieën, Gradueel of Regel-gebaseerd toepassen met de keuzelijst Renderer en ze aanpassen met de knop Instellingen renderer….

Waar de minimale afstand van de Verplaatsingslijnen afhankelijk is van de renderer van het puntsymbool kunt u nog steeds enkele van de instellingen aanpassen, zoals de Lijndikte, Lijnkleur en Grootte aanpassen (bijv, om meer afstand tussen de gerenderde punten toe te voegen).

Gebruik de opties van de groep Labels om labelen voor de punten uit te voeren: de labels worden geplaatst nabij de verplaatste positie van het symbool, en niet op de echte positie van het object. Naast Attribuut van label, Label lettertype en Labelkleur, kunt u de Minimale schaal kaart instellen om de labels weer te geven.

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

Fig. 14.9 Dialoogvenster Puntverplaatsing

Notitie

De renderer Puntverplaatsing verandert niet de geometrie van de objecten, wat betekent dat de punten niet van hun positie worden verplaatst. Zij zijn nog steeds geplaatst op hun initiële plaats. Wijzigingen zijn alleen visueel, voor het doel renderen. Gebruik in plaats daarvan het algoritme van Processing Punten verplaatsen als u verplaatste objecten wilt maken.

14.1.3.1.8. Renderer Cluster punten

Anders dan de renderer pointDisplacementSymbol Puntverplaatsing die de plaatsing van overgelegde of nabije punten opblaast, groepeert de renderer pointClusterSymbol Cluster punten nabije punten naar één enkel gerenderd markeringssymbool. Gebaseerd op een gespecificeerde Afstand worden punten, die vallen binnen elkaars afstand, samengevoegd tot één enkel symbool. Bij elkaar voegen van punten is gebaseerd op de dichtstbijzijnde gevormde groep, in plaats van ze gewoon toe te wijzen aan de eerste groep binnen de zoekafstand.

Vanuit het hoofddialoogvenster kunt u:

  • het symbool instellen om de cluster punten weer te geven in Symbool voor cluster; de standaardrendering geeft het aantal samengevoegde objecten weer door de variabele @cluster_size op de symboollaag Lettertypemarkering.

  • de keuzelijst Renderer gebruiken om een van de andere type rendering voor objecten toe te passen op de laag (Enkel, Categorieën, Regel-gebaseerd…). Druk dan op de knop Instellingen renderer… om de symbologie voor de objecten in te stellen zoals gewoonlijk. Onthoud dat deze renderer alleen zichtbaar is voor objecten die niet zijn geclusterd. Ook, als de symboolkleur hetzelfde is voor alle puntobjecten in een cluster, stelt die kleur de variabele @cluster_color voor de cluster in.

../../../_images/cluster_symbol.png

Fig. 14.10 Dialoogvenster Cluster punten

Notitie

De renderer Cluster punten verandert niet de geometrie van de objecten, wat betekent dat de punten niet van hun positie worden verplaatst. Zij zijn nog steeds geplaatst op hun initiële plaats. Wijzigingen zijn alleen visueel, voor het doel renderen. Gebruik in plaats daarvan de algoritmen van Processing Clusteren K-gemiddelde of DBSCAN clusteren als u op clusters gebaseerde objecten wilt maken.

14.1.3.1.9. Renderer Geïnverteerde polygonen

De renderer invertedSymbol 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 hierboven kunt u subrenderers selecteren, namelijk Enkel symbool, Gradueel, Categorieën, Regel-gebaseerd of de 2.5D renderer.

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

Fig. 14.11 Dialoogvenster Geïnverteerde polygonen

14.1.3.1.10. Renderer Heatmap

Met de renderer heatmapSymbol Heatmap kunt u live dynamische heatmaps maken voor (multi)puntlagen. U kunt de radius voor de heatmap specificeren in millimeters, punten, pixels, kaarteenheden of inches, een kleurenbalk kiezen voor de stijl van de heatmap en een schuifbalk gebruiken voor het selecteren van een verhouding tussen snelheid van renderen en kwaliteit. U kunt ook een grens voor de maximale waarde definiëren en een gewicht aan punten geven met behulp van een veld of een expressie. Wanneer een object wordt toegevoegd of verwijderd werkt de renderer voor de heatmap de stijl voor de heatmap automatisch bij.

../../../_images/heatmap_symbol.png

Fig. 14.12 Dialoogvenster Heatmap

14.1.3.1.11. 2.5D-renderer

Met behulp van de renderer 25dSymbol 2.5D is het mogelijk om een 2.5D-effect op de objecten van uw lagen toe te passen. U begint door een waarde Hoogte te kiezen (in kaarteenheden). Daarvoor kunt u een vaste waarde gebruiken, één of meer velden uit uw laag, of een expressie. U dient ook een Hoek (in graden) te kiezen om de positie van het kijken opnieuw te bepalen (0° betekent West, groeiend tegen de klok in). Gebruik gevorderde opties voor configuratie om de Kleur dak en Kleur muur in te stellen. Indien u zonneschijn zou willen simuleren op de wanden van de objecten, zorg er dan voor om het keuzevak voor de optie checkbox Muren voorzien van schaduw, gebaseerd op aspect te selecteren. U kunt ook een schaduw simuleren door een Kleur en Grootte (in kaarteenheden) in te stellen.

../../../_images/2_5dsymbol.png

Fig. 14.13 dialoogvenster 2.5D

Tip

2.5D-effect gebruiken met andere renderers

Als u eenmaal het instellen van de basisstijl hebt voltooid voor de renderer 2.5D, kunt u deze converteren naar een andere renderer (Enkel, Categorieën, Gradueel). De 2.5D-effecten zullen worden behouden en alle andere specifieke opties voor de renderer zullen beschikbaar zijn om ze fijn af te stemmen (op deze manier kunt u bijvoorbeeld gecategoriseerde symbolen met een keurige 2.5D-weergave krijgen of enige extra opmaak toe te voegen aan uw 2.5D-symbolen). U moet misschien Symboollagen ( Geavanceerd ► Symboollagen…) inschakelen om er voor te zorgen dat de schaduw en de “building” zelf niet interfereren met andere objecten in de nabijheid. De 2.5Dwaarden voor hoogte en hoek worden opgeslagen in de variabelen van de laag, dus u kunt ze later nog bewerken op de tab Variabelen van het dialoogvenster Laageigenschappen.

14.1.3.2. Renderen van lagen

Vanaf de tab Symbologie kunt u ook enkele opties instellen die altijd acteren op alle objecten van de laag:

  • Doorzichtbaarheid slider: U kunt hiermee onderliggende lagen zichtbaar maken in het kaartvenster. Gebruik de schuifbalk om de transparantie van de geselecteerde vectorlaag aan te passen naar uw behoeften. U kunt ook een precieze definitie voor het percentage voor de transparantie invullen in het menu naast de schuifbalk.

  • Meng-modus op de niveaus Laag en Object: Met dit gereedschap kunt u speciale effecten op de kaart toepassen, die eerder alleen bekend waren van grafische programma’s. De pixels van de overliggende en onderliggende lagen worden vermengd volgens de instellingen zoals beschreven in Meng-modi.

  • Toepassen van tekeneffecten op alle objecten van de laag met de knop Tekeneffecten.

  • Volgorde van renderen van objecten beheren stelt u in staat, met behulp van attributen van objecten, de Z-volgorde te definiëren waarin zij zullen worden gerenderd. Activeer het keuzevak en klik op de knop sort ernaast. U krijgt dan het dialoogvenster Volgorde definiëren waarin u:

    1. Een veld kunt kiezen of een expressie kunt bouwen om op de objecten van de laag toe te passen.

    2. Instellen in welke volgorde de opgehaalde objecten zouden moeten worden gesorteerd, d.i. als u de volgorde Oplopend kiest, zullen de objecten met een lagere waarde onder die met een hogere waarde staan.

    3. Definiëren dat als objecten NULL-waarde teruggeven zij moeten worden gerenderd, als: eerste (beneden) of laatste (boven).

    4. Herhaal bovenstaande stappen net zo vaak als het aantal regels dat u wilt gebruiken.

    De eerste regel wordt toegepast op alle objecten in de laag, in de Z-volgorde overeenkomstig de door hen teruggegeven waarde. Dan, voor elke groep objecten met dezelfde waarde (inclusief die met de waarde NULL) en dus hetzelfde niveau Z, wordt de volgende regel toegepast om de items te sorteren. Enzovoort…

../../../_images/layer_rendering_options.png

Fig. 14.14 Opties voor renderen van de laag

14.1.3.3. Andere instellingen

14.1.3.3.1. Symboollagen

Voor renderers die gestapelde symboollagen toestaan (alleen Heatmap doet dat niet) is er een optie om de volgorde van renderen van elke symboollaag te beheren.

Voor de meeste renderers krijgt u toegang tot de optie Symboollagen door te klikken op de knop Geavanceerd onder de opgeslagen lijst met symbolen en te kiezen voor Symboollagen. Voor de Renderer Regel-gebaseerd is de optie direct beschikbaar via de knop Symboollagen, terwijl het voor de renderer Renderer Puntverplaatsing dezelfde knop is in het dialoogvenster Instellingen ‘renderer’.

Selecteer checkbox Symboollagen tonen om de symboollagen te actieveren. Elke rij zal worden weergegeven als een klein voorbeeld van het gecombineerde symbool, het label ervan en de individuele symboollaag opgedeeld in kolommen met een getal ernaast. De nummers vertegenwoordigen het niveau van volgorde van renderen waarin de symboollaag zal worden getekend. Lagere waarden worden eerst getekend, blijven onderop, terwijl hogere waarden later worden getekend, bovenop de andere.

../../../_images/symbol_levels.png

Fig. 14.15 Dialoogvensters Symboollagen

Notitie

Als symboollagen zijn uitgeschakeld, zullen volledige symbolen worden getekend overeenkomstig hun respectievelijke volgorde als object. Overlappende symbolen zullen eenvoudigweg worden verborgen door andere eronder. Daarnaast zullen soortgelijke symbolen niet met elkaar worden “samengevoegd”.

../../../_images/symbol_levels_examples.png

Fig. 14.16 Geactiveerde symboollagen (A) en uitgeschakelde (B) verschil

14.1.3.3.2. Data-bepaalde grootte legenda

Wanneer een laag is gerenderd met de proportioneel symbool of de multivariate rendering of wanneer een diagram met geschaalde grootte is toegepast op de laag, kunt u toestaan dat de geschaalde symbolen worden weergegeven in zowel het paneel Lagen als de legenda van afdruklay-out.

Selecteer de eponiem-optie in de knop Geavanceerd onder de lijst met opgeslagen symbolen om het dialoogvenster Data-bepaalde grootte Legenda in te schakelen om symbologie te renderen. Voor diagrammen is de optie beschikbaar op de tab Legenda. Het dialoogvenster verschaft de volgende opties om:

  • het type legenda te selecteren: radioButtonOn Legenda niet ingeschakeld, radioButtonOff Afzonderlijke items legenda en radioButtonOff Samengevouwen legenda. Voor de laatste optie kunt u selecteren of de items moeten worden uitgelijnd Onder of Centreren;

  • het te gebruiken symbool instellen voor weergave in de legenda;

  • de titel in de legenda invoeren;

  • de grootte van de te gebruiken klassen wijzigen: standaard verschaft QGIS u een legenda met vijf klassen (gebaseerd op natuurlijke nette grenzen), maar u kunt uw eigen classificatie toepassen met de optie checkbox Handmatige grootte klassen. Gebruik de knoppen signPlus en signMinus om uw aangepaste waarden en labels voor de klassen in te stellen.

Een voorbeeld van de legenda wordt weergegeven in het rechterpaneel van het dialoogvenster en bijgewerkt als u de parameters instelt. Voor de samengevouwen legenda wordt een lijn van het horizontale midden van het symbool naar de corresponderende tekst van de legenda getekend.

../../../_images/data_defined_size_legend.png

Fig. 14.17 Grootte geschaalde legenda instellen

Notitie

Momenteel kan data-bepaalde grootte legenda voor symbologie van de laag alleen worden toegepast op een puntlaag met symbologie Enkel symbool, Categorieën of Gradueel.

14.1.3.3.3. Tekeneffecten

Voor het verbeteren van het renderen van lagen en om het gebruiken van andere software voor het uiteindelijke renderen van kaarten te vermijden (of ten minste te verminderen), verschaft QGIS een andere krachtige functionaliteit: de opties paintEffects Tekeneffecten die tekeneffecten toevoegen voor het aanpassen van de visualisatie van vectorlagen.

De optie is beschikbaar in het dialoogvenster Laageigenschappen ► Symbologie, onder de groep Renderen van lagen (die wordt toegepast op de gehele laag) of in eigenschappen van symboollagen (wordt toegepast op de overeenkomende objecten). U mag de beide gebruikswijzen combineren.

Tekeneffecten kunnen worden geactiveerd door de optie checkbox Tekeneffecten te selecteren en te klikken op de knop paintEffects Effecten aanpassen. Dat zal het dialoogvenster Eigenschappen effecten openen (zie Fig. 14.18). De volgende typen effecten, met opties om ze aan te passen, zijn beschikbaar:

  • Bron: Tekent de originele stijl van het object overeenkomstig de configuratie van de eigenschappen van de laag. De Doorzichtbaarheid van de stijl ervan kan worden aangepast als ook de Meng-modus en Tekenmodus. Dit zijn algemene eigenschappen voor alle typen effecten.

    ../../../_images/source.png

    Fig. 14.18 Tekeneffecten: dialoogvenster Bron

  • Vervagen: Voegt het effect van vervagen toe aan de vectorlaag. De opties die men kan wijzigen zijn het Type vervagen (Stapel vervagen (snel) of Gaussiaans vervagen (kwaliteit)) en de Sterkte vervagen.

    ../../../_images/blur.png

    Fig. 14.19 Tekeneffecten: dialoogvenster Vervagen

  • Kleuren: Dit effect kan worden gebruikt om een versie van de stijl te maken met één enkele tint. De basis zal altijd een versie in grijstinten van het symbool zijn en u kunt:

    • De selectString Grijstinten gebruiken om te selecteren hoe gemaakt moet worden: opties zijn ‘Lichtsterkte van’, ‘Helderheid van’, ‘Gemiddelde van’ en ‘Uit’.

    • Als checkbox Kleuren is geselecteerd, zal het mogelijk zijn een andere kleur te mengen en te kiezen hoe sterk die zou moeten zijn.

    • De niveaus van Helderheid, Contrast en Saturatie van het resulterende symbool te beheren.

    ../../../_images/colorise.png

    Fig. 14.20 Tekeneffecten: dialoogvenster Kleuren

  • Valschaduw: Gebruiken van dit effect voegt een schaduw toe aan het object, wat er uitziet als het toevoegen van een extra dimensie. Dit effect kan worden aangepast door de graden en afstand van de Verspringing te wijzigen, te bepalen waar de schaduw naartoe moet verschuiven en de nabijheid van het bronobject. Valschaduw heeft ook de optie om de straal van vervagen, de transparantie en de kleur van het effect te wijzigen.

    ../../../_images/drop_shadow.png

    Fig. 14.21 Tekeneffecten: dialoogvenster Valschaduw

  • Binnenschaduw: Dit effect is soortgelijk aan het effect Valschaduw, maar het voegt ook het schaduweffect toe aan de binnenkant van de randen van het object. De beschikbare opties voor het aanpassen zijn dezelfde als voor het effect Valschaduw.

    ../../../_images/inner_shadow.png

    Fig. 14.22 Tekeneffecten: dialoogvenster Binnenschaduw

  • Binnenste gloed: Voegt het effect van een gloed toe aan de binnenkant van het object. Dit effect kan worden aangepast door de Verdeling (breedte) van de gloed, of de Straal van vervaging. De laatste specificeert de nabijheid vanaf de rand van het object waar u wilt dat de vervaging wordt toegepast. Aanvullend zijn er opties om de kleur van de gloed aan te passen met één Enkele kleur of een Kleurverloop.

    ../../../_images/inner_glow.png

    Fig. 14.23 Tekeneffecten: dialoogvenster Binnenste gloed

  • Buitenste gloed: Dit effect is soortgelijk aan het effect Binnenste gloed, maar het voegt ook het schaduweffect toe aan de buitenkant van de randen van het object. De beschikbare opties voor het aanpassen zijn dezelfde als voor het effect Binnenste gloed.

    ../../../_images/outer_glow.png

    Fig. 14.24 Tekeneffecten: dialoogvenster Buitenste gloed

  • Transformeren: Voegt de mogelijkheid tot het transformeren van de vorm van het symbool toe. De eerste beschikbare opties voor aanpassen zijn Horizontaal reflecteren en Verticaal reflecteren, die in feite een reflectie maken op de horizontale en/of verticale assen. De andere opties zijn:

    • X,Y schuin trekken: Trekt het object schuin langs de X- en/of Y-as.

    • X,Y op schaal brengen: Vergroot of verkleint het object langs de X- en/of Y-as met het opgegeven percentage.

    • Rotatie: Draait het object langs zijn middelpunt.

    • en X, Y vertalen wijzigt de positie van het item, gebaseerd op een opgegeven afstand voor de X- en/of Y-as.

    ../../../_images/transform.png

    Fig. 14.25 Tekeneffecten: dialoogvenster Transformeren

Eén of meer typen tekeneffecten kunnen tegelijkertijd gebruikt worden. U kunt een effect (de)activeren met zijn keuzevak in de lijst met effecten. U kunt het geselecteerde type effect wijzigen door de optie selectString Type effect te gebruiken. U kunt de volgorde van de effecten wijzigen met behulp van de knoppen arrowUp Naar boven en arrowDown Naar beneden en ook effecten toevoegen/verwijderen met de knoppen signPlus Nieuw effect toevoegen en signMinus Effect verwijderen.

Er zijn enkele algemene opties beschikbaar voor alle typen tekeneffecten. De opties Doorzichtbaarheid en Meng-modus werken soortgelijk aan die welke zijn beschreven in Renderen van lagen en kunnen worden gebruikt voor alle tekeneffecten, met uitzondering van die van Transformeren.

Er is ook een optie selectString Tekenmodus beschikbaar voor elk effect, en u kunt er voor kiezen om het symbool te renderen en/of aan te passen door enkele regels te volgen:

  • Effecten renderen van boven naar beneden.

  • Modus Alleen renderen betekent dat het effect zichtbaar zal zijn.

  • Modus Alleen aanpassen betekent dat het effect niet zichtbaar zal zijn, maar de wijzigingen die het toepast zullen worden doorgegeven aan het volgende effect (het er direct onder).

  • De modus Renderen en aanpassen zal het effect zichtbaar maken en eventuele wijzigingen doorgeven aan het volgende effect. Als het effect boven in de lijst met effecten staat of als het effect er direct boven niet in de modus Aanpassen staat, dan zal het het originele bronsymbool uit de eigenschappen van de laag gebruiken (soortgelijk aan de bron).

14.1.4. Labeleigenschappen

De eigenschappen labeling Labels verschaffen u alle benodigde en van toepassing zijnde mogelijkheden voor het slim labelen voor vectorlagen. Dit dialoogvenster is ook toegankelijk via het paneel Laag opmaken, of door de knop labeling Laag-label opties op de werkbalk Labels te gebruiken.

De eerste stap is om de methode voor labelen te kiezen vanuit de keuzelijst. Beschikbare methoden zijn:

  • labelingNone Geen labels: de standaardwaarde, geeft geen labels op de laag weer

  • labeling Enkele labels: Geeft labels weer op de kaart met behulp van één attribuut of een expressie

  • labelingRuleBased Regel-gebaseerd labelen

  • en labelingObstacle Blokkeren: maakt het mogelijk een laag slechts in te stellen als een obstakel voor labels van andere lagen zonder labels van zichzelf te renderen.

Voor de volgende stappen nemen we aan dat u de optie labeling Enkele labels selecteert, wat het volgende dialoogvenster opent.

../../../_images/label_menu_text.png

Fig. 14.26 Instellingen Laag labelen - Enkele labels

Aan de bovenzijde van het dialoogvenster is een keuzelijst Waarde ingeschakeld. U kunt een attributenkolom selecteren om te gebruiken voor het labelen. Standaard wordt het veld weergave gebruikt. Klik op expression als u labels wilt definiëren, gebaseerd op expressies - Zie Labels definiëren die zijn gebaseerd op expressies.

Hieronder worden opties weergegeven om de labels aan te passen, op verschillende tabs:

Een beschrijving van hoe elke eigenschap in te stellen wordt weergegeven op Een label instellen.

14.1.4.1. Instellen van de automatische plaatsing

U kunt de automatische instellingen voor plaatsing gebruiken om een project-niveau en geautomatiseerd gedrag voor de labels te configureren. In de rechterbovenhoek van de tab Labels, klik op de knop autoPlacement Automatische instellingen voor plaatsing (van toepassing op alle lagen), dat een dialoogvenster opent met de volgende opties:

../../../_images/placement_engine.png

Fig. 14.27 Instellingen voor automatische plaatsing

  • Aantal kandidaten: berekent en wijst aan objecten lijn en polygoon het aantal mogelijk plaatsingen voor labels toe, gebaseerd op hun grootte. Hoe langer of breder een object is, des te meer kandidates het heeft, en de labels ervan kunnen beter worden geplaatst, zonder risico op botsingen.

  • Tekst renderen: stelt de standaardwaarde in voor widgets voor renderen van labels bij exporteren van een kaartvenster of een lay-out naar PDF of SVG. Als Labels altijd als tekst renderen is geselecteerd dan kunnen labels worden bewerkt in externe teopassingen (bijv. Inkscape) als normale tekst. MAAR het bijeffect is dat de kwaliteit van het renderen verminderd, en dat er problemen met renderen zijn wanneer er bepaalde instellingen voor de tekst, zoals buffers, van kracht zijn. Dat is de reden waarom Labels altijd als paden renderen (aanbevolen), wat labels exporteert als omtrekken, wordt aanbevolen.

  • checkbox Afgebroken labels aan rand van kaart toestaan: beheert of van labels, die gedeeltelijk buiten het kaartbereik vallen, het toegestane bereik zou moeten worden gerenderd. Indien geselecteerd zullen deze labels worden weergegeven (wanneer er geen manier is om ze volledig binnen het zichtbare gebied te plaatsen). Indien niet geselecteerd dan zullen gedeeltelijk zichtbare labels worden overgeslagen. Onthoud dat deze instelling geen effect heeft op de weergave van labels in het lay-out kaartitem.

  • unchecked Alle labels voor alle lagen weergeven (d.i. inclusief conflicterende objecten). Onthoud dat deze instelling ook per laag kan worden ingesteld (zie Tab Renderen)

  • unchecked Niet geplaatste labels weergeven: maakt het mogelijk om te bepalen of belangrijke labels ontbreken in de kaarten (bijv. vanwege overlappingen of andere beperkingen). Zij worden weergegeven in een aan te passen kleur.

  • unchecked Kandidaten weergeven (om te debuggen): beheert of vakken op de kaart zouden moeten worden getekend die alle kandidaten weergeven die zijn gemaakt voor het plaatsen van labels. Zoals het label al zegt is het alleen nuttig voor debuggen en het testen van de effecten die verschillende instellingen voor labelen hebben. Dit zou handig kunnen zijn voor beter handmatig plaatsen met gereedschappen van de werkbalk Label.

  • Versie voor labelen van project: QGIS ondersteunt twee verschillende versies voor automatisch plaatsen van labels:

    • Versie 1: het oude systeem (gebruikt door QGIS versies 3.10 en eerder, en bij het openen in QGIS 3.12 of later van projecten die zijn gemaakt in die eerdere versies). Versie 1 behandelt prioriteiten voor labels en obstakels alleen als “ruwe richtlijnen”, en het is mogelijk dat in deze versie een label met lage prioriteit zal worden geplaatst boven een obstakel met hoge prioriteit. Daarom kan het moeilijk zijn om de gewenste resultaten voor labelen te verkrijgen bij het gebruiken van deze versie en wordt die dus alleen aanbevolen voor compatibiliteit met oudere projecten.

    • Versie 2 (aanbevolen): dit is het standaardsysteem in nieuwe projecten die zijn gemaakt in QGIS 3.12 of later. In versie 2 is de logica, die dicteert wanneer het labels is toegestaan om obstakels te overlappen, opnieuw bewerkt. De nieuwere logica verbiedt labels om obstakels te overlappen die een groter gewicht voor obstakels hebben, vergeleken met de prioriteit van de labels. Als resultaat hiervan heeft deze versie veel beter te voorspellen en gemakkelijker te begrijpen resultaten voor labelen.

14.1.4.2. Regel-gebaseerd labelen

Met Regel-gebaseerd labelen kunnen meerdere configuraties voor labels worden gedefinieerd en selectief worden toegepast op basis van filters van expressies, zoals in Regel-gebaseerd renderen.

Selecteer, om een regel te maken, de optie labelingRuleBased Regel-gebaseerd labelen in de bovenste keuzelijst op de tab Labels en klik op de knop signPlus onder in het dialoogvenster. Vul dan het nieuwe dialoogvenster met een beschrijving en een expressie om de objecten te filteren. U kunt ook een schaalbereik instellen waar binnen de regel voor het label zou moeten worden toegepast. De andere beschikbare opties in dit dialoogvenster zijn de algemene instellingen zoals eerder vermeld.

../../../_images/label_rule_settings.png

Fig. 14.28 Instellingen regels

Een overzicht van bestaande regels wordt weergegeven in het hoofd dialoogvenster (zie Fig. 14.29). U kunt meerdere regels toevoegen en de volgorde wijzigen met slepen en neerzetten. U kunt ze ook verwijderen met de knop signMinus of ze bewerken met de knop projectProperties of een dubbelklik.

../../../_images/label_rules_panel.png

Fig. 14.29 Paneel Regel-gebaseerd labelen

14.1.4.3. Labels definiëren die zijn gebaseerd op expressies

Of u nu kiest voor het type enkel of op regel gebaseerd labelen, QGIS staat toe om objecten te labelen met expressies.

Er van uitgaande dat u de methode Enkele labels gebruikt, klik op de knop expression nabij de keuzelijst Waarde op de tab labeling Labels van het dialoogvenster Laageigenschappen.

In Fig. 14.30 ziet u een voorbeeld van een expressie om de laag met bomen in Alaska te labelen met type boom en gebied, gebaseerd op het veld ‘VEGDESC’, enige beschrijvende tekst, en de functie $area in combinatie met format_number() om het er netter uit te laten zien.

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

Fig. 14.30 Expressies gebruiken voor labelen

Labelen gebaseerd op expressie is eenvoudig om mee te werken. Waar u rekening mee moet houden is:

  • U moet misschien alle elementen (tekenreeksen, velden en functies) combineren met een functie voor het samenvoegen van tekenreeksen, zoals concat, + of ||. Onthoud dat in sommige situaties (als null of numerieke waarden zijn betrokken) niet al deze gereedschappen aan uw wensen zullen voldoen.

  • Tekenreeksen zouden moeten worden omsloten door ‘enkele aanhalingstekens’.

  • Velden moeten worden omsloten door “dubbele aanhalingstekens” of zonder enig aanhalingsteken.

Laten we eens naar enkele voorbeelden kijken:

  1. Labels, gebaseerd op twee velden ‘name’ en ‘place’, met een komma als scheidingsteken:

    "name" || ', ' || "place"
    

    Geeft terug:

    John Smith, Paris
    
  2. Labels, gebaseerd op twee velden ‘name’ en ‘place’, met andere teksten:

    'My name is ' + "name" + 'and I live in ' + "place"
    'My name is ' || "name" || 'and I live in ' || "place"
    concat('My name is ', name, ' and I live in ', "place")
    

    Geeft terug:

    My name is John Smith and I live in Paris
    
  3. Labels, gebaseerd op twee velden ‘name’ en ‘place’, met andere teksten en gecombineerde functies samenvoegen:

    concat('My name is ', name, ' and I live in ' || place)
    

    Geeft terug:

    My name is John Smith and I live in Paris
    

    Of, als het veld ‘place’ NULL is, geeft terug:

    My name is John Smith
    
  4. Labels met meerdere regels, gebaseerd op twee velden ‘name’ en ‘place’, met een beschrijvende tekst:

    concat('My name is ', "name", '\n' , 'I live in ' , "place")
    

    Geeft terug:

    My name is John Smith
    I live in Paris
    
  5. Label, gebaseerd op een veld en de functie $area, om de naam van de plaats weer te geven en de afgeronde grootte van het gebied in een geconverteerde eenheid:

    'The area of ' || "place" || ' has a size of '
    || round($area/10000) || ' ha'
    

    Geeft terug:

    The area of Paris has a size of 10500 ha
    
  6. Maak een voorwaarde CASE ELSE. Als de waarde van de bevolking in het veld population is <= 50000 is het een kleine stad, anders is het een stad:

    concat('This place is a ',
    CASE WHEN "population" <= 50000 THEN 'town' ELSE 'city' END)
    

    Geeft terug:

    This place is a town
    
  7. Geef de naam voor de steden weer en geen label voor de andere objecten (bekijk het voorbeeld hierboven voor de context van “city”):

    CASE WHEN "population" > 50000 THEN "NAME" END
    

    Geeft terug:

    Paris
    

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.

14.1.4.4. Data gedefinieerd labelen gebruiken

Met de functie dataDefined Data-bepaalde ‘override’ worden de functies voor de labels overschreven door items uit de attributentabel of expressies die daarop zijn gebaseerd. Deze mogelijkheid kan worden gebruikt om waarden in te stellen voor de meeste hierboven vermelde opties voor labelen.

Laten we, als voorbeeld, de QGIS voorbeeld gegevens voor Alaska gebruiken om de laag airports te labelen met hun naam, gebaseerd op hun militaire USE, d.i. of het vliegveld toegankelijk is voor:

  • militairen, en het dan weergeven in een grijze kleur, grootte 8;

  • anderen, en het dan weergeven in een blauwe kleur, grootte 10.

Om dit te doen, nadat u het labelen hebt ingeschakeld op het veld NAME van de laag (bekijk Een label instellen):

  1. Activeer de tab Tekst.

  2. Klik op het pictogram dataDefined naast de eigenschap Grootte.

  3. Selecteer Bewerken… en typ:

    CASE
      WHEN "USE" like '%Military%' THEN 8 -- because compatible values are 'Military'
                                          -- and 'Joint Military/Civilian'
      ELSE 10
    END
    
  4. Druk op OK om het door te voeren. Het dialoogvenster sluit en de knop dataDefined wordt dataDefineExpressionOn wat betekent dat een regel wordt uitgevoerd.

  5. Klik dan op de knop naast de eigenschap Kleur, typ de expressie hieronder en voer die door:

    CASE
      WHEN "USE" like '%Military%' THEN '150, 150, 150'
      ELSE '0, 0, 255'
    END
    

Op dezelfde manier kunt u elke andere eigenschap van het label opmaken zoals u dat wilt. Bekijk meer details in de beschrijving van de widget dataDefined Data-bepaalde ‘override’ en het bewerken ervan in het gedeelte Data-bepaalde ‘override’ instellen.

../../../_images/label_attribute_data_defined.png

Fig. 14.31 Labels van vliegvelden zijn opgemaakt gebaseerd op hun attributen

Tip

Gebruik de Data-bepaalde ‘override’ om elk deel van samengestelde objecten te labelen

Er is een optie om het labelen voor meerdelige objecten onafhankelijk in te stellen van uw eigenschappen voor labels. Kies render Renderen, Opties object, ga naar de knop dataDefined Data-bepaalde ‘override’ naast het keuzevak unchecked Elk deel van een samengesteld object labelen en definieer de labels zoals beschreven in Data-bepaalde ‘override’ instellen.

14.1.4.4.1. De werkbalk Label

De werkbalk Label verschaft enkele gereedschappen om eigenschappen van labeling labels of diagram diagrammen te bewerken.

../../../_images/diagram_toolbar.png

Fig. 14.32 De werkbalk Label

Onthoud dat, hoewel om reden van leesbaarheid label hieronder is gebruikt om de werkbalk Label te beschrijven, wanneer het is vermeld in hun naam, de gereedschappen op bijna dezelfde wijze werken voor diagrammen:

  • showPinnedLabels Vastgezette labels en diagrammen accentueren. Als de vectorlaag van het label is te bewerken, dan is de accentkleur groen, anders is die blauw.

  • showUnplacedLabel Weergave van niet geplaatste labels schakelen: Maakt het mogelijk om te bepalen of belangrijke labels ontbreken in de kaarten (bijv. vanwege overlappingen of andere beperkingen). Zij worden weergegeven in een aan te passen kleur (zie Instellen van de automatische plaatsing).

  • pinLabels Labels en diagrammen vastzetten/losmaken. Door te klikken op of te slepen met een gebied, zet u label(s) vast. Als u een label of gebied sleept met Shift ingedrukt gehouden, worden label(s) losgemaakt. Tenslotte kunt u ook klikken op of slepen met een gebied met de Ctrl-toets ingedrukt gehouden om met de status van vastzetten van label(s) te schakelen.

  • showHideLabels Labels en diagrammen weergeven/verbergen. Als u klikt op de labels, of klikt op of sleept met een gebied met Shift ingedrukt, worden zij verborgen. Wanneer een label is verborgen, hoeft u slechts te klikken of te slepen op het object om het weer zichtbaar te maken. Als u sleept met een gebied, zullen alle labels in het gebied worden hersteld.

  • moveLabel Label en diagram verplaatsen. U hoeft slechts het label naar de gewenste plaats te slepen.

  • rotateLabel Label roteren. Klik op het label en verplaats het en u roteert de tekst.

  • changeLabelProperties Label-eigenschappen wijzigen. Het opent een dialoogvenster om de geklikte eigenschappen van het label te wijzigen; dat kan het label zelf zijn, zijn coördinaten, hoek, lettertype, grootte, uitlijnen van meerdere regels…, zolang als deze eigenschap maar is verbonden met een veld. Hier kunt u de optie instellen voor checkbox Elk deel van een object labelen.

Waarschuwing

Gereedschappen voor label overschrijven huidige veldwaarden

Het gebruiken van de werkbalk Label om het labelen aan te passen schrijft in feite de nieuwe waarde voor de eigenschap naar het toegewezen veld. Wees daarom voorzichtig om niet per ongeluk gegevens te vervangen die u later misschien nog nodig hebt!

Notitie

Het mechanisme Eigenschappen Hulpopslag kan worden gebruikt om het labelen aan te passen (positie, enzovoort) zonder de onderliggende gegevensbron aan te passen.

14.1.4.4.2. De labels aanpassen vanuit het kaartvenster

Gecombineerd met de werkbalk Label helpen de instellingen voor Data-bepaalde ‘override’ u labels in het kaartvenster te bewerken (verplaatsen, bewerken, roteren). We zullen nu een voorbeeld geven hoe de functie Data-bepaalde ‘override’ gebruikt kan worden voor de functie moveLabelLabel verplaatsen (zie Fig. 14.33).

  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 bepaald. Klik op het pictogram dataDefined 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.

    ../../../_images/label_coordinate_data_defined.png

    Fig. 14.33 Labelen van polygoon vectorlagen met data-bepaalde ‘override’s

  4. Zoom in op een meer.

  5. Stel het bewerken van de laag in met behulp van de knop toggleEditing Bewerken aan/uitzetten.

  6. Ga naar de werkbalk Label en klik op het pictogram moveLabel. Nu kunt u het label handmatig naar een andere positie verplaatsen (zie Fig. 14.34). De nieuwe positie van het label wordt opgeslagen in de kolommen xlabel en ylabel van de attributentabel.

  7. Het is ook mogelijk een lijn toe te voegen die de meren verbindt met hun verplaatste label met behulp van:

Notitie

Het mechanisme Eigenschappen Hulpopslag kan met data-bepaalde eigenschappen worden gebruikt zonder een te bewerken gegevensbron te heben.

14.1.5. Eigenschappen diagrammen

diagram De tab Diagrammen stelt u in staat diagrammen in een vectorlaag te plaatsen (zie Fig. 14.35).

De huidige bron-implementatie voor diagrammen verschaft ondersteuning voor:

  • diagramNone Geen diagrammen: de standaardwaarde waarbij geen diagrammen worden weergegeven over de objecten;

  • piechart Taartdiagram, een cirkelvormige statistische grafiek opgedeeld in stukken om de numerieke verhouding weer te geven. De lengte van de boog van elk stuk is proportioneel aan de hoeveelheid die het weergeeft;

  • text Tekstdiagram, een horizontaal gedeelde cirkel waarin de statistische waarden worden weergegeven;

  • histogram Histogram, balken in verschillende kleuren voor elk attribuut, naast elkaar uitgelijnd

  • stackedBar Kolommen, Gestapelde kolommen van verschillende kleuren voor elk attribuut, verticaal of horizontaal bovenop elkaar

In de rechterbovenhoek van de tab Diagrammen verschaft de knop autoPlacement Automatische instelling voor plaatsing (van toepassing op alle lagen) manieren om de plaatsing van labels voor het diagram in het kaartvenster te beheren.

Tip

Snel tussen typen diagram schakelen

Gegeven het feit dat instellingen nagenoeg algemeen zijn voor de verschillende typen diagram, kunt u, bij het ontwerpen van uw diagram, eenvoudig het type diagram wisselen en controleren welke beter toe te passen voor uw gegevens, zonder enig verlies.

Voor elk type diagram zijn de eigenschappen verdeeld over verscheidene tabs:

14.1.5.1. Attributen

Attributen definieert welke variabelen moeten worden weergegeven in het diagram. Gebruik de knop signPlus Item toevoegen om de gewenste velden te selecteren voor het paneel ‘Toegekende attributen’. Gegenereerde attributen met Expressies kunnen ook worden gebruikt.

U kunt, om te sorteren hoe attributen worden weergegeven, elke rij naar boven of beneden verplaatsen met klikken en slepen. U kunt ook het label in de kolom ‘Legenda’ wijzigen of de kleur van het attribuut door te dubbelklikken op het item.

Dit label is de standaardtekst die wordt weergegeven in de legenda van afdruklay-out of de boom met lagen.

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

Fig. 14.35 Diagrammen - tab Attributen

14.1.5.2. Rendering

Rendering definieert hoe het diagram er uitziet. Het verschaft algemene instellingen die geen invloed hebben op de statistische waarden zoals:

  • de transparantie van de grafiek, de omtrek, breedte en kleur ervan;

  • afhankelijk van het type diagram:

    • voor histogram en kolommen, de breedte van de balk en de afstand tussen de balken. U wilt misschien de afstand voor kolommen instellen op 0. Meer nog, het Symbool aslijn kan zichtbaar worden gemaakt in het kaartvenster en worden aangepast met Eigenschappen lijnsymbool.

    • voor tekstdiagram worden de kleur van de achtergrond van de cirkel en het lettertype gebruikt voor teksten;

    • voor taartdiagrammen, de Beginhoek van het eerste stuk en zijn Richting (met de klok mee of niet).

  • het gebruiken van tekeneffecten op de grafieken.

Op deze tab kunt u ook de zichtbaarheid van het diagram beheren en fijn afstemmen met verschillende opties:

  • Diagram Z-index: beheert hoe diagrammen boven elkaar en boven labels worden getekend. Een diagram met een hogere index wordt getekend boven diagrammen en labels;

  • checkbox Alle diagrammen tonen: geeft alle diagrammen weer, zelfs als zij elkaar overlappen;

  • Diagram weergeven: staat toe dat alleen specifieke diagrammen worden gerenderd;

  • Toon altijd: selecteert specifieke diagrammen om altijd te renderen, zelfs als zij andere diagrammen of labels overlappen;

  • instellen van de Schaalafhankelijke zichtbaarheid;

../../../_images/diagram_tab_appearance.png

Fig. 14.36 Diagrammen - tab Rendering

14.1.5.3. Grootte

Grootte is de hoofdtab om in te stellen hoe de geselecteerde statistieken worden weergegeven. De eenheid voor grootte van het diagram mag ‘Millimeters’, ‘Punten’, Pixels, ‘Kaarteenheden’ of ‘Inches’ zijn. U kunt gebruiken :

  • Vaste grootte, een unieke grootte om de grafiek van alle objecten weer te geven (niet beschikbaar voor histogram)

  • of Geschaalde grootte, gebaseerd op een expressie met behulp van attributen van de laag:

    1. Selecteer, in Attribuut, een veld of bouw een expressie

    2. Klik op Vind om de Maximale waarde terug te geven van het attribuut of voer een aangepaste waarde in de widget in.

    3. Voor histogram en kolommen, voer een waarde Lengte balk in, gebruikt om de Maximale waarde van de attributen weer te geven. Voor elk object zal de lengte van de balk dan lineair op schaal worden gebracht om deze overeenkomst te behouden.

    4. Voor taart- en tekstdiagram, voer een waarde Grootte in, gebruikt om de Maximale waarde van de attributen weer te geven. Voor elk object zal het cirkelgebied of de diameter dan lineair op schaal worden gebracht om deze overeenkomst te behouden (vanaf 0). Een Minimale grootte kan echter ook worden ingesteld voor kleine diagrammen.

../../../_images/diagram_tab_size.png

Fig. 14.37 Diagrammen - tab Grootte

14.1.5.4. Plaatsing

Plaatsing definieert de positie van het diagram. Afhankelijk van het type geometrie voor de laag biedt het verschillende opties voor de plaatsing (meer details op Plaatsing):

  • Rondom punt of Boven punt voor geometrie punt. De eerste variabele vereist een straal om te volgen.

  • Rondom lijn of Boven lijn voor geometrie lijn. Net als bij een puntobject vereist de eerste variabele een afstand om te respecteren en de gebruiker kan de plaatsing van het diagram specificeren, relatief aan het object (‘boven’, ‘op’ en/of ‘onder’ de lijn). Het is mogelijk om verscheidene opties in één keer te selecteren. In dat geval zal QGIS zoeken naar de optimale positie voor het diagram. Onthoud dat u hier ook de oriëntatie van de lijn kunt gebruiken voor de positie van het diagram.

  • Rondom zwaartepunt (met een ingestelde afstand), Boven zwaartepunt, Omtrek gebruiken en ergens Binnen polygoon zijn de opties voor objecten polygoon.

De groep Coördinaten verschaft direct beheer over het plaatsen van diagrammen, op een object-per-object basis, gebruik makend van hun attributen of een expressie om de X- en Y-coördinaat in te stellen. De informatie mag ook worden ingevuld met het gereedschap Labels en diagrammen verplaatsen.

In het gedeelte Prioriteit kunt u de prioriteit voor elk diagram definiëren, d.i. als er verschillende kandidaatlabels of -diagrammen voor dezelfde locatie zijn, zal het item met de hogere prioriteit worden weergegeven en de andere zullen worden weggelaten.

Voorkomen dat diagrammen en labels objecten bedekken: definieert objecten om als obstakels te gebruiken, d.i. QGIS zal proberen geen diagrammen of labels over deze objecten te plaatsen. De prioriteit zal worden gebruikt om te evalueren of een diagram zou kunnen worden weggelaten vanwege een object met een hoger gewicht als obstakel.

../../../_images/diagram_tab_placement.png

Fig. 14.38 Dialoogvenster Vectoreigenschappen met Diagrammen, tab Plaatsing

14.1.5.5. Opties

De tab Opties heeft alleen instellingen voor histogram en kolommen. U kunt er voor kiezen of de Kolom-oriëntatie zou moeten zijn ‘Omhoog’, ‘Naar beneden’, ‘Rechts’ en ‘Links’, voor horizontale en verticale diagrammen.

14.1.5.6. Legenda

Op de tab Legenda kunt u kiezen welke items van het diagram moeten worden weergegeven in het paneel Lagen, en in de legenda van de afdruklay-out, naast de symbologie van de laag:

  • selecteer Legenda-items voor attributen van diagram weergeven om weer te geven in de eigenschappen Kleur en Legenda van de Legenda, zoals eerder toegewezen op de tab Attributen;

  • en, als een geschaalde grootte wordt gebruikt voor de diagrammen, druk op de knop Items voor legenda voor grootte diagram… om de ligging van de symbolen voor de diagrammen in de legenda’s te configureren. Dit opent het dialoogvenster Data-bepaalde grootte legenda waarvan de opties worden beschreven in Data-bepaalde grootte legenda.

Indien ingesteld zijn de items van de legenda (attributen met kleur en grootte diagram) van het diagram ook beschikbaar in de legenda van afdruklay-out, naast de symbologie van de laag.

14.1.6. Eigenschappen Maskers

labelmask De tab Maskers helpt u de huidige laagsymbolen van de overleg met andere symboollagen of labels te configureren, vanuit elke laag. Dit is bedoeld om de leesbaarheid van symbolen en labels, waarvan de kleuren dicht bij elkaar liggen en die moeilijk te ontcijferen zouden kunnen zijn bij overlappen, te verbeteren; het voegt een aangepast en transparant masker toe rondom de items om delen van de symboollagen van de huidige laag “te verbergen”.

U moet eerst, om maskers op de actieve laag toe te kunnen passen, in het project inschakelen ofwel Gemaskeerde symboollagen of Labels Masker. Selecteer dan op de tab Maskers:

  • de Gemaskeerde symboollagen: vermeldt in een boomstructuur alle symboollagen van de huidige laag. Daar kunt u het item voor de symboollaag selecteren dat u transparant zou willen “uitsnijden” wanneer zij de geselecteerde bronnen van het masker overlappen

  • de Bronnen masker: vermeldt alle maskers voor labels en gemaskeerde symboollagen die zijn gedefinieerd in het project. Selecteer de items die het masker over de geselecteerde gemaskeerde symboollagen zouden moeten maken

../../../_images/masks_properties.png

Fig. 14.39 Laag-eigenschappen - tab Maskers

14.1.7. Eigenschappen 3D-weergave

3d De tab 3D-weergave verschaft instellingen voor vectorlagen die zouden moeten worden weergegeven in het gereedschap 3D-kaartweergave.

Voor een betere uitvoering worden gegevens vanuit vectorlagen geladen op de achtergrond, met multithreading, en gerenderd in tegels waarvan de grootte kan worden beheerd in het gedeelte Renderen van lagen van de tab:

  • Aantal zoomniveaus: bepaalt hoe diep de quadtree zal zijn. Bijvoorbeeld: één zoomniveau betekent dat er één enkele tegel voor de gehele laag zal zijn. Drie zoomniveaus betekent dat er 16 tegels zullen zijn op het bladniveau (elk extra zoomniveau vermenigvuldigt dat met 4). De standaard is 3 en het maximum is 8.

  • checkbox Begrenzingsvakken van tegels weergeven: in het bijzonder nuttig als er problemen zijn met tegels die niet worden weergegeven terwijl dat wel zou moeten

Een laag weergeven in 3D, selecteer uit het combinatievak aan de bovenzijde van de tab, ofwel:

  • Enkel symbool: objecten worden gerenderd met een algemeen 3D-symbool waarvan de eigenschappen data-bepaald kunnen zijn of niet. Lees details in een 3D-symbool instellen voor elk type geometrie van de laag.

  • Regel-gebaseerd: meerdere configuraties voor symbolen kunnen worden gedefinieerd en selectief worden toegepast, gebaseerd op expressiefilters en schaalbereik. Meer details over hoe in Regel-gebaseerd renderen.

../../../_images/3d_view_properties.png

Fig. 14.40 3D-eigenschappen van een puntenlaag

14.1.8. Eigenschappen Velden

sourceFields De tab Velden verschaft informatie over velden, gerelateerd aan de laag, en helpt u ze te organiseren.

De laag kan bewerkbaar worden gemaakt met toggleEditing Bewerken aan/uitzetten. Op dit moment kunt u de structuur aanpassen met de knoppen newAttribute Nieuw veld en deleteAttribute Veld verwidjeren.

U kunt ook velden hernoemen door te dubbelklikken op de naam van het veld. Dit wordt alleen ondersteund voor gegevensproviders zoals PostgreSQL, Oracle, geheugenlaag en enkele lagen van OGR, afhankelijk van de indeling van de gegevens en de versie van OGR.

Indien ingesteld in de onderliggende gegevensbron of in de formuliereigenschappen, wordt het alias van het veld ook weergegeven. Een alias is een voor mensen te lezen veldnaam die u in het objectformulier of de attributentabel kunt gebruiken. Aliassen worden opgeslagen in het projectbestand.

Afhankelijk van de gegevensprovider kunt u een opmerking koppelen aan een veld, bijvoorbeeld bij het maken ervan. Deze informatie wordt opgehaald en weergegeven in de kolom Opmerking en wordt later weergegeven als u met de muis over het veldlabel gaat in een objectformulier.

Anders dan de velden die zijn opgenomen in de gegevensset, inclusief virtuele velden en Hulpopslag, vermeldt de tab Velden tab ook velden uit gekoppelde lagen. Afhankelijk van de origine van het veld, wordt er een andere achtergrond op toegepast.

Voor elk genoemd veld vermeldt het dialoogvenster ook karakteristieken Alleen-lezen, zoals zijn type, naam type, lengte en precisie. Wanneer de laag later dient als WMS of WFS, kunt u hier ook aangeven welke velden zouden moeten worden opgehaald.

../../../_images/fields_properties.png

Fig. 14.41 Tab Veldeigenschappen

14.1.9. Eigenschappen Formulier attributen

formView De tab Formulier attributen helpt u het formulier in te stellen dat wordt weergegeven bij het maken van nieuwe objecten of het bevragen van bestaande. U kunt definiëren:

  • het uiterlijk en gedrag van elk veld in het objectformulier of de attributentabel (label, widget, beperkingen…);

  • de structuur van het formulier (aangepast of automatisch gemaakt):

  • extra logica in Python om interactie met het formulier of de widgets voor de velden af te handelen.

Aan de rechterbovenzijde van het dialoogvenster kunt u instellen of het formulier standaard moet worden geopend bij het maken van nieuwe objecten. Dit kan worden geconfigureerd per laag of globaal met de optie Voorkom tonen van attributenformulier na intekenen object in het menu Extra ► Opties ► Digitaliseren.

14.1.9.1. Een formulier voor uw gegevens aanpassen

Standaard, als u klikt op een object met het gereedschap identify Objecten identificeren of de attributentabel schakelt naar de modus Formulierweergave, geeft QGIS een formulier weer met vooraf gedefinieerde widgets (meestal waardenvakken en tekstvakken — elk veld wordt weergegeven op een toegewezen rij door zijn label naast het widget). Als relaties op de laag zijn ingesteld, worden velden, uit de lagen waarnaar verwezen wordt, weergegeven in een ingebed frame aan de onderzijde van het formulier, met dezelfde basisstructuur.

Deze rendering is het resultaat van de standaardwaarde Automatisch genereren van de instelling Attribuutlay-out bewerker op de tab Laageigenschappen ► Formulier attributen. Deze eigenschap bevat drie verschillende waarden:

  • Automatisch genereren: behoudt de basisstructuur van “één rij - één veld” voor het formulier, maar staat aanpassen toe van elk corresponderend widget.

  • Ontwerper Slepen en neerzetten: anders dan het aanpassen van de widget kan de structuur van het formulier meer complex worden gemaakt, bijv. met ingebedde widgets in groepen en tabs.

  • Geef een UI-bestand op: maakt het mogelijk een bestand van Qt Designer te gebruiken, en dus een potentieel meer complex en volledig uitgerust sjabloon, als objectformulier.

14.1.9.1.1. Het automatisch gemaakte formulier

Als de optie Automatisch genereren is ingeschakeld geeft het paneel Beschikbare widgets de lijst met velden weer (van de laag en zijn relaties) die in het formulier zouden worden weergegeven. Selecteer een veld en u kunt het uiterlijk en het gedrag ervan configureren in het rechterpaneel:

14.1.9.1.2. De ontwerper Slepen en neerzetten

De ontwerper Slepen en neerzetten stelt u in staat een formulier te maken met verschillende containers (tabs of groepen) om de attribuutvelden weer te geven, zoals bijvoorbeeld weergegeven in Fig. 14.42.

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

Fig. 14.42 Resultaat ingebouwd formulier met tabs en benoemde groepen

  1. Kies Ontwerper Slepen en neerzetten uit het combinatievak Attribuutlay-outbewerker selecteren. Dit schakelt het paneel Lay-out formulier in naast het paneel Beschikbare widgets, gevuld met bestaande velden. Het geselecteerde veld geeft zijn eigenschappen weer in een derde paneel.

  2. Selecteer velden die u niet wilt gebruiken in uw paneel Lay-out formulier en druk op de knop signMinus om ze te verwijderen. Sleep velden uit het andere paneel en zet ze neer om ze opnieuw toe te voegen. Hetzelfde veld kan meerdere keren worden toegevoegd.

  3. Sleep velden en zet ze neer in het paneel Lay-out formulier om de volgorde van de positie aan te passen.

  4. Voeg containers (tab- of groepsframes) om velden, die tot dezelfde categorie behoren, met elkaar te associëren en het formulier beter te structureren.

    1. De eerste stap is om het pictogram signPlus te gebruiken om een tab te maken waarin velden en groepen zullen worden weergegeven

    2. Stel dan de eigenschappen voor de container in, d.i.:

      • de naam

      • het type, d.i. een tab of een groep in container (een groep binnen een tab of een andere groep)

      • en het aantal kolommen waarover de ingebedde velden zouden moeten worden verdeeld

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

      Fig. 14.43 Dialoogvenster om containers te maken met de Attribuutlay-outbewerker

      Deze, en andere eigenschappen kunnen later worden bijgewerkt door het item te selecteren, en, uit het derde paneel:

      • het label van de container te verbergen of weer te geven

      • de container weer te geven als een groepsvak (alleen beschikbaar voor tabs).

      • de container te hernoemen

      • het aantal kolommen in te stellen

      • een expressie in te voeren om de zichtbaarheid van de container te beheren. De expressie zal opnieuw worden geëvalueerd, elke keer als waarden in het formulier wijzigen, en de tab of groepsvak overeenkomstig weergeven/verbergen

      • een achtergrondkleur toevoegen

    3. U kunt net zoveel containers maken als u wilt; druk opnieuw op het pictogram signPlus om een andere tab of een groepsframe te maken onder een bestaande tab.

  5. De volgende stap is om de relevante velden toe te wijzen aan elke container, door eenvoudigweg te slepen en neer te zetten. Groepen en tabs kunnen ook op dezelfde manier worden verplaatst.

  6. De widget aanpassen voor de gebruikte velden

  7. In het geval dat de laag is betrokken in een één of veel-tot-veel-relatie, sleep dan de naam van de relatie uit het paneel Beschikbare widgets naar het paneel Lay-out formulier en zet het neer. Het geassocieerde formulier voor de laagattributen zal worden ingebed op de gekozen plaats in het formulier van de huidige laag. Net als voor de andere items, selecteer het label van de relatie om enkele eigenschappen te configureren:

    • het label van de relatie te verbergen of weer te geven

    • de knop om te koppelen weer te geven

    • de knop om te ontkoppelen weer te geven

  8. Het dialoogvenster Laageigenschappen toe te passen

  9. Open een attributenformulier van een object (bijv. met het gereedschap identify Objecten identificeren) en het zou het nieuwe formulier moeten weergeven.

14.1.9.1.3. Aangepast UI-bestand gebruiken

De optie ‘Geef een UI-bestand op’ stelt u in staat veel complexere dialoogvensters te gebruiken die zijn gemaakt met de Qt-Designer. Het gebruik van een UI-bestand geeft veel meer vrijheid om een dialoogvenster te maken. Onthoud dat, om de grafische objecten (tekstvak, combinatievak…) te kunnen koppelen aan de velden van de laag, u ze dezelfde naam dient te geven.

Gebruik UI voor bewerken om het pad te definiëren van het te gebruiken bestand.

UI-bestanden mogen ook worden gehost op een server op afstand. In dat geval moet u de URL van het formulier invullen in plaats van het bestandspad in UI voor bewerken.

U kunt enkele voorbeelden vinden in de les Een nieuw formulier maken van de QGIS Trainingshandleiding. Voor meer gevorderde informatie, bekijk https://woostuff.wordpress.com/2011/09/05/qgis-tips-custom-feature-forms-with-python-logic/.

14.1.9.1.4. Uw formulier verbeteren met aangepaste functies

Formulieren 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. De code voor het formulier kan op drie verschillende manieren gespecificeerd worden:

  • laden uit de omgeving: een functie gebruiken, bijvoorbeeld in een startup.py of vanuit een geïnstalleerde plug-in

  • laden uit een extern bestand: een bestandskiezer stelt u in staat een bestand voor Python te selecteren uit uw bestandssysteem of een URL in te voeren voor een bestand op afstand.

  • laden met in-regelige code: een bewerker voor Python zal verschijnen waar u direct de te gebruiken functie kunt typen

In alle gevallen moet u de naam invoeren van de functie die moet worden aangeroepen (open in het voorbeeld hieronder).

Een voorbeeld is (in module MyForms.py):

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

Verwijs als volgt naar de Python-functie Init: open

14.1.9.2. Het gedrag van velden configureren

Het hoofdgedeelte van de tab Formulier attributen helpt u het te gebruiken type widget instellen om waarden van het veld in te vullen of weer te geven, in de attributentabel of het objectformulier: u kunt definiëren doe de gebruiker werkt met elk veld en de waarden of bereik van waarden die aan elk zouden kunnen worden toegevoegd.

../../../_images/edit_widgets_dialog.png

Fig. 14.44 Dialoogvenster om een widget voor bewerken te kiezen voor een attribuutveld

14.1.9.2.1. Algemene instellingen

Ongeacht het op het veld toegepaste type widget zijn er enkele algemene eigenschappen die u in kunt stellen om te beheren of en hoe een veld kan worden bewerkt.

14.1.9.2.1.1. Widget weergeven

Label weergeven: geeft aan of de veldnaam in het formulier zou moeten worden weergegeven (alleen in de modus Slepen en neerzetten ontwerper).

14.1.9.2.1.2. Algemene opties
  • Alias: een door mensen te lezen naam om te gebruiken voor velden. Het alias zal worden weergegeven in het objectformulier, de attributentabel, of in het paneel Identificatieresultaten. Het kan ook worden gebruikt als vervanging voor de veldnaam in de Expressiebouwer, wat het begrijpen en beoordelen van expressies gemakkelijker maakt. Aliassen worden opgeslagen in het projectbestand.

  • Opmerking: geeft de opmerking voor het veld weer, zoals weergegeven op de tab Velden, in een status Alleen-lezen. Deze informatie wordt weergegeven als Helptip bij het over het veldlabel gaan in een formulier van het object.

  • checkbox Aanpasbaar: deselecteer deze optie om het veld in te stellen als Alleen-lezen (niet handmatig aan te passen) als de laag in modus Bewerken staat. Onthoud dat deze instelling niet een door de provider ingestelde beperking voor bewerken overschrijft.

  • checkbox Labels bovenaan: plaatst de veldnaam boven of naast de widget in het objectformulier.

14.1.9.2.1.3. Standaard waarden
  • Standaardwaarde: voor nieuwe objecten, vult standaard automatisch het veld met een vooraf gedefinieerde waarde of een die op een expressie is gebaseerd. U kunt bijvoorbeeld:

    • $x, $length, $area gebruiken om automatisch een veld te vullen met de X-coördinaat, lengte, gebied of andere geometrische informatie van een object bij het maken ervan;

    • een veld met 1 verhogen voor elk nieuw object met maximum("field")+1;

    • de datetime van het maken van het object opslaan met now();

    • variabelen in expressies gebruiken, wat het gemakkelijker maakt om bijvoorbeeld de naam van de gebruiker in te vullen (@user_full_name), het volledige pad naar het projectbestand (@project_path), …

    Een voorbeeld van de resulterende standaardwaarde wordt weergegeven aan de onderzijde van de widget.

    Notitie

    De optie Standaardwaarde is zich niet bewust van de waarden in enig ander veld van het te maken object, dus is het niet mogelijk een expressie te gebruiken die enkele van deze waarden combineert, d.i. gebruiken van een expressie als concat(field1, field2) zou niet kunnen werken.

  • checkbox Standaardwaarde toepassen bij bijwerken: elke keer als het attribuut of de geometrie van het object wordt gewijzigd, wordt de waarde opnieuw berekend. Dit zou handig kunnen zijn om waarden op te slaan zoals de laatste gebruiker die wijzigingen in de gegevens maakt, laatste keer dat het werd gewijzigd…

14.1.9.2.1.4. Beperkingen

U kunt de in het veld in te voegen waarde beperken. Deze beperking mag zijn:

  • checkbox Niet null: eist van de gebruiker om een waarde in te vullen

  • checkbox Uniek: garandeert dat de ingevoerde waarde voor het gehele veld uniek zal zijn;

  • gebaseerd op een aangepaste expressie: bijv. not regexp_match(col0,'A-Za-z') zal er voor zorgen dat de waarde van het veld col0 alleen alfabetische letters mag hebben. Een korte beschrijving kan worden toegevoegd om u te helpen de beperking te onthouden.

Elke keer als een waarde wordt toegevoegd aan of bewerkt in een veld, wordt het doorgegeven aan de bestaande beperkingen en:

  • als het voldoet aan alle vereisten, wordt een groen vinkje weergegeven naast het veld in het formulier;

  • als het niet voldoet aan alle vereisten, dan wordt het veld geel of oranje gekleurd weergegeven en een overeenkomend kruis wordt weergegeven naast de widget. U kunt over het kruis gaan met de muis om er achter te komen welke beperkingen zijn toegepast op het veld en de waarde te repareren:

    • Een geel kruis verschijnt als de beperking waaraan niet voldaan wordt er een is die niet geforceerd kan worden afgedwongen en het belet u niet om de wijzigingen met de “verkeerde” waarden op te slaan;

    • Een oranje kruis kan niet worden genegeerd en staat u dus niet toe de wijzigingen op te slaan, totdat zij voldoen aan de beperkingen. Het verschijnt als de optie checkbox Beperking voor expressie forceren is geselecteerd.

14.1.9.2.2. Widgets bewerken

Gebaseerd op het type veld bepaalt QGIS automatisch en wijst er een standaardtype widget toe. U kunt dan de widget vervangen door elk widget dat compatibel is met dat veldtype. De beschikbare widgets zijn:

  • Keuzevak: Geeft een keuzevak weer waarvan de status definieert welke waarde moet worden ingevoerd.

  • Classificatie: Alleen beschikbaar als een symbologie Categorieën is toegepast op de laag, geeft een combinatievak weer met de waarden van de klassen.

  • Kleur: Geeft een widget Kleur weer dat het mogelijk maakt een kleur te selecteren, de waarde van de kleur wordt opgeslagen als een HTML-notatie in de attributentabel.

  • 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 vooraf gedefinieerde waarden die zijn opgehaald uit de database. Dit wordt momenteel alleen ondersteund voor de provider PostgreSQL voor velden van het type enum.

  • Bijlage: Gebruikt een dialoogvenster “Bestand openen” om het bestandspad op te slaan in modus Relatief of Absoluut. Het kan ook worden gebruikt om een hyperlink weer te geven (naar het pad van het document), een afbeelding of een webpagina.

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

  • Sleutel/waarde: Geeft een tabel met twee kolommen weer om sets van paren van sleutels en waarden op te slaan binnen één enkel veld. Dit wordt momenteel alleen ondersteund voor de provider PostgreSQL voor velden van het type hstore.

  • Lijst: Geeft een tabel met één enkele kolom weer om verschillende waarden toe te voegen aan één enkel veld. Dit wordt momenteel alleen ondersteund voor de provider PostgreSQL voor velden van het type array.

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

  • Relatieverwijzing: Dit is de standaard widget die is toegewezen aan het verwijzingsveld (d.i. de vreemde sleutel in de kind-laag) wanneer een relatie is ingesteld. Het verschaft directe toegang tot het formulier met ouder-objecten dat op zijn beurt de lijst en het formulier bevat van al zijn kinderen.

  • Tekst bewerken (standaard): Dit opent een tekstveld waarin u 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 veld 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: Biedt waarden uit een gerelateerde tabel in een combinatievak. U kunt laag, kolom voor sleutel en kolom voor waarde selecteren. Verscheidene opties zijn beschikbaar om het standaardgedrag te wijzigen: Null-waarden toestaan, volgorde op waarde, meerdere selecties toestaan en automatisch aanvullen gebruiken. De formulieren zullen ofwel een keuzelijst of een veld voor tekst bewerken weergeven als het keuzevak voor automatisch aanvullen is ingeschakeld.

Tip

Relatieve pad in widget Bijlage

Indien het pad dat is geselecteerd met de bestandsbrowser is geplaatst in dezelfde map als het projectbestand .qgs of lager, worden paden geconverteerd naar relatieve paden. Dit verhoogt de portabiliteit van een project .qgs met aangehechte informatie voor multimedia.

14.1.10. Eigenschappen van koppelingen

join De tab Koppelingen stelt u in staat objecten van de huidige laag (genaamd Doellaag) te associëren met objecten uit een andere geladen vectorlaag (of tabel). De koppeling is gebaseerd op een attribuut dat door de lagen wordt gedeeld. De lagen mogen zonder geometrie zijn (tabellen) of wel, maar hun attribuut voor het koppelen zou van hetzelfde type moeten zijn.

Een koppeling maken:

  1. Klik op de knop signPlus Nieuwe koppeling maken. Het dialoogvenster Vectorkoppeling toevoegen verschijnt.

  2. Selecteer de Koppellaag waarmee u de doelvectorlaag wilt verbinden

  3. Specificeer het Koppelveld en het Doelveld, dat voorkomt in zowel de koppellaag als de doellaag

  4. Druk op OK en een overzicht van de geselecteerde parameters wordt toegevoegd aan het paneel Koppelingen.

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

Fig. 14.45 Een attributentabel koppelen aan een bestaande vectorlaag

De stappen hierboven zullen een koppeling maken waar ALLE attributen, van het eerste overeenkomende object in de koppellaag, worden toegevoegd aan het object van de doellaag. QGIS verschaft meer opties om de koppeling aan te passen:

  • checkbox Koppellaag in virtueel geheugen ‘cachen’: stelt u in staat waarden in het geheugen te cachen (zonder geometrieën) uit de gekoppelde laag om opzoekacties te versnellen.

  • unchecked Index voor attributen aanmaken op het koppelveld

  • unchecked Dynamisch formulier: helpt om de koppelvelden direct te synchroniseren, overeenkomstig het Doelveld. Op deze manier worden ook beperkingen voor de koppelvelden ook correct bijgewerkt. Onthoud dat het standaard is uitgeschakeld, omdat het heel tijdrovend kan zijn als u heel veel objecten hebt of ontelbare koppelingen.

  • Als de doellaag bewerkbaar is, dan zullen enkele pictogrammen worden weergegeven in de attributentabel naast velden, om te informeren over hun status:

    • joinNotEditable: de koppellaag is niet geconfigureerd om te worden bewerkt. Als u in staat wilt zijn om gekoppelde objecten uit de attributentabel van het doel te bewerken, dan moet u de optie checkbox Bewerkbare samengevoegde laag selecteren.

    • joinedLayerNotEditable: de koppellaag is wel geconfigureerd om te worden bewerkt, maar de huidige status is Alleen-lezen.

    • joinHasNotUpsertOnEdit: de koppellaag is te bewerken, maar het mechanismen voor synchroniseren zijn niet geactiveerd. Als u automatisch een object wilt toevoegen in de koppellaag als een object in de doellaag wordt gemaakt, dan moet u de optie checkbox Bijwerken bij bewerken selecteren. Symmetrisch, de optie checkbox Stapel verwijderen moet worden geactiveerd als u automatisch gekoppelde objecten wilt verwijderen.

  • unchecked Gekoppelde velden: in plaats van het toevoegen van alle velden uit de gekoppelde laag, kunt u een subset specificeren.

  • unchecked Voorvoegsel voor naam aangepast veld voor gekoppelde velden, om botsingen tussen namen van velden te vermijden

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

14.1.11. Eigenschappen Hulpopslag

De normale manier om opmaak en labelen aan te passen is door data-bepaalde eigenschappen te gebruiken, zoals beschreven in Data-bepaalde ‘override’ instellen. Dat zou echter niet mogelijk kunnen zijn als de onderliggende gegevens Alleen-lezen zijn. Meer nog zou het configureren van deze data-bepaalde eigenschappen veel tijd kunnen vergen of niet gewenst zijn! Als u bijvoorbeeld volledig de kaartgereedschappen wilt gebruiken die staan op De werkbalk Label, dan dient u meer dan 20 velden toe te voegen en te configureren in uw originele gegevensbron (X- en Y-posities, rotatiehoek, opmaak lettertype, kleur enzovoort).

Het mechanisme Hulpopslag verschaft de oplossing voor deze beperkingen en vervelende configuraties. Hulpvelden zijn een omweg om automatisch deze data-bepaalde eigenschappen (labels, diagram, symbologie…) te beheren en op te slaan in een database voor SQLite, dankzij bewerkbare koppelingen. Dit stelt u in staat eigenschappen op te slaan voor lagen die niet bewerkbaar zijn.

Een tab is beschikbaar in het dialoogvenster voor vector-eigenschappen om de Hulpopslag te beheren:

../../../_images/auxiliary_storage_tab.png

Fig. 14.46 Tab Hulpopslag

14.1.11.1. Labelen

Overwegende dat de gegevensbron kan worden aangepast dankzij data-bepaalde eigenschappen zonder bewerkbaar te zijn, zijn de gereedschappen voor labelen, zoals beschreven in De werkbalk Label, altijd beschikbaar zodra labelen wordt geactiveerd.

In feite heeft het systeem voor hulpopslag een hulplaag nodig om deze eigenschappen op te slaan in een database van SQLite (bekijk Database Hulpopslag). Het proces van maken wordt uitgevoerd als u de eerste keer klikt op de kaart terwijl een gereedschap voor labelen van de kaart momenteel is geactiveerd. Dan wordt een venster weergegeven dat u in staat stelt de te gebruiken primaire sleutel te selecteren voor het koppelen (om er voor te zorgen dat objecten uniek geïdentificeerd worden):

../../../_images/auxiliary_storage_key.png

Fig. 14.47 Dialoogvenster Hulplaag maken

Zodra een hulplaag is geconfigureerd voor de huidige gegevensbron, kunt u de informatie ervan ophalen op de tab:

../../../_images/auxiliary_storage_tabkey.png

Fig. 14.48 Sleutel hulplaag

De hulplaag heeft nu deze karakteristieken:

  • de primaire sleutel is ID,

  • er zijn 0 objecten die een hulpveld gebruiken,

  • er zijn 0 hulpvelden.

Nu de hulplaag is gemaakt kunt u de labels van de laag bewerken. Klik op een label terwijl het gereedschap changeLabelProperties Label wijzigen is geactiveerd, dan kunt u eigenschappen voor opmaak bijwerken zoals de grootten, kleuren, enzovoort. De corresponderende data-bepaalde eigenschappen worden gemaakt en kunnen worden opgehaald:

../../../_images/auxiliary_storage_fields.png

Fig. 14.49 Hulpvelden

Zoals u kunt zien in de afbeelding hierboven zijn 21 velden automatisch gemaakt en geconfigureerd voor labelen. Bijvoorbeeld het type voor hulpveld FontStyle is een String en is genaamd labeling_fontstyle in de onderliggende database van SQLite. Er is ook 1 object dat momenteel deze hulpvelden gebruikt.

Merk op dat het pictogram dataDefineOn wordt weergegeven op de tab Labels, wat aangeeft dat de opties voor data-bepaalde ‘override’ correct zijn ingesteld:

../../../_images/auxiliary_storage_dd.png

Fig. 14.50 Data-bepaalde eigenschappen automatisch gemaakt

Anders is er nog een andere manier om een hulpveld te maken voor een specifieke eigenschap, dankzij de knop dataDefined data-bepaalde ‘override’. Door te klikken op Gegevens opslaan in het project wordt automatisch een hulpveld gemaakt voor het veld Doorzichtbaarheid. Als u op deze knop klikt en de hulplaag nog niet is gemaakt, zal eerst een venster Fig. 14.47 worden weergegeven om de primaire sleutel te kiezen voor het koppelen.en

14.1.11.2. Symbologie

Net zoals de hierboven beschreven methode voor het aanpassen van labels, kunnen hulpvelden ook worden gebruikt om symbolen en diagrammen op te maken. Klik, om dat te doen, op dataDefined Data-bepaalde ‘override’ en selecteer Gegevens opslaan in het project voor een specifieke eigenschap. Bijvoorbeeld het veld Vulkleur:

../../../_images/auxiliary_storage_symbol.png

Fig. 14.51 Menu Data-bepaalde eigenschappen voor symbool

Er zijn verschillende attributen voor elk symbool (bijv. opmaak vulling, vulkleur, randkleur, etc. …), dus elk hulpveld dat een attribuut vertegenwoordigt vereist een unieke naam om conflicten te voorkomen. Na het selecteren van Gegevens opslaan in het project, opent een venster en geeft het Type veld weer en vraagt u een unieke naam in te voeren voor het hulpveld. Bijvoorbeeld bij het maken van een hulpveld Vulkleur opent het volgende venster:

../../../_images/auxiliary_storage_symbol_name.png

Fig. 14.52 Naam van het hulpveld voor een symbool

Eenmaal gemaakt kan het hulpveld worden opgehaald vanaf de tab Hulpopslag:

../../../_images/auxiliary_storage_symbol_field.png

Fig. 14.53 Hulpveld symbool

14.1.11.3. Attributentabel en widgets

Hulpvelden kunnen worden bewerkt met de attributentabel. Echter, niet alle hulpvelden zijn initieel zichtbaar in de attributentabel.

Hulpvelden die attributen weergeven van de symbologie, labelen, uiterlijk of diagrammen van een laag zullen automatisch in de attributentabel verschijnen. De uitzondering zijn attributen die aangepast kunnen worden met de werkbalk Label die standaard zijn verborgen. Hulpvelden die een Kleur weergeven hebben standaard een widget Kleur ingesteld, anders hebben hulpvelden standaard een widget Tekst bewerken.

Hulpvelden die attributen weergeven die kunnen worden aangepast met de werkbalk Label zijn standaard Verborgen in de attributentabel. Open de tab Formulier attributen en wijzig de waarde van een hulpveld Widget Type van Verborgen naar een andere relevante waarde om een veld zichtbaar te maken. Wijzig bijvoorbeeld auxiliary_storage_labeling_size naar Tekst bewerken of wijzig auxiliary_storage_labeling_color naar de widget Kleur. Deze velden zullen nu zichtbaar zijn in de attributentabel.

Hulpvelden in de attributentabel zullen er uitzien zoals in de volgende afbeelding:

../../../_images/auxiliary_storage_widgets.png

Fig. 14.54 Formulier met hulpvelden

14.1.11.4. Beheer

Het menu Hulplaag stelt u in staat de hulpvelden te beheren:

../../../_images/auxiliary_storage_actions.png

Fig. 14.55 Beheer hulplaag

Het eerste item Maken is in dit geval uitgeschakeld omdat de hulplaag al is gemaakt. Maar in het geval van een verse start kunt u deze actie gebruiken om een hulplaag te maken. Zoals uitgelegd in Labelen is dan een primaire sleutel nodig.

De actie Leegmaken stelt u in staat alle hulpvelden te behouden maar de inhoud ervan te verwijderen. Op deze manier zal het aantal objecten dat deze velden zal gebruiken terugvallen naar 0.

De actie Verwijderen verwijdert de hulplaag volledig. Met andere woorden: de corresponderende tabel wordt uit de onderliggende database van SQLite verwijderd en aanpassingen aan eigenschappen gaan verloren.

Tenslotte maakt de actie Exporteren het mogelijk de hulplaag op te slaan als een nieuwe vectorlaag. Onthoud dat geometrieën niet worden opgeslagen in hulpopslag. In dit geval worden geometrieën echter ook geëxporteerd vanuit de originele gegevensbron.

14.1.11.5. Database Hulpopslag

Wanneer u uw project opslaat in de indeling .qgs, wordt de database van SQLite, die wordt gebruikt voor de hulpopslag, opgeslagen op dezelfde plaats, maar met de extensie .qgd.

Voor het gemak kan in plaats daarvan een archief worden gebruikt, dankzij de indeling .qgz. In dit geval worden zowel de bestanden .qgd als .qgs ingebed in het archief.

14.1.12. 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 u attribuutwaarden als argumenten meegeeft.

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

Fig. 14.56 Overzicht dialoogvenster Acties met enkele voorbeeldacties

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 verscheidene voorbeelden opgenomen in het dialoogvenster. U kunt deze laden door te klikken op Standaard acties maken. Dubbelklik op een rij om een van de voorbeelden te bewerken. Eén voorbeeld is een zoekactie gebaseerd op een waarde van een attribuut. Dit concept is gebruikt in volgende bespreking.

checkbox In attributentabel weergeven maakt het voor u mogelijk de op geselecteerde objecten gerichte acties in de attributentabel weer te geven, ofwel als Combinatievak of als Afzonderlijke knoppen (bekijk De kolommen configureren).

14.1.12.1. Acties definiëren

Open, om een actie voor een attribuut te definiëren, het vectordialoogvenster Laageigenschappen en klik op de tab Acties. Klik, op de tab Acties, op signPlus Een nieuwe actie toevoegen om het dialoogvenster Actie bewerken te openen.

Selecteer het Type voor de actie 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.

De Bereiken actie maken het voor u mogelijk te definiëren waar de actie beschikbaar zou moeten zijn. U heeft 4 verschillende keuzes:

  1. Bereik van object: actie is beschikbaar bij met rechts klikken in de cel in de attributentabel.

  2. Bereik van veld: actie is beschikbaar bij met rechts klikken in de cel in de attributentabel, in het objectformulier en in de standaard actieknop van de hoofdwerkbalk.

  3. Bereik voor laag: actie is beschikbaar in de actieknop op de werkbalk Attributentabel. Onthoud dat dit type actie de gehele laag betreft en niet alleen de enkele objecten.

  4. Kaartvenster: actie is beschikbaar in de hoofd actieknop op de werkbalk.

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 puntenlaag 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 https://www.google.com/search?q=%nam

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

In het eerste voorbeeld wordt de webbrowser Konqueror gestart en een URL ingegeven als argument. Er wordt een 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 https://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.

14.1.12.2. Acties gebruiken

QGIS biedt vele manieren om acties uit te voeren die u op een laag hebt ingeschakeld. Afhankelijk van hun instellingen zijn zij beschikbaar:

  • in het keuzemenu van de knop actionRun Object-actie uitvoeren op de werkbalk Attributen of het dialoogvenster Attributentabel;

  • bij met rechts klikken op een object met het gereedschap identify Objecten identificeren (bekijk Objecten identificeren voor meer informatie);

  • vanuit het paneel Identificatieresultaten onder het gedeelte Acties;

  • als items van een kolom Acties in het dialoogvenster Attributentabel.

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: https://www.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 Laageigenschappen door in de legenda te dubbelklikken op de laag of door met rechts te klikken en Eigenschappen te selecteren uit het pop-upmenu.

  3. Klik op de tab Acties.

  4. Klik op signPlus Een nieuwe actie toevoegen.

  5. Kies het type actie Open,

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

  7. Aanvullend kunt u een Verkorte naam of zelfs een Pictogram toevoegen.

  8. Kies het Bereik voor de actie. Bekijk Acties definiëren voor meer informatie. Laat voor dit voorbeeld de standaardinstellingen staan.

  9. 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.

  10. Geef, na de naam van de externe toepassing, de URL in waarmee we gaan zoeken in Google, maar zonder de zoekterm: https://www.google.com/search?q=

  11. De tekst in het veld Actie zou er nu als volgt uit moeten zien: https://www.google.com/search?q=

  12. Klik op de keuzelijst die veldnamen voor de vectorlaag lakes bevat. Deze keuzelijst staat links van de knop Toevoegen.

  13. Selecteer NAMES in de keuzelijst en klik op de knop Toevoegen.

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

    https://www.google.com/search?q=[%NAMES%]

  15. Klik op de knop OK om de actie te voltooien en de actie toe te voegen.

../../../_images/add_action_edit.png

Fig. 14.57 Overzicht dialoogvenster Acties bewerken met de voorbeeldacties

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

https://www.google.com/search?q=[%NAMES%]

We kunnen deze actie nu gebruiken. Sluit het dialoogvenster Laageigenschappen. 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:

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

Fig. 14.58 Selecteer een object en kies een actie

Wanneer we op de actie klikken, zal deze Firefox opstarten en navigeren naar de URL https://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 Toevoegen. 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 ook acties activeren vanuit de attributentabel door een rij te selecteren en met rechts te klikken en dan de actie te kiezen uit het pop-upmenu.

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/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" %]')

14.1.13. Tonen

display De tab Tonen helpt u velden te configureren om te gebruiken bij het identificeren van objecten:

  • De Naam: gebaseerd op een veld of een expressie. Dit is:

    • het weergegeven label boven de informatie over het object in de resultaten van het gereedschap Objecten identificeren;

    • het veld dat wordt gebruikt in de werkbalk Lokaliseren bij het zoeken naar objecten op alle lagen

    • de identificatie voor het object in de formulierweergave van de attributentabel

    • de identificatie voor het object wanneer de kaart of lay-out wordt geëxporteerd naar een gelaagde indeling voor uitvoer, zoals GeoPDF

    • de informatie voor de kaarttip, d.i. het bericht dat wordt weergegeven in het kaartvenster als met de muis over een object op de actieve laag wordt gegaan terwijl het pictogram mapTips Kaarttips weergeven is ingedrukt. Van toepassing als geen HTML-kaarttip is ingesteld.

  • De HTML-kaarttip is specifiek gemaakt voor de kaarttips: het is een meer complexe en volledige HTML-tekst die een mix is van velden, expressies en HTML-tags (meerregelig, lettertypen, afbeeldingen, hyperlink…).

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

Fig. 14.59 HTML-code voor tip op kaart

Selecteer, om Kaarttips te activeren, de menuoptie Beeld ► Kaarttips weergeven of klik op het pictogram mapTips Kaarttips weergeven op de werkbalk Attributen. Kaarttips is een doorlopende mogelijkheid voor sessies, wat betekent dat als het eenmaal is ingeschakeld dat zo blijft en wordt toegepast op elke laag in elk project, zelfs in toekomstige sessies van QGIS, totdat het wordt uitgeschakeld.

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

Fig. 14.60 Tip voor kaart gemaakt met HTML-code

14.1.14. Rendering

14.1.14.1. Schaalafhankelijke zichtbaarheid

U kunt de schaal Maximum (inclusief) en Minimum (exclusief) instellen, wat een bereik van schalen definieert waarin de objecten zichtbaar zullen zijn. Buiten dit bereik is hij verborgen. De knop mapIdentification Op huidige schaal kaartvenster instellen helpt u de schaal van het huidige kaartvenster te gebruiken als grens voor de zichtbaarheid van het bereik. Bekijk Schaalafhankelijk renderen voor meer informatie.

14.1.14.2. Geometrie vereenvoudigen

QGIS biedt ondersteuning voor directe generalisatie voor het object. 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 (bekijk globale vereenvoudiging voor meer informatie).

../../../_images/simplify_rendering.png

Fig. 14.61 Dialoogvenster Geometrie voor laag vereenvoudigen

Notitie

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.

Bij het renderen van extreem gedetailleerde lagen (bijv. polygoonlagen met een zeer groot aantal knopen), kan dit zorgen voor extreem grote export naar de indelingen PDF/SVG in afdruklay-out omdat alle knopen worden opgenomen in het geëxporteerde bestand. Dit kan er ook voor zorgen dat het resulterende bestand erg langzaam wordt om mee te werken/te openen in andere programma’s.

Selecteren van checkbox Laag forceren om te renderen als een raster forceert deze lagen om te worden gerasterd zodat de geëxporteerde bestanden niet alle knopen behoeven te bevatten die zijn opgenomen in deze lagen en het renderen wordt daardoor sneller.

U kunt dit ook doen door afdruklay-out te dwingen om als een raster te exporteren, maar dat is een alles-of-niets oplossing, gegeven het feit dat het rasteren wordt toegepast op alle lagen.

Laag bijwerken met interval (seconden): een tijd instellen om individuele lagen automatisch te vernieuwen op een overeenkomende interval. Bijwerken van het kaartvenster wordt uitgesteld om veelvuldig vernieuwen te vermijden indien meer dan één laag een interval heeft ingesteld voor automatisch bijwerken.

Afhankelijk van de gegevensprovider (bijv. PostgreSQL), kunnen notificaties worden verzonden naar QGIS als wijzigingen worden toegepast op de gegevensbron, buiten QGIS. Gebruik de optie checkbox Laag vernieuwen na notificeren om bijwerken af te dwingen. U kunt ook het vernieuwen van de laag beperken tot een specifiek bericht, ingesteld in het tekstvak checkbox Alleen als het bericht is.

14.1.15. Variabelen

expression De tab Variabelen vermeldt alle variabelen die beschikbaar zijn op het niveau van de laag (inclusief alle globale en projectvariabelen).

Het stelt de gebruiker ook in staat om variabelen op het niveau van de laag te beheren. Klik op de knop signPlus om een nieuwe aangepaste variabele op het niveau van de laag toe te voegen. Selecteer op dezelfde wijze een aangepaste variabele op het niveau van de laag en klik op de knop signMinus om hem te verwijderen.

Meer informatie over het gebruiken van variabelen in het gedeelte Waarden opslaan in Variabelen.

14.1.16. Metadata

editMetadata De tab Metadata geeft u opties om een rapport metadata te maken en te bewerken voor uw laag. In te vullen informatie betreft:

  • de gegevens Identificatie: basisgegevens van de gegevensset (ouder, identificatie, titel, abstract, taal…);

  • de Categorieën waartoe de gegevens behoren. Naast de categorieën ISO kunt u aangepaste toevoegen;

  • de Sleutelwoorden om de gegevens op te halen en geassocieerde concepten die een op een standaard gebaseerd woordenboek volgen;

  • de Toegang tot de gegevensset (licenties, rechten, kosten en beperkingen);

  • het Bereik van de gegevensset, ofwel een ruimtelijk (CRS, kaartbereik, hoogtes) of tijdelijk;

  • Contact: contactgegevens voor de eigena(a)ar(en) van de gegevensset;

  • de Links naar aanvullende bronnen en gerelateerde informatie;

  • de Geschiedenis van de gegevensset.

Een overzicht van de ingevulde informatie wordt weergegeven op de tab Validatie en helpt u potentiële problemen te identificeren die zijn gerelateerd aan het formulier. U kunt ze ofwel repareren of negeren.

Metadata worden momenteel opgeslagen in het projectbestand. Zij kunnen ook worden opgeslagen als in een .qmd-bestand naast de op bestanden gebaseerde lagen of in een lokale database .sqlite voor lagen op afstand (bijv. PostGIS).

14.1.17. Afhankelijkheden

dependencies De tab Afhankelijkheden maakt het mogelijk afhankelijkheden voor gegevens te declareren tussen lagen. Een afhankelijkheid voor gegevens treedt op bij bewerken van gegevens in een laag, niet door direct aanpassen door de gebruiker kan gegevens van andere lagen bewerken. Dit is bijvoorbeeld het geval als de geometrie van een laag wordt bijgewerkt door een trigger van de database, of een aangepast script van PyQGIS, na het aanpassen van de geometrie van een andere laag.

Op de tab Afhankelijkheden kunt u lagen selecteren die extern de gegevens op de huidige laag zouden kunnen wijzigen. Correct gespecificeerde afhankelijke lagen stellen QGIS in staat om caches voor deze laag ongeldig te verklaren als de afhankelijke lagen worden gewijzigd.

14.1.18. Legenda

legend De tab Legenda verschaft u geavanceerde instellingen voor het paneel Lagen en/of de legenda voor afdruklay-out. Deze opties omvatten:

  • checkbox Tekst op symbolen: In sommige gevallen kan het nuttig zijn om extra informatie aan de symbolen in de Legenda toe te voegen. Met dit frame kunt u een symbool dat wordt gebruikt in de symbologie voor de laag voorzien van een tekst die over het symbool wordt weergegeven, in zowel het paneel Lagen als de legenda van afdruklay-out. Deze teksten worden gemaakt door elke tekst in te typen naast het symbool in de widget tabel of door de tabel te vullen met de knop Labels instellen vanuit expressie. Het uiterlijk van de tekst wordt afgehandeld door de widgets Lettertype en Kleur van de knop Tekst opmaken.

../../../_images/text_legend_symbols.png

Fig. 14.62 Instellen van tekst op symbolen (links) en het renderen ervan in het paneel Lagen (rechts)

  • een lijst met widgets die u in de boom van lagen in het paneel Lagen kunt inbedden. Het idee erachter is om een manier te hebben om snel toegang te krijgen tot acties die vaak op de laag worden gebruikt (instellen van de transparantie, filteren, selectie, stijl of andere dingen…).

    Standaard verschaft QGIS de widget voor transparantie, maar dit kan worden uitgebreid door plug-ins die hun eigen widgets registreren en aangepaste acties toewijzen aan de lagen die zij beheren.

14.1.19. QGIS Server

overlay De tab QGIS Server bestaat uit de gedeelten Omschrijving, Naamsvermelding, MetadataURL, en LegendUrl.

In het gedeelte Omschrijving kunt u de Korte naam, gebruikt om naar de laag te verwijzen in verzoeken (lees Verkorte namen voor lagen, groepen en project om meer te weten te komen over verkorte namen). U kunt ook een Titel en Samenvatting voor de laag toevoegen of bewerken, of hier een Sleutelwoordenlijst definiëren. Deze sleutelwoordenlijst kan worden gebruikt in een catalogus voor metadata. Als u een titel wilt gebruiken uit een XML- metadatabestand, moet u een 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.

In het gedeelte LegendUrl kunt u de URL van een afbeelding voor de Legenda invullen in het veld URL. U kunt de keuzelijst voor de optie Formaat selecteren om de toepasselijke indeling voor de afbeelding toe te passen. Momenteel worden de indelingen voor afbeeldingen png, jpg en jpeg ondersteund.

../../../_images/vector_server_properties.png

Fig. 14.63 Tab QGIS Server in dialoogvenster Laageigenschappen

Lees de QGIS Server Gebruikershandleiding om meer te leren over QGIS Server.

14.1.20. Digitaliseren

digitizing De tab Digitaliseren geeft toegang tot opties die helpen bij het bewaken van de kwaliteit van gedigitaliseerde geometrieën.

../../../_images/vector_digitizing_properties.png

Fig. 14.64 Tab Digitaliseren in dialoogvenster Laageigenschappen

14.1.20.1. Automatisch repareren

Opties in het gedeelte Automatisch repareren zullen de punten van een geometrie die wordt toegevoegd of gewijzigd direct beïnvloeden. Als de optie checkbox Duplicaatknopen verwijderen is geselecteerd, zullen tweede opeenvolgende punten, die exact dezelfde coördinaten hebben, worden verwijderd. Als de Precisie voor geometrie is ingesteld, zullen alle punten worden afgerond naar het dichtstbijzijnde veelvoud van de geconfigureerde precisie voor de geometrie. Het afronden vindt plaats in het coördinaten referentiesysteem voor de laag. waarden Z en M worden niet afgerond. Met veel kaartgereedschappen kan een raster worden weergegeven in het kaartvenster bij het digitaliseren.

14.1.20.2. Controles voor geometrie

In het gedeelte Controles voor geometrie kunnen aanvullende validaties op een per geometrie basis worden geactiveerd. Onmiddellijk na een wijziging van een geometrie worden mislukkingen in deze controles gerapporteerd aan de gebruiker in het paneel Validatie geometrie. Zolang een controle mislukt is het niet mogelijk de laag op te slaan. De controle checkbox Is geldig zal basiscontroles voor geldigheid uitvoeren, zoals zelf kruisen voor geometrieën.

14.1.20.3. Controles topologie

In het gedeelte Controles topologie kunnen aanvullende controles voor de geldigheid van topologie worden geactiveerd. Controles voor topologie zullen worden uitgevoerd als de gebruiker de laag opslaat. Fouten in de controles zullen worden gerapporteerd in het paneel Validatie geometrie. Zolang als er fouten voor de geldigheid aanwezig zijn kan de laag niet worden opgeslagen. Controles voor topologie worden uitgevoerd in het gebied van het begrenzingsvak van de gewijzigde objecten. Omdat ook andere objecten in hetzelfde gebied aanwezig zouden kunnen zijn, worden fouten in de topologie met betrekking tot deze objecten ook gerapporteerd als ook fouten die werden geïntroduceerd tijdens de huidige sessie van bewerken.

Optie Controles topologie

Illustratie

De controle checkbox Gap zal controleren op gaten tussen naburige polygonen.

../../../_images/gapcheck.png

De controle checkbox Overlap zal controleren op overlappingen tussen naburige polygonen.

../../../_images/overlapcheck.png

De controle checkbox Missing vertex zal controleren op gedeelde grenzen van naburige polygonen waar één grens een punt mist dat wel aanwezig is op de andere.

../../../_images/missingvertexcheck.png

14.1.20.3.1. Uitzonderingen controle Gaten

Soms is het gewenst om gaten binnen een gebied in een polygoonlaag te hebben dat anders volledig zou worden bedekt door polygonen. Een laag voor landgebruik zou bijvoorbeeld te accepteren gaten voor meren mogen hebben. Het is mogelijk gebieden te definiëren die zullen worden genegeerd bij de controle van gaten. Omdat gaten binnen deze gebieden zijn toegestaan, zullen we naar ze verwijzen als gebieden Toegestane gaten.

In de opties voor de controles van gaten onder Toegestane gaten, kan een Laag met toegestane lagen worden geconfigureerd.

Elke keer als de controle voor gaten wordt uitgevoerd, worden gaten die worden bedekt door één of meer polygonen in de Laag met toegestane gaten niet gerapporteerd als topologiefouten.

Het is ook mogelijk een aanvullende Buffer te configureren. Deze buffer wordt toegepast op elke polygoon op de Laag met toegestane gaten. Dit maakt het mogelijk de testen minder ontvankelijk te maken voor kleine wijzigingen in de omtrekken aan de grenzen of gaten.

Als Toegestane gaten zijn ingeschakeld, is een aanvullende knop (Toegestaan gat toevoegen) voor gedetecteerde fouten met gaten beschikbaar in het venster voor validatie van de geometrie, waar gaten worden gerapporteerd tijdens het digitaliseren. Als op de knop Toegestaan gat toevoegen wordt gedrukt, zal een nieuwe polygoon met de geometrie van het gedetecteerde gat worden ingevoegd in de Laag met toegestane gaten. Dit maakt het mogelijk gaten snel als toegestaan te vlaggen.