Analyse Nearest Neighbor

GIS is bijzonder nuttig in het analyseren van ruimtelijke relaties tussen objecten. Eén van zo’n analyse is het uitzoeken welke objecten het dichtst bij een opgegeven object liggen. QGIS heeft een gereedschap genaamd Afstandsmatrix wat helpt bij een dergelijke analyse. In deze handleiding zullen we 2 gegevenssets gebruiken en uitzoeken welke punten van de ene laag het dichtst bij een punt van de tweede laag liggen.

Overzicht van de taak

Gegeven de locaties van alle bekende significante aardbevingen, zoek de dichtstbij gelegen bevolkte plaats voor elke locatie waar de aardbeving plaatsvond.

Andere vaardigheden die u zult leren

  • Hoe tabellen samen te voegen in QGIS. (Bekijk Samenvoegen van tabellen uitvoeren voor gedetailleerde instructies.)

  • Querybouwer gebruiken om een subset van objecten uit een laag weer te geven.

  • Plug-in MMQGIS gebruiken om naaflijnen te visualiseren naar de dichtstbijzijnde buren.

De gegevens ophalen

We zullen NOAA’s National Geophysical Data Center’s Significant Earthquake Database gebruiken omdat onze laag alle belangrijke aardbevingen weergeeft. Download de tab-delimited earthquake data.

Natural Earth heeft een mooie gegevensset Populated Places . Download de simple (less columns) dataset

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

signif.txt

ne_10m_populated_places_simple.zip

Gegevensbronnen: [NGDC] [NATURALEARTH]

Procedure

  1. Open Kaartlagen ‣ Laag toevoegen ‣ Tekstgescheiden kaartlaag toevoegen en blader naar het gedownloade bestand signif.txt.

../_images/1100.png
  1. Kies, omdat dit een tab-gescheiden bestand is, Tab als het Bestandsformaat. De velden X-veld en Y-veld zouden automatisch moeten worden gevuld. Klik op OK.

Notitie

U zou mogelijk enkele foutberichten kunnen zien wanneer QGIS probeert het bestand te importeren. Dit zijn geldige fouten en enkele rijen uit het bestand zullen niet worden geïmporteerd. U mag voor het doel van deze handleiding de fouten negeren.

../_images/238.png
  1. Omdat de gegevensset met aardbevingen coördinaten in Latitude/Longitude heeft, zal het worden geïmporteerd in het standaard CRS EPSG: 4326. Verifieer dat dat het geval is in de rechter benedenhoek. Laten we ook de laag Populated Places openen. Ga naar Kaartlagen ‣ Laag toevoegen ‣ Vectorlaag toevoegen.

../_images/326.png
  1. Blader naar het gedownloade bestand ne_10m_populated_places_simple.zip en klik op Open.

../_images/419.png
  1. Zoom eens rond en verken beide gegevenssets. Elke paarse punt vertegenwoordigt de locatie van een significante aardbeving en elke blauwe punt vertegenwoordigt de locatie van een bevolkte plaats. We hebben een manier nodig om uit te zoeken waar elk dichtstbijzijnde punt uit de laag met bevolkte plaatsen ligt voor elk van de punten in de laag met aardbevingen.

../_images/519.png
  1. Ga naar Vector ‣ Analyse-gereedschap ‣ Afstandsmatrix.

../_images/618.png
  1. Selecteer hier de laag met aardbevingen signif als de Invoer puntenlaag en de bevolkte plaatsen ne_10m_populated_places_simple als de doellaag. U dient ook een uniek veld uit elk van deze lagen te selecteren om te laten zien hoe uw resultaten zullen worden weergegeven. In deze analyse, zoeken naar slechts 1 dichtstbijzijnd punt, selecteer dus Alleen dichtstbijzijnde (k) doelpunten gebruiken, en voer 1 in. Noem uw uitvoerbestand matrix.csv, en klik op OK. Klik op Close als het proces is voltooid.

Notitie

Een nuttig ding om te onthouden is dat u zelfs de analyse kunt uitvoeren met slechts 1 laag. Selecteer dezelfde laag als zowel invoer als doel. Het resultaat zou een dichtstbijzijnde buur zijn van dezelfde laag in plaats van uit een andere laag zoals we hier hebben gebruikt.

../_images/717.png
  1. Klik, als het proces eenmaal is voltooid, op de knop Close in het dialoogvenster Afstandsmatrix. U kunt nu het bestand matrix.csv in Notepad of een andere tekstbewerker bekijken. QGIS kan ook CSV-bestanden importeren, dus zullen we het toevoegen aan QGIS en het daar bekijken. Ga naar Kaartlagen ‣ Laag toevoegen ‣ Tekstgescheiden kaartlaag toevoegen....

../_images/817.png
  1. Blader naar het nieuw gemaakte bestand matrix.csv. Selecteer, omdat dit bestand slechts tekstkolommen bevat, Geen geometrie (alleen attributentabel) als de Geometrie definitie. Klik op OK.

../_images/915.png
  1. U zult het CSV-bestand zien geladen als een tabel. Klik met rechts op de tabellaag en selecteer Open attributentabel.

