Outdated version of the documentation. Find the latest one here.

Werken met de attributentabel

De attributentabel toont de objecten van een geselecteerde laag. Elke regel in de tabel geeft één kaartobject weer en elke kolom bevat een attribuutwaarde die een stukje informatie bevat over het object. Objecten in de tabel kunnen worden opgezocht, geselecteerd, verplaatst en zelfs bewerkt.

Maak, om de attributentabel voor een vectorlaag te openen, de laag actief door deze te selecteren in de legenda. Open dan de attributentabel via het menu Kaartlagen, kies openTable Attributentabel openen. Dat is ook mogelijk door, met de rechter muisknop op een laag in de legenda te klikken, het snelmenu te openen en hierin openTable Attributentabel openen te kiezen. U kunt deze ook openen met de knop openTable Attributentabel openen op de werkbalk Attributen.

Dit zal een nieuw venster openen dat de attributen voor de objecten van de laag weergeeft (figure_attributes_1). Het aantal objecten en het aantal geselecteerde objecten wordt getoond in de titel van de attributentabel.

Figure Attributes 1:

../../../_images/vectorAttributeTable.png

Attributentabel voor de laag regions

De knoppen boven in het venster van de attributentabel bieden de volgende functionaliteiten:

  • toggleEditing Bewerken aan/uitzetten om functionaliteiten voor bewerken te activeren (ook met Ctrl+e)

  • saveEdits Wijzigingen opslaan (ook met Ctrl+s)

  • draw De tabel opnieuw laden

  • newTableRow Object toevoegen

  • deleteSelected Geselecteerde objecten verwijderen (ook met Ctrl+d)

  • expressionSelect Objecten selecteren met behulp van een reguliere expressie

  • selectAll Alles selecterenl (ook met Ctrl+a)

  • invertSelection Selectie omdraaien (ook met Ctrl+r)

  • unselectAttributes Deselecteer alles (ook met Ctrl+u)

  • selectedToTop Verplaats selectie naar boven (ook met Ctrl+t)

  • panToSelected Verschuif de kaart naar de geselecteerde rijen (ook met Ctrl+p)

  • zoomToSelected Zoom kaart naar de geselecteerde rijen (ook met Ctrl+j)

  • copySelected Kopieer geselecteerde rijen naar klembord (ook met Ctrl+c)

  • editPaste Objecten vanaf klembord plakken (ook met Ctrl+v)

  • deleteAttribute Verwijder kolom voor PostGIS lagen en voor OGR lagen geopende met GDAL driver versie >= 1.9 (ook met Ctrl+l)

  • newAttribute Nieuwe kolom voor PostGIS lagen en voor OGR lagen met GDAL versie >= 1.6 (ook met Ctrl+w)

  • |valculateField| Open veldberekening (ook met Ctrl+i)

Onder deze knoppen staat de werkbalk Veldberekening (alleen ingeschakeld in de modus Bewerken), die het mogelijk maakt berekeningen snel toe te passen op ofwel alle of de geselecteerde attributen in de tabel. Deze werkbalk gebruikt dezelfde expressies als calculateField Veldberekening (zie Veldberekening).

Tip

**WKT-geometrie overslaan **

Als u gegevens van attributen in externe programma’s (zoals Excel) wilt gebruiken, gebruik dan de knop copySelected Kopieer geselecteerde rijen naar klembord. De gegevens kunnen gekopieerd worden zonder informatie over de geometrie als in Extra ‣ Opties ‣ tab Databronnen het keuzevak checkbox Platte tekst, WKT geometrie niet is geselecteerd.

Het selecteren van objecten in een attributentabel

Elke geselecteerde rij in de attributentabel toont de attributen van een geselecteerd object in de laag. Wanneer het aantal geselecteerde objecten in de kaart veranderd, zal dit direct worden bijgewerkt in de attributentabel. Ook wanneer in de attributentabel de selectie wijzigt zal de selectie in de kaart worden bijgewerkt.

Rijen kunnen worden geselecteerd door te klikken op het rijnummer aan de linkerkant. Meerdere rijen kunnen worden geselecteerd met de Ctrl toets ingedrukt gehouden. Een Opvolgende selectie kan worden gemaakt door de Shift toets in te drukken en een rijnummer aan de linkerkant. Alle rijen tussen de rij waarin zich de cursor bevindt en de aangeklikte rij worden geselecteerd. Het veranderen van de cursorpositie door in een andere cel van de tabel te klikken, zal de selectie niet aanpassen. Het wijzigen van de selectie in het kaartvenster, zal niet de cursorpositie in de attributentabel wijzigen.

