Samenvoegen van tabellen uitvoeren (QGIS3)

Niet elke gegevensset die u wilt gebruiken komt in een ruimtelijke indeling. Vaak komen de gegevens als een tabel of een werkblad en zou u het moeten koppelen met uw bestaande ruimtelijke gegevens om in uw analyses te kunnen gebruiken. Deze bewerking staat bekend als een Table Join en wordt uitgevoerd met het algoritme voor processing Join attributes by field value.

Overzicht van de taak

We zullen een shapefile gebruiken met bevolkingsgegevens voor Californië en gegevens over de bevolking van het US Census Bureau om een bevolkingskaart voor Californië te maken.

Andere vaardigheden die u zult leren

  • CSV-bestanden, die geen geometrie bevatten, laden in QGIS.

  • DB Manager gebruiken om query’s voor SQL uit te voeren om statistieken voor groepen te berekenen.

De gegevens ophalen

US Census Bureau verschaft TIGER/Line Shapefiles. U kunt de FTP site bezoeken en het census tracts shapefile voor Californië downloaden. Download het bestand Census Tracts for California.

Americal FactFinder is een opslagplaats voor alle bevolkingsgegevens voor de VS. U kunt de Advanced Search gebruiken en bevragen naar Topic - Basic Count/Estimate en Geographies - All Census Tracts in California om een aangepast CSV te maken en dat te downloaden. Deze handleiding gebruikt de gegevens van TOTAL POPULATION | 2017 ACS 5-year estimates.

../../_images/data13.png

Voor het gemak kunt u direct een kopie van beide gegevenssets downloaden vanaf de links hieronder:

tl_2018_06_tract.zip

ACS_17_5YR_B01003.zip

Gegevensbron: [TIGER] [USCENSUS]

Procedure

  1. Zoek in de QGIS Browser naar het bestand tl_2018_06_tract.zip en vergroot het. Selecteer het bestand tl_2018_06_tract.shp en sleep het naar het kaartvenster.

../../_images/1101.png
  1. U zult de laag tl_2018_06_tract zien geladen in het paneel Lagen. Deze laag bevat de grenzen van de census tracts in Californië. Klik met rechts op de laag tl_2018_06_tract en selecteer Attributentabel openen.

../../_images/248.png
  1. Bekijk de attributen van de laag. We hebben een uniek en algemeen attribuut voor elk object nodig om aan tabel met deze laag te koppelen. In dit geval is het veld GEOID een unieke identificatie voor elke tract en kan worden gebruikt om deze laag te koppelen aan elke andere laag of tabel die dezelfde ID bevat.

../../_images/333.png
  1. Pak het bestand ACS_17_5YR_B01003.zip uit en open het bestand ACS_17_5YR_B01003_with_ann.csv in een tekstbewerker. Het zal u opvallen dat elke rij van het bestand bestaat uit informatie over een tract naast de unieke identificatie die we in de vorige stap al zagen. Onthoud dat dit veld is genaamd GEO.id2 in het CSV. Het zal u ook opvallen dat de kolom HD01_VD01 de waarde bevat voor de bevolking voor elk van de census tract.

../../_images/418.png
  1. We dienen een kleine bewerking te maken voordat we dit CSV-bestand importeren. Het importprogramma voor CSV van QGIS verwacht dat de eerste rij van het bestand de kolomkoppen bevat en alle andere rijen de gegevens voor die kolommen. Dit bestand bevat een extra rij 2 met labels voor kolommen. Verwijder die rij en sla het bestand op.

../../_images/518.png
  1. Nu zijn we gereed om het CSV-bestand in QGIS te importeren. Ga naar Kaartlagen – Laag toevoegen ‣ Tekstgescheiden laag toevoegen....

../../_images/618.png
  1. Klik, in het venster Databronnen beheren, op de knop en blader naar het CSV-bestand en selecteer het. Zorg er voor dat u bij Bestandsindeling hebt geselecteerd CSV (komma gescheiden waarden). Omdat we dit als een tabel importeren, moeten we specificeren dat ons bestand geen geometrie bevat met de optie Geen geometrieën (alleen attributentabel). Verifieer dat het voorbeeld Voorbeeldgegevens aan de onderzijde er goed uitziet en klik op Toevoegen, gebolgd door Close.

../../_images/717.png
  1. De CSV zal nu worden geïmporteerd als een tabel in QGIS en zal verschijnen als ACS_17_5YR_B01003_with_ann in het paneel Lagen. Nu zijn we klaar om de samenvoeging van de tabellen uit te voeren. Ga naar Processing ‣ Toolbox.

../../_images/817.png
  1. Eerst moeten we een standaard instelling wijzigen in de Processing Toolbox. Klik op de knop Opties.