../_images/1016.png
  1. Nu zult u de inhoud van onze resultaten kunnen zien. Het veld InputID bevat de veldnaam uit de laag met aardbevingen. Het veld TargetID bevat de naam uit de laag met Populated Places, die het dichtst bij het punt van de aardbeving ligt. Het veld Distance is de afstand tussen de 2 punten.

Notitie

Onthoud dat de berekening van afstand zal worden uitgevoerd met behulp van het Coördinaten ReferentieSysteem van de lagen. Hier is de afstand in de eenheid decimale garden omdat onze bronlagen in graden zijn. Als u de afstanden in meters wilt, moet u de lagen eerst opnieuw projecteren, vóór het toepassen van het gereedschap.

../_images/1119.png
  1. Dit is nagenoeg het resultaat waar we naar zoeken. Voor sommige gebruikers zou deze tabel voldoende zijn. We kunnen e echter ook deze resultaten integreren in onze originele laag met aardbevingen, met behulp van een Table Join. Klik met rechts op de laag met afbeeldingen en selecteer Eigenschappen.

../_images/1218.png
  1. Ga naar de tab Koppelingen en klik op de knop +.

../_images/1414.png
  1. We willen de gegevens uit ons analyseresultaat koppelen aan deze laag. We moeten een veld met dezelfde waarden selecteren uit elk van de lagen. Selecteer matrix als de Koppellaag` en InputID als het Koppelveld. Het Doelveld is I_D. Laat de andere opties op hun standaard waarden en klik op OK.

../_images/1414.png
  1. U zult de koppeling zien verschijnen op de tab Koppelingen. Klik op OK.

../_images/1514.png
  1. Open nu de attributentabel van de laag signif door er met rechts op te klikken en te selecteren Open attributentabel.

../_images/1613.png
  1. U zult nu zien dat we voor elk object uit de aardbevingen, we nu een attribuut hebben dat de dichtstbijzijnde buur is (dichtstbijzijnde bevolkte plaats) en de afstand tot die dichtstbijzijnde buur.

../_images/1712.png
  1. We zullen nu een manier verkennen om deze resultaten te visualiseren. Eerst moeten we de koppeling van de tabellen permanent maken door die als een nieuwe laag op te slaan. Klik met rechts op de laag signif en selecteer Opslaan als....

../_images/1812.png
  1. Klik op de knop Bladeren naast het label Opslaan als en noem de uitvoerlaag earthquake_with_places.shp. Zorg er voor dat de optie Voeg opgeslagen bestand toe aan kaart is geselecteerd en klik op OK.

../_images/1910.png
  1. Als de nieuwe laag eenmaal is geladen kunt u de zichtbaarheid van de laag signif uitschakelen. Omdat onze gegevensset nogal groot is, kunnen we onze visualisatie-analyse uitvoeren op een deelverzameling van de gegevens. QGIS heeft een aardige mogelijkheid waar u een subset van objecten uit een laag kunt laden zonder die te moeten exporteren naar een nieuwe laag. Klik met rechts op de laag earthquake_with_places en selecteer Eigenschappen.

../_images/207.png
  1. Scroll, op de tab Algemeen, naar beneden naar het gedeelte Deelverzameling objecten. Klik op Querybouwer.

../_images/2113.png
  1. Voor deze handleiding zullen we de aardbevingen en hun dichtstbijzijnde bevolkte plaatsen voor Mexico visualiseren. Voer de volgende expressie in het dialoogvenster Querybouwer in.

"COUNTRY" = 'MEXICO'
../_images/2212.png
  1. U zult zien dat alleen de plaatsen die binnen Mexico vallen zichtbaar zijn in het kaartvenster. Laten we hetzelfde doen voor de laag met bevolkte plaatsen. Klik met rechts op de laag ne_10m_populated_places_simple en selecteer Eigenschappen.

../_images/239.png
  1. Open het dialoogvenster Querybouwer op de tab Algemeen. Voer de volgende expressie in.

"adm0name" = 'Mexico'
../_images/246.png
  1. Nu zijn we klaar om onze visualisatie te maken. We zullen de plug-in, genaamd MMQGIS, gebruiken. Zoek en installeer de plugin. Bekijk Plug-ins gebruiken voor meer details over hoe te werken met plug-ins. Ga, als u de plug-in heeft geïnstalleerd, naar MMQGIS ‣ Create ‣ Hub Lines.

../_images/255.png
  1. Selecteer ne_10m_populated_places_simple als de Hub Point Layer en name als het Hub ID Attribute. Selecteer op dezelfde manier earthquake_with_places als de Spoke Point Layer en matrix_Tar als het Spoke Hub ID Attribute. Het algoritme voor naaflijnen zal door elk van de punten van de aardbevingen gaan en een lijn maken die het verbindt met de bevolkte plaats die overeenkomt met het attribuut dat we jebben gespecificeerd. Klik op Bladeren en noem het Output Shapefile earthquake_hub_lines.shp. Klik op OK om de verwerking te beginnen.

../_images/265.png
  1. De verwerking kan enkele minuten duren. U kunt de voortgang bekijken in de linker benedenhoek van het venster van QGIS.

../_images/275.png
  1. Als de verwerking is voltooid zult u de laag earthquake_hub_lines zien geladen in QGIS. U kunt zien dat elke punt van een aardbeving nu een lijn heeft die het verbindt met de dichtstbijzijnde bevolkte plaats.

../_images/283.png
comments powered by Disqus

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