De tabel kan gesorteerd worden per kolom, door een kolomkop te selecteren. Een kleine pijl wijst de sorteervolgorde aan (een pijl omhoog betekent: de waarden zijn oplopend gesorteerd van boven naar beneden, pijl omlaag betekent: de waarden zijn aflopend gesorteerd van boven naar beneden).

Voor een simpele zoekactie op attribuutwaarden op één kolom, selecteer de Veldfilter ‣ van het keuzemenu links onderin. Selecteer vervolgens het veld (kolom) waarin gezocht moet worden met de inhoud van het veld Zoeken naar en selecteer de knop [Zoek]. Vervolgens worden alleen overeenkomende objecten getoond in de attributentabel.

U moet het pictogram expressionSelect Selecteer objecten m.b.v. reguliere expressie boven in de attributentabel gebruiken om een selectie te maken. expressionSelect Selecteer objecten m.b.v. reguliere expressie stelt u in staat een subset van een tabel te definiëren met behulp van een Functielijst zoals in calculateField Veldberekening (bekijk Veldberekening). Het resultaat van de query kan dan worden opgeslagen als een nieuwe vectorlaag. Als u bijvoorbeeld regio’s wilt vinden die gemeenten zijn in het bestand regions.shp van de voorbeeldgegevens van QGIS, moet u het menu Velden en waarden openen en het veld kiezen dat u wilt bevragen. Dubbelklik op het veld ‘TYPE_2’ en ook op [alle unieke]. Kies, uit de lijst, en dubbelklik op ‘Borough’. In het veld Expressie verschijnt de volgende query:

"TYPE_2"  =  'Borough'

Hier kunt u ook gebruiken Functielijst ‣ Recent (Selectie) om een selectie te maken die u eerder hebt gebruikt. De expressiebouwer onthoudt de laaste 20 gebruikte expressies.

De overeenkomstige rijen worden geselecteerd en het aantal zal weergegeven worden in de titel van de attributentabel en in de statusbalk van het hoofdscherm. Voor zoekopdrachten die alleen geselecteerde objecten op de kaart toont, gebruik de Querybouwer die beschreven is in Querybouwer.

Om alleen geselecteerde regels te tonen, selecteer Geselecteerde objecten weergeven in het menu linksonder. Bekijk het volgende gedeelte voor meer informatie over de mogelijkheden om objecten te filteren.

De werkbalk Veldberekening stelt u in staat berekeningen te maken op alleen de geselecteerde rijen. U kunt, bijvoorbeeld, het nummer van het veld ID van de laag regions.shp wijzigen met de expressie

ID+5

zoals weergegeven in figure_attributes_1 .

Objecten filteren

Aan de onderzijde van de attributentabel staat een keuzelijst met verschillende filters:

  • Alle objecten tonen;

  • Geselecteerde objecten weergeven;

  • Op kaart zichtbare objecten tonen;

  • Gewijzigde en nieuwe objecten tonen;

  • Veldfilter;

  • Geavanceerd filter (Expressie);

De eerste vier spreken voor zich, de twee laatste zijn filters voor expressies. Veldfilter stelt de gebruiker in staat de naam van een kolom uit de lijst te kiezen en een eenvoudig formulier toe te voegen aan de rechterzijde van de keuzelijst om te filteren met een parameter die lijkt op een expressie like. Dit filter zal een expressiefilter maken als een Geavanceerd filter. Het laatste soort filter zal een venster voor een expressie openen, bekijk Expressies voor meer informatie.

Modus Tab/formulier

Standaard geeft het venster van de attributentabel een lay-out als tabel weer. In sommige gevallen zou men de voorkeur voor de lay-out van een formulier kunnen hebben om bepaalde objecten wat gemakkelijker te kunnen bewerken.

U kunt overschakelen naar de lay-out van een formulier door in de rechter benedenhoek te klikken op openForm en terugschakelen naar de lay-out van de tabel met openTable.

Naar object inzoomen

Klik met rechts, om in te zoomen op een object, zonder het te selecteren, op het object, in de attributentabel, waarop u in wilt zoomen en selecteer Naar object inzoomen.

Opslaan van geselecteerde objecten als een nieuwe laag

De geselecteerde objecten kunnen worden opgeslagen in alle door OGR ondersteunde vectorindelingen en ook worden omgezet naar een ander Coördinaten Referentie Systeem (CRS). Open het menu voor de rechter muisknop van de laag en selecteer Opslaan als om vervolgens een naam voor het uitvoerbestand op te geven, het gewenste indeling en het CRS (zie Paneel Lagen). Zorg er voor dat het checkbox Alleen geselecteerde objecten opslaan is geselecteerd om de selectie op te slaan. Het is ook mogelijk om opties voor het maken van OGR op te geven in het dialoogvenster.

