18.2. Lesson: DB Manager gebruiken om te werken met ruimtelijke databases in QGIS
We hebben al gezien hoe we veel bewerkingen aan databases kunnen uitvoeren met QGIS, als ook met andere gereedschappen, maar nu is het tijd om te kijken naar het gereedschap DB Manager wat veel dezelfde functionaliteiten verschaft en ook meer op beheer georiënteerde gereedschappen.
Het doel voor deze les: Te leren hoe interactief te werken met ruimtelijke databases met behulp van de DB Manager in QGIS.
18.2.1. Follow Along: Databases van PostGIS beheren met DB Manager
U zou eerst de interface van de DB Manager moeten openen door te selecteren Database –> DB Manager –> DB Manager in het menu of door het pictogram DB Manager te selecteren op de werkbalk.
U zou de eerdere verbindingen die we hebben geconfigureerd al moeten zien en in staat zijn het gedeelte myPG
en het schema public
uit te breiden om de tabellen te zien waarmee we in eerdere gedeelten hebben gewerkt.
Het eerste dat u zou moeten opvallen is dat u nu enkele metadata kunt zien over de schema’s die zijn opgenomen in uw database.
Schema’s zijn een manier om gegevenstabellen en andere objecten in een database van PostgreSQL te groeperen en een container voor rechten en andere beperkingen. het beheren van schema’s van PostgreSQL valt buiten het bereik van deze handleiding, maar u kunt er meer informatie over vinden in de PostgreSQL documentation on Schemas. U kunt DB Manager gebruiken om nieuwe schema’s te maken, maar u zult een gereedschap als pgAdmin III of de interface voor de opdrachtregel moeten gebruiken om ze effectief te beheren.
DB Manager kan ook worden gebruikt om de tabellen in uw database te beheren. We hebben al gekeken naar de verscheidene manieren om tabellen te maken en te beheren via de opdrachtregel, maar laten we nu eens kijken hoe dat te doen in DB Manager.
Eerst is het handig om te kijken naar de metadata van een tabel door te klikken op zijn naam in de boom en te kijken op de tab Info.
In dit paneel kunt u de Algemene info over de tabel zien als ook de informatie die de extensie PostGIS onderhoudt over de geometrie en het ruimtelijke referentiesysteem.
Als u naar beneden scrollt op de tab Info, kunt u meer informatie zien over de Velden, Beperkingen en Indexen voor de tabel die u bekijkt.
Het is ook zeer handig om DB Manager te gebruiken om eenvoudig naar de records in de database te kijken op nagenoeg dezelfde manier als u zou doen door de attributentabel van een laag te bekijken in de boom van Lagen. U kunt door de gegevens bladeren door de tab Tabel te selecteren.
Er is ook een tab Voorvertoning die u de gegevens van de laag in een voorbeeldkaart laat zien.
Klikken met rechts op een laag in de boom en klikken op Aan kaartvenster toevoegen zal deze laag toevoegen aan uw kaart.
Tot dusverre hebben we alleen gekeken naar de schema’s en tabellen van de database en hun metadata, maar wat als we de tabel willen veranderen door misschien een aanvullende kolom toe te voegen? DB Manager stelt u in staat om dat direct te doen.
Selecteer de tabel die u wilt bewerken in de boom
Selecteer Tabel-eigenschappen te openen.
uit het menu om het dialoogvenster
U kunt dit dialoogvenster gebruiken om kolommen toe te voegen, geometrie-kolommen toe te voegen, bestaande kolommen te bewerken of om een kolom volledig te verwijderen.
Door de tab Beperkingen te gebruiken kunt u beheren welke velden gebruikt moeten worden als de primaire sleutel of om bestaande beperkingen te verwijderen.
De tab Indexen kan worden gebruikt om zowel ruimtelijke als normale indexen te verwijderen.
18.2.2. Follow Along: Een nieuwe tabel maken
Laten we, nu we door het proces van werken met bestaande tabellen in onze database zijn gegaan, DB Manager gebruiken om een nieuwe tabel te maken.
Als het al niet geopend is, open het venster DB Manager en breidt de boom uit totdat u de lijst met tabellen ziet die al in uw database aanwezig zijn.
Selecteer uit het menu Tabel –> Tabel maken om het dialoogvenster Tabel maken naar voren te halen.
Gebruik het standaard schema
Public
en noem de tabelplaces
.Voeg de velden
id
,place_name
enelevation
toe, zoals hieronder weergegevenZorg er voor dat het veld
id
is ingesteld als de primaire sleutel.Klik op het keuzevak Geometriekolom maken en zorg er voor dat het is ingesteld op een type
POINT` en laat de naam als ``geom
en specificeer4326
als het SRID.Klik op het keuzevak Ruimtelijke index aanmaken en klik op Aanmaken om de tabel te maken.
Sluit het dialoogvenster dat u laat weten dat de tabel werd gemaakt en klik op Close om het dialoogvenster Tabel maken te sluiten.
U kunt nu uw tabel in DB Manager inspecteren en u zult natuurlijk vinden dat er geen gegevens in staan. Vanaf hier kunt u Bewerken aan/uitzetten in het menu van de Lagen en beginnen met het toevoegen van plaatsen aan uw tabel.
18.2.3. Follow Along: Basisbeheer van database
DB Manager zal u ook in staat stellen enkele basis beheerstaken voor de database uit te voeren. Het is zeker geen vervanging voor een meer compleet gereedschap voor databasebeheer, maar het verschaft enige functionaliteit die u kunt gebruiken om uw database te onderhouden.
Databasetabellen kunnen vaak vrij groot worden en tabellen die regelmatig worden bijgewerkt kunnen achterblijfselen van records bevatten die niet langer nodig zijn voor PostgreSQL. De opdracht VACUUM zorgt voor een soort afvalverwerking om uw tabellen te verkleinen en optioneel te analyseren voor betere uitvoering.
Laten we eens kijken hoe we een opdracht VACUUM ANALYZE kunnen uitvoeren vanuit DB Manager.
Selecteer één van uw tabellen in de boom van DB Manager
Selecteer
uit het menu
PostgreSQL zal nu de bewerking uitvoeren. Afhankelijk van de grootte van uw tabel, zou dit enige tijd kunnen vergen om te voltooien.
U vindt meer informatie over het proces VACUUM ANALYZE in de PostgreSQL Documentation on VACUUM ANALYZE
18.2.4. Follow Along: SQL-query’s met DB Manager uitvoeren
DB Manager verschaft ook een manier om query’s voor uw databasetabellen te schrijven en om de resultaten te bekijken. We hebben dit type functionaliteit al gezien in het paneel Browser, maar laten we er hier nog eens naar kijken met DB Manager.
Selecteer de tabel
lines
in de boom.Selecteer de knop SQL-venster in de werkbalk van DB Manager.
Voer de volgende SQL query in de daarviior bestemde ruimte in:
select * from lines where roadtype = 'major';
Klik op de knop Uitvoeren (F5) om de query uit te voeren.
U zou nu, in het paneel Resultaat, de records moeten zien die overeenkomen.
Klik op het keuzevak Als nieuwe laag laden om de resultaten aan uw kaart toe te voegen.
Selecteer de kolom
id
als de Kolom met unieke integer-waarden en de kolomthe_geom
als de Geometriekolom.Voer
roads_primary
in als de Laagnaam (prefix).Klik op Nu laden! om de resultaten als een nieuwe laag in uw kaart te laden.
De lagen die overeenkomen met uw query worden nu weergegeven in uw kaart. U kunt natuurlijk dit gereedschap voor query gebruiken om enige willekeurige opdracht voor SQL uit te voeren, inclusief veel van die waarnaar we hebben gekeken in eerdere modules en gedeelten.
18.2.5. Gegevens in een database importeren met DB Manager
We hebben al gekeken naar hoe we gegevens in een een ruimtelijke database importeren met behulp van de gereedschappen voor de opdrachtregel, dus laten we nu leren hoe DB Manager te gebruiken om te importeren.
Klik op de knop Laag/bestand importeren op de werkbalk in het dialoogvenster DB Manager.
Selecteer het bestand
urban_33S.shp
uitexercise_data/projected_data
als de gegevensset voor invoerKlik op de knop Opties vernieuwen om enkele van de waarden in het formulier vooraf in te vullen.
Zorg er voor dat de optie Nieuwe tabel makem is geselecteerd
Specificeer Bron SRID als
32722
en het Doel SRID as4326
.Selecteer het keuzevak Ruimtelijke index aanmaken
Klik op OK om het importeren uit te voeren
Sluit het dialoogvenster dat u laat weten dat het importeren is voltooid
Klik op de knop Bijwerken op de werkbalk van DB Manager.
U kunt nu de tabel in uw database inspecteren door op de naam te klikken in de boom. Verifieer dat de gegevens opnieuw zijn geprojecteerd door te controleren of Ruimtelijk refsys: is vermeld als WGS 84 (4326)
Klik met rechts op de tabel in de boom en selecteren van Aan kaartvenster toevoegen zal de tabel als een laag aan uw kaart toevoegen.
18.2.6. Gegevens uit een database exporteren met DB Manager
Natuurlijk kan DB Manager ook worden gebruikt om gegevens vanuit uw ruimtelijke databases te exporteren, laten we dus eens kijken hoe dat moet worden gedaan.
Selecteer de laag
lines
in de boom en klik op de knop Naar bestand exporteren op de werkbalk om het dialoogvenster Naar vectorbestand exporteren te openen.Klik op de knop … om het Uitvoerbestand te selecteren en sla de gegevens op in uw map
exercise_data
alsurban_4326
.Stel het Doel SRID in als
4326
.Klik op OK om het exporteren te initialiseren.
Sluit het dialoogvenster dat u laat weten dat het exporteren is voltooid en sluit DB Manager.
U kunt nu het shapefile dat u heeft gemaakt inspecteren in het paneel Browser.
18.2.7. In Conclusion
U heeft nu gezien hoe u de interface DB Manager kunt gebruiken in QGIS om uw ruimtelijke databases te beheren, om SQL-query’s uit te voeren op uw gegevens en hoe gegevens te im- en exporteren.
18.2.8. What’s Next?
Vervolgens zullen we kijken hoe we veel van deze zelfde technieken gebruiken met databases van SpatiaLite.