../../_images/917.png
  1. Selecteer, op de tab Processing Opties, de optie Bestandsnaam als laagnaam gebruiken. Deze optie maakt de namen van de uitvoerlagen meer intuïtief en nuttiger bij het gebruiken van algoritmes van Processing Toolbox. Klik op OK.

../../_images/1017.png
  1. Terug in de Processing Toolbox, zoek en lokaliseer het algoritme Vector algemeen ‣ Attributen koppelen op veldwaarde en dubbelklik er op om het te openen.

../../_images/1120.png
  1. Selecteer, in het dialoogvenster Attributen koppelen op veldwaarde, tl_2018_06_tract als Invoerlaag en GEOID als het Tabelveld. Selecteer ACS_17_5YR_B01003_with_ann als de Invoerlaag 2 en GEO.id2 als Tabelveld 2. Laat de andere opties op hun standaard en klik op de knop om de locatie voor het uitvoerbestand te selecteren en selecteer ``Opslaan naar GeoPackage…`.

../../_images/1218.png
  1. Noem het uitvoer Geopackage joined.gpkg en de uitvoerlaag als joined. Klik op Uitvoeren.

../../_images/1318.png
  1. Verifieer, als de verwerking is voltooid, dat het algoritme met succes werd uitgevoerd en klik op Close.

../../_images/1416.png
  1. U zult een nieuwe laag Samengevoegde laag zien geladen in het paneel Lagen. Op dit punt zijn de velden uit het CSV-bestand gekoppeld aan de laag census tracts. U kunt voor nu de Processing Toolbox sluiten. Klik met rechts op de laag Samengevoegde laag en selecteer Attributentabel openen.

../../_images/1515.png
  1. U zult een nieuwe set velden zien, inclusief het veld HD01_VD01 dat de schattingen voor de bevolking bevat.

../../_images/1615.png
  1. Nu we de gegevens voor de bevolking in de laag census tracts hebben, kunnen we die opmaken om een visualisatie te maken van de verdeling van de bevolking. Selecteer de Samengevoegde laag en klik op de knop Paneel Laag opmaken openen.

../../_images/1715.png
  1. Selecteer, in het paneel Laag opmaken, Gradueel uit het keuzemenu. Omdat we een kaart willen maken met de gegevens van de bevolking, willen we verschillende kleuren toewijzen aan elk object census tract, gebaseerd on de schatting van de bevolking. Selecteer HD01_VD01 als de Kolom. Selecteer een kleurverloop naar wens uit het keuzemenu Kleurverloop. In de Modus, selecteer kwantiel (Gelijke telling) met 5 Klassen. Klik vervolgens op de knop Classificeren en u zult zien dat de kaart wordt bijgewerkt met een toegewezen kleur aan bepaalde bereiken van bevolking. U kunt het paneel Laag opmaken sluiten als u tevreden bent met de kaart.

../../_images/1814.png
  1. Een goede praktijk in elke GIS-analyse is om uw resultaten te valideren. We kunnen enkele eenvoudige query’s op de uitvoerlaag uitvoeren om er zeker van te zijn dat de resultaten goed zijn, om ons werk te controleren. Ga naar Database ‣ DB Manager….

../../_images/1912.png
  1. Alle in QGIS geladen lagen zijn beschikbara als Virtuele lagen die kunnen wordne bevraagd met SQL zonder ze in een afzonderlijke database te laden. Dit voegt heel vele nuttige functionaliteit toe door het inschakelen van ruimtelijke en niet-ruimtelijke SQL-query’s via de motor van SQLite en de Spatialite library. Lokaliseer de uitvoerlaag via Virtuele lagen ‣ Projectlagen ‣ Samengevoegde laag` en selecter die. Klik op de knop SQL-venster.

../../_images/209.png
  1. Typ de volgende query die het veld HD01_VD01 de totale bevolking voor de staat bij elkaar laat optellen. Voer de query in op de tab Query en klik op Uitvoeren. Het resultaat zal verschijnen in het onderste paneel. U kunt verifiëren of het resultaat overeenkomt met de bevolking van Californië.

select sum(HD01_VD01) as population from joined
../../_images/2114.png
  1. SQL-query’s zijn ook bijzonder geschikt om statistieken voor groepen uit te voeren. Hier is een query die de velden voor de bevolking bij elkaar optelt maar een clausule group by toevoegt om alle census tracts op county te groeperen en een tabel te maken van totale bevolking per county. De query sorteert ook het resultaat op bevolking. We kunnen ook gekruist verifiëren dat de county met FIPS id 037 (Los Angeles County) de meest bevolkte county in Californië is.

select COUNTYFP as county, sum(HD01_VD01) as population
from joined group by COUNTYFP order by population desc
../../_images/2212.png
comments powered by Disqus

This work is licensed under a Creative Commons Attribution 4.0 International License