Autonummering van een veld in QGIS

Autonummering om veld een uniek nummer te geven, is iets heel gewoon in databases zoals bijvoorbeeld PostgreSQL met een Serial veldtype, maar ook voor andere databronnen kan dit heel handig zijn. Hieronder geef ik een voorbeeld van hoe je dat in QGIS kan doen. Dit is een manier van autonummering in QGIS die voor alle soorten vectorkaartlagen bruikbaar is, dus ook voor bijvoorbeeld shapefiles.

Dit voorbeeld is opgesplitst in twee delen. In het eerste deel wordt uitgelegd hoe je een uniek nummer kan toevoegen aan al bestaande features. In het tweede deel van dit voorbeeld staat uitgelegd hoe je een autonummering toevoegt aan nieuwe features.

Een uniek nummer toevoegen aan bestaande features

Als je een kaartlaag hebt met daarin al bestaande features (punten, lijnen of vlakken), is de eerste stap die we moeten doen een veld toevoegen met daarin een uniek nummer voor die al bestaande features.

Dit gaan we doen met behulp van de Field Calculator (Veldberekening).

  • Als je de Field Calculator geopend hebt voor je kaartlaag, vink je eerst aan dat je een nieuw veld wil aanmaken (Create a new field). 
  • Daarna geef je het nieuwe veld een naam. Voor dit voorbeeld geven we dat de naam “nummering”.
  • Zorg ervoor dat het type veld (Output field type) op integer staat. 
  • Daarna zet je in het Expression vak @row_number.
  • Klik op OK

Een autonummering toevoegen voor nieuwe features

In dit deel zullen we een automatisch een uniek nummer toevoegen als er een feature wordt toegevoegd aan een kaartlaag.  Voor dit deel van het voorbeeld gaan we er van uit dat de kaartlaag een veld van het type integer bevat waarin we de unieke nummers willen zetten.  Dit kan door uit te voeren wat er in het eerste deel van dit voorbeeld staat of door zelf een extra veld van het type integer toe te voegen aan je kaartlaag.  Voor dit voorbeeld gaan we er van uit dat het veld voor de unieke waarden “nummering” heet.

  • Open de Properties (Eigenschappen) van je kaartlaag en ga daar naar het tabblad Attributes Form (Formulier attributen).
  • Selecteer bij de Available Widgets (Beschikbare widgets) het veld waaraan je de autonummering wil toevoegen. In dit voorbeeld is dat “nummering”.
  • Vink het vakje Editable onder General (Aanpasbaar onder Algemeen) uit.
  • Zet in het vakje Default value (Standaardwaarde): maximum(“nummering”)+1. Hierbij is “nummering” de naam van het veld waarvoor we de autonummering willen instellen.
  • Klik op OK

Wat we hiermee doen, is dat we kijken wat tot nu toe de maximumwaarde is in het veld “nummering” en voor de nieuwe feature geven we dat veld een waarde dat 1 hoger is dan dat maximum.

Als je nu nieuwe features toevoegt, krijgen die automatisch een uniek nummer in het veld “nummering”.

BELANGRIJK: Dit trucje werkt alleen maar als je manueel intekent. Als je bijvoorbeeld features toevoegt via Copy-Paste, dan zal het veld nummering leeg zijn.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.