Plakken in een nieuwe laag

Objecten die op het klembord staan kunnen worden geplakt in een nieuwe laag. Maak de laag eerst bewerkbaar om dit te kunnen doen. Selecteer enkele objecten, kopieer ze naar het klembord, en plak ze dan in de nieuwe laag met behulp van Bewerken ‣ Objecten plakken en kies Nieuwe vectorlaag of Nieuwe geheugenlaag.

Dit is van toepassing op geselecteerde en gekopieerde objecten binnen QGIS en ook voor objecten uit andere bronnen die zijn gedefinieerd met behulp van bekende tekst (WKT).

Attribuutwaarden bewerken

De knop calculateField Veldberekening in de attributentabel geeft de mogelijkheid om berekeningen uit te voeren van bestaande waarden van attributen of gedefinieerde functies, bijvoorbeeld om de lengte of oppervlakte van geometrie-objecten te berekenen. De resultaten kunnen worden weggeschreven naar een nieuw attribuutveld, een virtueel veld, of zij kunnen worden gebruikt om de waarden in een bestaand attribuutveld bij te werken.

Een virtueel veld is een veld dat is gebaseerd op een direct berekende expressie, wat betekent dat zijn waarde automatisch wordt bijgewerkt zodra de onderliggende parameters wijzigen. De expressie wordt één keer ingesteld; u hoeft niet langer het veld elke keer opnieuw te berekenen als de onderliggende waarde wijzigt. U zou, bijvoorbeeld, een virtueel veld willen gebruiken als gebieden wilt laten evalueren bij het digitaliseren van objecten of om automatisch een duur te laten bereken tussen datums die zouden kunnen wijzigen (bijv. bij het gebruiken van de functie now()).

Notitie

Virtuele velden gebruiken

  • Virtuele velden staan niet permanent in de attributen van de laag, wat betekent dat zij alleen worden opgeslagen en beschikbaar zijn in het projectbestand waarin zij zijn gemaakt.

  • Een veld kan alleen als virtueel worden ingesteld bij het maken ervan en de gebruikte expressie kan later niet worden gewijzigd: u zult het veld moeten verwijderen en dat veld opnieuw aan moeten maken.

De Veldberekening is nu beschikbaar op elke laag die bewerken ondersteunt. Wanneer u op het pictogram Veldberekening klikt opent het dialoogvenster (zie figure_attributes_3). Als de laag niet in de modus Bewerken staat, wordt een waarschuwing weergegeven en het gebruiken van Veldberekening zal er voor zorgen dat de laag in de modus Bewerken wordt gezet vóórdat de berekening wordt uitgevoerd.

De werkbalk Snelle veldberekening, boven in de attributentabel, is alleen zichtbaar als de laag in de modus Bewerken staat.

Selecteer, op de werkbalk Snelle veldberekening, eerst de bestaande veldnaam en open dan het dialoogvenster Expressie om uw expressie te maken, of voer die direct in in het veld en klik op de knop [Alles bijwerken], [Geselecteerde bijwerken] of [Gefilterde lijst bijwerken], al naar gelang uw wensen.

Veldberekening

Gebaseerd op het dialoogvenster Expressiebouwer, biedt het dialoogvenster Veldberekening een volledige interface om een expressie te definiëren en die toepassen op een bestaand of nieuw gemaakt veld. U moet eerst selecteren of u alleen geselecteerde objecten wilt bijwerken, of dat een nieuw attribuutveld moet worden aangemaakt waarin de resultaten van de berekening zullen worden toegevoegd of dat een bestaand attribuutveld moet worden bijgewerkt om Veldberekening te kunnen gebruiken.

Figure Attributes 2:

../../../_images/fieldcalculator.png

Veldberekening

Als u er voor kiest een nieuw veld toe te voegen, dient een veldnaam, een veldtype (geheel getal, decimaal getal of tekst), de totale veldlengte en de precisie te worden opgegeven (zie figure_attributes_2). Als u bijvoorbeeld voor een veldlengte van 10 en een precisie van 3 kiest, betekent dit dat u ruimte heeft voor 6 tekens voor de punt, daarna de punt en daarachter nog 3 tekens voor de precisie.

