Belangrijk
Vertalen is een inspanning van de gemeenschap waaraan u deel kunt nemen <translation_guidelines>. Deze pagina is momenteel voor 100.00% vertaald.
5.3. Les: Formulieren
Wanneer u nieuwe gegevens toevoegt via digitaliseren, zult u geconfronteerd worden met een dialoogvenster dat u de attributen voor dat object laat invullen. Dit dialoogvenster is echter, als standaard, niet erg netjes om naar te kijken. Dat kan gebruiksproblemen veroorzaken, in het bijzonder als u zeer grote gegevenssets heeft om te maken, of als u wilt dat andere mensen u helpen digitaliseren en zij de standaard formulieren verwarrend vinden.
Gelukkig laat QGIS u uw eigen aangepaste dialoogvensters voor een laag maken. Deze les laat u zien hoe.
Het doel voor deze les: Een formulier voor een laag maken.
5.3.1. ★☆☆ Volgen: QGIS gebruiken’ Functionaliteit Formulieren ontwerpen
Selecteer de laag
roads
in het paneel LagenGa, zoals eerder, naar modus Bewerken
Open de attributentabel van de laag
roads
Klik met rechts op een willekeurige cel in de tabel. Een kort menu zal verschijnen dat het item Formulier openen bevat.
Klik er op om het formulier te zien dat QGIS maakt voor deze laag
Uiteraard zou het leuker zijn om dit te kunnen doen als we naar de kaart kijken, in plaats van altijd naar een specifieke straat te moeten zoeken in de Attributentabel.
Selecteer de laag roads in het paneel Lagen
Klik, met het gereedschap Objecten identificeren, op een straat in de kaart.
Het paneel Identificatieresultaten opent en geeft een boomweergave van de waarden van de velden en andere algemene informatie over het aangeklikte object weer.
Selecteer, aan de bovenzijde van het paneel, het keuzevak Automatisch formulier openen voor resultaten van enkele objecten in het menu Instellingen objecten identificeren.
Klik nu opnieuw op een straat in de kaart. Naast het eerdere dialoogvenster Identificatieresultaten, zult u het nu bekende formulier zien:
Elke keer als u op een enkel object klikt met het gereedschap Objecten identificeren, komt het formulier naar voren zolang het keuzevak Auto openen formulier is geselecteerd.
5.3.2. ★☆☆ Probeer zelf: Het formulier gebruiken om waarden te bewerken
Als u in de modus Bewerken bent kunt u dit formulier gebruiken om de waarden van de attributen van het object te bewerken.
Activeer de modus Bewerken (als die al niet actief is).
Klik, met het gereedschap Objecten identificeren, op de hoofdweg die door Swellendam loopt:
Bewerk zijn waarde highway naar
secondary
.Schakel de modus Bewerken uit en sla uw wijzigingen op
Open de Attributentabel en merk op dat de waarde is bijgewerkt in de attributentabel en daarom ook in de brongegevens
5.3.3. ★★☆ Volgen: Veldtypen voor formulieren instellen
Het is aardig om dingen met behulp van een formulier te bewerken, maar u moet nog steeds alles met de hand invoeren. Gelukkig hebben formulieren verschillende soorten zogenoemde widgets die u in staat stellen gegevens op diverse verschillende manieren te bewerken.
Open de Eigenschappen… van de laag roads
Schakel naar de tab Velden. U zult dit zien:
Schakel naar de tab Formulier attributen. U zult dit zien:
Klik op de rij
oneway
en kies Keuzevak als Type Widget in de lijst met opties:Klik op OK
Ga naar de modus Bewerken (als de laag
roads
al niet in de modus Bewerken staat)Klik op dezelfde hoofdweg die u eerder al koos
U zult nu zien dat het attribuut oneway een keuzevak ernaast heeft staan met de opties True
(geselecteerd) of False
(niet geselecteerd).
5.3.4. ★★★ Probeer zelf:
Stel een meer toepasselijk formulierwidget in voor het veld highway.
Antwoord
Voor het TYPE is er natuurlijk een beperkt aantal types dat een weg kan hebben, en als u de attributentabel voor deze laag controleert, zult u zien dat zij vooraf gedefinieerd zijn.
Stel de widget in op Waardenkaart en klik op Gegevens uit laag laden.
Selecteer roads in het keuzemenu Label en highway voor zowel de optie Waarde als Omschrijving:
Klik driemaal op OK.
Als u het gereedschap Objecten identificeren nu op een straat gebruikt terwijl de modus Bewerken actief is, zou het dialoogvenster dat u krijgt er zo uit moeten zien:
5.3.5. ★★★ Probeer zelf: Testgegevens maken
U kunt ook uw eigen aangepaste formulier volledig vanaf de grond opbouwen.
Maak een enkele puntlaag genaamd
test-data
met twee attributen:naam (tekst)
leeftijd (integer)
Leg enkele punten vast op uw nieuwe laag met behulp van de gereedschappen voor digitaliseren, zodat u enige gegevens heeft om mee te werken. U zou, elke keer dat u een nieuw punt vastlegt, moeten worden geconfronteerd met het standaardformulier voor QGIS voor gegenereerde attributen.
Notitie
U moet misschien Snappen uitschakelen als dat nog steeds is ingeschakeld vanuit eerdere taken.
5.3.6. ★★★ Volgen: Een nieuw formulier maken
Nu willen we ons eigen aangepaste formulier maken voor de fase van het vastleggen van de attribuut-gegevens. U moet QT Designer hebben geïnstalleerd om dit te kunnen doen (alleen nodig voor degene die de formulieren maakt).
Start QT Designer.
Maak, in het dialoogvenster dat verschijnt, een nieuw dialoogvenster:
Zoek naar de Widget Box langs de linkerzijde van uw scherm (standaard). Het bevat een item genaamd Line Edit.
Klik en sleep dit item op uw formulier. Dit maakt een nieuw Line Edit in het formulier.
Met het nieuwe element Line Edit geselecteerd, zult u zijn properties zien langs de rand van uw scherm (standaard aan de rechterzijde):
Stel zijn naam in op
naam
.Maak, met behulp van dezelfde benadering, een nieuw Spin Box en stel zijn naam in op
leeftijd
.Voeg een Label toe met de tekst
Nieuwe persoon toevoegen
in een vet lettertype (kijk in de properties van het object om te zien hoe deze in te stellen). Als alternatief wilt u misschien de titel van het dialoogvenster zelf instellen (in plaats van het toevoegen van een label).Voeg een Label toe voor uw tekstveld en uw draaiveld.
Schik de elementen naar uw eigen wensen.
Klik op een willekeurige plek in uw dialoogvenster.
Zoek naar de knop Lay Out in a Form Layout (standaard in een werkbalk langs de bovenzijde van het scherm). Dit maakt automatisch uw dialoogvenster op.
Stel de maximumgrootte van het dialoogvenster (in zijn eigenschappen) in op
200
(breedte) bij150
(hoogte).Uw formulier zou er nu ongeveer zo uit moeten zien:
Sla uw nieuwe formulier op als
exercise_data/forms/add_people.ui
Als het opslaan is voltooid kunt u Qt Designer sluiten
5.3.7. ★★★ Volgen: Het formulier koppelen aan uw laag
Ga terug naar QGIS
Dubbelklik op de laag test-data in de legenda om toegang te krijgen tot de eigenschappen ervan.
Klik op de tab Formulier attributen in het dialoogvenster Laageigenschappen
In de keuzelijst Attribuut editor layout, selecteer Geef een UI-bestand op.
Klik op de knop ellipsis en kies het bestand
add_people.ui
dat u zojuist heeft gemaakt:Klik op OK in het dialoogvenster Laageigenschappen
Ga naar de modus Bewerken en leg een nieuw punt vast
Wanneer u dat doet zult u worden geconfronteerd met uw aangepaste dialoogvenster (in plaats van het algemene dat QGIS gewoonlijk maakt).
Als u klikt op een van uw punten met het gereedschap Objecten identificeren, kunt u nu het formulier oproepen door met rechts te klikken in het venster Identificatieresultaten en te kiezen uit het contextmenu.
Als u in de modus Bewerken staat voor deze laag, zal dat contextmenu Formulier Object bewerken in plaats daarvan weergeven, en u kunt dan de attributen aanpassen in het nieuwe formulier zelfs na het initiële vastleggen.
5.3.8. Conclusie
Met behulp van formulieren kunt u het leven voor uzelf eenvoudiger maken bij het bewerken of maken van gegevens. Door typen widgets te bewerken of een geheel nieuw formulier uit het niets te maken, kunt u de ervaring beheren van iemand die nieuwe gegevens voor die laag digitaliseert, daarbij het minimaliseren van misverstanden en onnodige fouten.
5.3.9. Lees verder
Als u het gevorderde gedeelte hierboven heeft voltooid en kennis hebt van Python, wilt u misschien dit blog-item bekijken over het maken van eigen aangepaste objectformulieren met Python-logica, wat geavanceerde functies mogelijk maakt inclusief validatie van gegevens, automatisch aanvullen, etc.
5.3.10. Wat volgt?
Openen van een formulier bij het identificeren van een object is één van de standaard acties die QGIS kan uitvoeren. U kunt het echter ook opdragen aangepaste acties, die u definieert, direct uit te voeren. Dat is het onderwerp van de volgende les.