Een kort voorbeeld illustreert het gebruik van Veldberekening bij het gebruiken van de tab Expressie. We willen de lengte van de laag railroads van de voorbeeld dataset van QGIS berekenen in km:

  1. Laad het shapefile railroads.shp in QGIS en selecteer openTable Attributentabel openen.

  2. Klik op toggleEditing Bewerken aan/uitzetten en open het dialoogvenster calculateField Veldberekening.

  3. Selecteer het keuzevak checkbox Nieuw veld aanmaken om berekeningen op te slaan in het nieuwe veld.

  4. Voeg lengte toe als resultaatveld, selecteer Decimaal getal (real) als veldtype en geef een veldlengte op van 10 en een precisie van 3.

  5. Dubbelklik nu op de functie $length in de groep Geometry om die toe te voegen als $length in het vak voor de expressie van de Veldberekening.

  6. Maak de expressie compleet door “/1000” in te typen in het vak voor de expressie van de berekening en druk op [OK].

  7. U zult nu een nieuw veld lengte in de attributentabel terugvinden.

Werken met niet ruimtelijke attributentabellen

QGIS staat u ook toe om niet ruimtelijke tabellen te openen. Dit betreffen door OGR ondersteunde tabellen, tekengescheiden tekst en de PostgreSQL, MSSQL en Oracle databasetabellen. De tabellen kunnen worden gebruikt voor mogelijke veldwaarden of alleen voor het bekijken en bewerken gebruik makende van de tabellenweergave. Wanneer de tabel wordt geladen kunt u dit zien in de legenda. Wanneer deze tabel wordt geopend met de openTable Open Attributentabel kan deze bewerkt worden als elke ander laag in de attributentabel.

Als een voorbeeld kunt u kolommen van een niet ruimtelijke tabel gebruiken om tijdens het digitaliseren de in te geven waarde voor een veld te beperken tot een set mogelijke attribuutwaarden of een bereik van waarden. Bekijk het widget voor bewerken in Menu Velden wat nader voor meer informatie.

Voorwaardelijke opmaak van tabelcellen

U kunt het paneel voorwaardelijke opmaak inschakelen door te klikken op rendererAttributeTable aan de rechter bovenkant van het venster Attributen in de tabelweergave (niet beschikbaar in de weergave als formulier).

Het nieuwe paneel stelt de gebruiker in staat om nieuwe regels toe te voegen voor de voorwaardelijke opmaak van het veld of de volledige rij met betrekking tot de expressie voor dat veld. Toevoegen van een nieuwe regel opent een formulier om te definiëren:

  • de naam van de regel,

  • een voorwaarde uit het venster Expressie,

  • een voorkeuze opmaak

  • enkele andere parameters om de opmaak te verbeteren, te wijzigen of in te stellen:

    • achtergrond- en tekstkleuren

    • gebruik van pictogram,

    • vet, cursief onderstreept, of doorgehaald,

    • tekstveld,

    • lettertype.

Figure Attributes 3:

../../../_images/attribute_table_conditional_formating.png

Voorwaardelijke opmaak van een attributentabel

Een tot veel-relaties maken

Relaties zijn een techniek die veel gebruikt wordt in databases. Het concept is, dat objecten (rijen) van verschillende lagen (tabellen) aan elkaar kunnen behoren.

Als voorbeeld heeft u een laag met alle regio’s van Alaska (polygoon) die verschillende attributen verschaft over de naam ervan en het regiotype en een unieke id (die dient als primaire sleutel).

Secundaire sleutels

Dan krijgt u een andere laag met punten of tabel met informatie over vliegvelden die in de regio’s liggen en u wilt ook deze bijhouden. Als u ze wilt toevoegen aan de laag van de regio’s, dient u een één tot veel-relatie te maken met behulp van secundaire sleutels, omdat er meerdere vliegvelden in de meeste regio’s liggen.

Figure Relations 1:

../../../_images/relations1.png

Regio Alaska met vliegvelden

Maak in aanvulling op de reeds bestaande attributen in de attributentabel van de vliegvelden een ander veld fk_region dat optreedt als een secundaire sleutel (als u een database heeft, wilt u er waarschijnlijk een voorwaarde aan verbinden).

Dit veld fk_region zal altijd een ID van een regio bevatten. Het kan worden gezien als een verwijzing naar de regio waartoe het behoort. En u kunt een aangepaste vorm voor het bewerken ontwerpen en QGIS zorgt dan voor de instellingen. Het werkt voor verschillende providers (dus u kunt het ook gebruiken met shape- en CSVbestanden) en alles wat u hoeft te doen is QGIS de relaties tussen uw tabellen te vertellen.

Lagen

QGIS maakt geen verschil tussen een tabel en een vectorlaag. In feite is een vectorlaag een tabel met een geometrie. Dus kunt u uw laag tabel als een vectorlaag toevoegen. U kunt, om het te demonstreren, het shapefile ‘region’ laden (met geometrieën) en de csv-tabel ‘airport’ (zonder geometrieën) en een secundaire sleutel (fk_region) aan de laag region. Dit betekent dat elk vliegveld tot precies één regio behoort terwijl elke regio een onbepaald aantal vliegvelden kan hebben (een typische een tot veel-relatie).

Definitie (Relatiebeheer)

Het eerste dat gaan we doen is om QGIS in kennis te stellen van de relaties tussen de lagen. Dit wordt gedaan in Project ‣ Projecteigenschappen. Open het menu Relaties en klik op Relatie toevoegen.

  • Naam zal worden gebruikt als de titel. Het zou een door mensen te lezen tekenreeks moeten zijn, die beschrijft waar de relatie voor wordt gebruikt. We zullen het in dit geval eenvoudigweg “Vliegvelden” noemen.

  • Referentielaag (Child) is die met het veld voor de secundaire sleutel erin. In ons geval is dat de laag airports

  • Referentieveld wil zeggen welk veld naar de andere laag verwijst dus dat is in dit geval fk_region

  • Referentielaag (Parent) is die waarnaar de primaire sleutel verwijst, dus hier is het de laag regions

  • Referentieveld is de primaire sleutel van de laag waarnaar verwezen wordt, dus dit is ID

  • id zal worden gebruikt voor interne doeleinden en moet uniek zijn. U zou mogelijk een aangepaste formulier willen maken als het eenmaal ondersteund wordt. Als u het leeg laat zal er een voor u worden gegenereerd maar u kunt er zelf een toewijzen als dat voor u eenvoudiger is.

Figure Relations 2:

../../../_images/relations2.png

Relatiebeheer

Formulieren

Nu QGIS van de relatie weet zal het worden gebruikt om de formulieren te verbeteren die het genereert. Als we de standaard methode voor het formulier niet wijzigden (autogenerated) zal het eenvoudigweg een nieuw widget in ons formulier maken. Dus laten we de laag regions selecteren in de legenda en het gereedschap Objecten identificeren gebruiken. Afhankelijk van uw instellingen zou het formulier direct kunnen openen of u moet het kiezen om het openen in het dialoogvenster Identificatieresultaten onder Acties.

Figure Relations 3:

../../../_images/relations3.png

Dialoogvenster Identificatieresultaten regions met relatie naar vliegvelden

Zoals u kunt zien worden de vliegvelden die tot deze bepaalde regio zijn toegewezen weergegeven in een tabel. En er zijn ook enkele knoppen beschikbaar. Laten we die even kort bekijken

  • De knop toggleEditing is voor het aan of uitzetten van het bewerken. Onthoud dat het de modus Bewerken voor de laag airports schakelt, hoewel we in het objectformulier van een object uit de laag regions staan. maar de tabel geeft objecten weer uit de laag airports.

  • De knop signPlus zal een nieuw object aan de laag airports toevoegen. En het zal standaard het nieuwe vliegveld toevoegen aan de huidige regio.

  • De knop remove zal het geselecteerde vliegveld permanent verwijderen.

  • Het symbool link zal een nieuw dialoogvenster openen waar u een bestaand vliegveld kunt selecteren dat dan zal worden toegevoegd aan de huidige regio. Dit kan handig zijn als u per ongeluk eerder het vliegveld in de verkeerde regio maakte.

  • Het symbool unlink zal het geselecteerde vliegveld loskoppelen van de huidige regio en het daarna als niet toegewezen beschouwen (de secundaire sleutel wordt op NULL gezet).

  • De twee knoppen aan de rechterkant schakelen tussen de tabelweergave en de formulierweergave waarbij de laatste u de vliegvelden laat zien in hun respectievelijke formulier.

Als u werkt aan de tabel airports, wordt een nieuw type widget beschikbaar dat u het objectfomulier van de regio waarnaar verwezen wordt laat inbedden in het objectformulier van de vliegvelden. Het kan worden gebruikt als u de laageigenschappen van de tabel airports opent, schakelt naar het menu Velden en het type widget van het veld van de secundaire sleutel ‘fk_region’ wijzigt naar Relatieverwijzing.

Als u nu kijkt naar het dialoogvenster van het object, zult u zien dat het formulier van de regio nu is ingebed in het formulier van de vliegvelden en zelfs een combinatievak zal hebben, wat u in staat stelt het huidige vliegveld aan een andere regio toe te wijzen.

Figure Relations 4:

../../../_images/relations4.png

Dialoogvenster Identificatieresultaten airports met relatie naar regio’s