Viktigt

Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.

6.4. Lektion: Rumslig statistik

Observera

Lektion utvecklad av Linfiniti och S Motala (Cape Peninsula University of Technology)

Rumslig statistik gör att du kan analysera och förstå vad som händer i en given vektordatauppsättning. QGIS innehåller många användbara verktyg för statistisk analys.

Målet för den här lektionen: Att veta hur man använder QGIS rumsliga statistikverktyg i verktygslådan Processing Toolbox.

6.4.1. ★☆☆ Följ med: Skapa en testdatauppsättning

Vi kommer att skapa en slumpmässig uppsättning punkter för att få ett dataset att arbeta med.

För att göra det behöver du en polygondatauppsättning för att definiera det område där du vill skapa punkterna.

Vi kommer att använda det område som täcks av gator.

  1. Starta ett nytt projekt

  2. Lägg till din roads-datauppsättning samt rtm_41_19 (höjddata) som finns i exercise_data/raster/SRTM/.

    Observera

    Du kanske upptäcker att SRTM DEM-skiktet har ett annat CRS än vägskiktet. QGIS omprojicerar båda skikten i ett enda CRS. För de följande övningarna spelar denna skillnad ingen roll, men du får gärna omprojicera (som visats tidigare i denna modul).

  3. Öppna Processing verktygslåda

  4. Använd verktyget Vector Geometry ► Minimum bounding geometry för att generera ett område som omsluter alla vägar genom att välja Convex Hull som Geometry Type:

    ../../../_images/roads_hull_setup.png

    Som du vet skapar Processing tillfälliga lager om du inte specificerar utdata. Det är upp till dig att spara lagren omedelbart eller i ett senare skede.

Skapa slumpmässiga punkter

  • Skapa 100 slumpmässiga punkter i detta område med hjälp av verktyget i Vector Creation ► Random points in layer bounds, med ett minsta avstånd på 0.0:

    ../../../_images/random_points_setup.png

    Observera

    Den gula varningssymbolen visar att parametern gäller avstånd. Skiktet Bounding geometry är i ett geografiskt koordinatsystem och algoritmen påminner dig bara om detta. I det här exemplet kommer vi inte att använda den här parametern, så du kan ignorera den.

Om det behövs kan du flytta den genererade slumpmässiga punkten till toppen av legenden för att se dem bättre:

../../../_images/random_points_result.png

Sampling av data

För att skapa en provdatauppsättning från rastret måste du använda algoritmen Raster Analysis ► Sample raster values. Detta verktyg samplar rastret på punkternas platser och lägger till rastervärdena i nya fält beroende på antalet band i rastret.

  1. Öppna dialogrutan Sampla rastervärden för algoritmen

  2. Välj Random_points som det lager som innehåller provtagningspunkter och SRTM-rastret som det band som värdena ska hämtas från. Standardnamnet på det nya fältet är rvalue_N, där N är numret på rasterbandet. Du kan ändra namnet på prefixet om du vill.

    ../../../_images/sample_raster_dialog.png
  3. Tryck på Run

Nu kan du kontrollera samplingsdata från rasterfilen i attributtabellen för skiktet Sampled Points. De kommer att finnas i ett nytt fält med det namn du har valt.

Här visas ett möjligt exempel på ett lager:

../../../_images/random_samples_result.png

Provpunkterna klassificeras med hjälp av fältet rvalue_1 så att röda punkter ligger på högre höjd.

Du kommer att använda detta provlager under resten av statistikövningarna.

6.4.2. ★☆☆ Följ med: Grundläggande statistik

Nu får du den grundläggande statistiken för detta lager.

  1. Klicka på ikonen sum Visa statistisk sammanfattning i verktygsfältet Attributes. En ny panel kommer att dyka upp.

  2. I dialogrutan som visas anger du lagret Sampled Points som källa.

  3. Välj fältet rvalue_1 i kombinationsrutan för fält. Detta är det fält som du ska beräkna statistik för.

  4. Panelen Statistics kommer automatiskt att uppdateras med den beräknade statistiken:

    ../../../_images/basic_statistics_results.png

    Observera

    Du kan kopiera värdena genom att klicka på knappen editCopy Copy Statistics To Clipboard och klistra in resultaten i ett kalkylblad.

  5. Stäng Statistics-panelen när du är klar

Många olika statistiska uppgifter finns tillgängliga:

Antal

Antalet prover/värden.

Sum

Värdena läggs samman.

Genomsnitt

Medelvärdet (genomsnittet) är helt enkelt summan av värdena dividerat med antalet värden.

Median

Om du ordnar alla värden från det minsta till det största, är det mittersta värdet (eller genomsnittet av de två mittersta värdena, om N är ett jämnt tal) medianen av värdena.

St Dev (pop)

Standardavvikelsen. Ger en indikation på hur tätt värdena är grupperade runt medelvärdet. Ju mindre standardavvikelsen är, desto närmare tenderar värdena att ligga medelvärdet.

Minimum

Det lägsta värdet.

Maximal

Det maximala värdet.

Intervall

Skillnaden mellan minimi- och maximivärdena.

Q1

Första kvartilen av uppgifterna.

Q3

Tredje kvartilen av uppgifterna.

Saknade värden (null)

Antalet saknade värden.

6.4.3. ★☆☆ Följ med: Beräkna statistik på avstånd mellan punkter

  1. Skapa ett nytt tillfälligt punktlager.

  2. Gå in i redigeringsläge och digitalisera tre punkter någonstans bland de andra punkterna.

    Alternativt kan du använda samma metod för att generera slumpmässiga punkter som tidigare, men ange endast tre punkter.

  3. Spara ditt nya lager som distance_points i det format du föredrar.

För att generera statistik över avstånden mellan punkter i de två lagren:

  1. Öppna verktyget Vektoranalys ► Avståndsmatris.

  2. Välj skiktet distance_points som ingångsskikt och skiktet Sampled Points som målskikt.

  3. Ange deras fält id som unika fältreferenser

  4. Ändra alternativet Output matrix type till Summary distance matrix.

  5. ställ in värdet för :guilabel:Use only the nearest (k) target points till 2.

  6. Om du vill kan du spara utdatalagret som en fil eller bara köra algoritmen och spara det tillfälliga utdatalagret senare.

    ../../../_images/distance_matrix_setup.png
  7. Klicka på Run för att generera avståndsmatrislagret.

  8. Öppna attributtabellen för det genererade skiktet: värdena avser avstånden mellan funktionerna distance_points och deras två närmaste punkter i skiktet Sampled Points:

    ../../../_images/distance_matrix_example.png

Med dessa parametrar beräknar verktyget Distance Matrix avståndsstatistik för varje punkt i indataskiktet i förhållande till de två närmaste punkterna i målskiktet. Fälten i utdataskiktet innehåller medelvärde, standardavvikelse, minimum och maximum för de beräknade avstånden.

För ytterligare tester kanske du vill ändra alternativet :guilabel:Output matrix type eller antalet målpunkter.

6.4.4. ★☆☆ Följ med: Närmaste granne-analys (inom lager)

För att göra en närmaste granne-analys av ett punktlager:

  1. Välj Vektoranalys ► Närmaste granne analys.

  2. I dialogrutan som visas väljer du lagret Random points och klickar på Run.

  3. Resultaten kommer att visas i panelen Processing Result Viewer.

    ../../../_images/result_viewer.png
  4. Klicka på den blå länken för att öppna html-sidan med resultaten:

    ../../../_images/nearest_neighbour_example.png

6.4.5. ★☆☆ Följ med: Genomsnittliga koordinater

För att få fram medelkoordinaterna för en dataset:

  1. Start Vektoranalys ► Medelkoordinat(er)

  2. I dialogrutan som visas anger du Random points som Input layer och låter de valfria alternativen vara oförändrade.

  3. Klicka på Run.

Låt oss jämföra detta med den centrala koordinaten för den polygon som användes för att skapa det slumpmässiga urvalet.

  1. Starta Vektorgeometri ► Centroider

  2. I dialogrutan som visas väljer du Bounding geometry som inmatningslager.

Som du kan se sammanfaller inte nödvändigtvis medelkoordinaterna (rosa punkt) och studieområdets centrum (i grönt).

Centroiden är skiktets barycentrum (barycentrum i en kvadrat är kvadratens centrum) medan medelkoordinaterna representerar genomsnittet av alla nodkoordinater.

../../../_images/polygon_centroid_mean.png

6.4.6. ★☆☆ Följ med: Histogram för bilder

Histogrammet för en datauppsättning visar fördelningen av dess värden. Det enklaste sättet att visa detta i QGIS är via bildhistogrammet, som finns i dialogrutan Layer Properties för alla bildlager (rasterdataset).

  1. I panelen Layers högerklickar du på lagret srtm_41_19

  2. Välj :menyselection:`Properties`

  3. Välj fliken Histogram. Du kan behöva klicka på knappen Compute Histogram för att generera grafiken. Du kommer att se en graf som visar frekvensfördelningen för rastervärdena.

    ../../../_images/histogram_export.png
  4. Grafen kan exporteras som en bild med knappen fileSave Save plot

  5. Du kan se mer detaljerad information om skiktet på fliken Information (medel- och maxvärdena är uppskattade och kanske inte exakta).

Medelvärdet är 332,8 (uppskattat till 324,3), och det maximala värdet är 1699 (uppskattat till 1548)! Du kan zooma in i histogrammet. Eftersom det finns många pixlar med värdet 0 ser histogrammet ut att vara komprimerat vertikalt. Genom att zooma in så att allt utom toppen vid 0 täcks, ser du fler detaljer:

../../../_images/histogram_export_zoom.png

Observera

Om medel- och maxvärdena inte är desamma som ovan kan det bero på beräkningen av min/max-värdet. Öppna fliken Symbology och expandera menyn Min / Max Value Settings. Välj radioButtonOnMin / max och klicka på Apply.

Tänk på att ett histogram visar fördelningen av värden, och att alla värden inte nödvändigtvis syns i diagrammet.

6.4.7. ★☆☆ Följ med: Rumslig interpolation

Låt oss säga att du har en samling provpunkter från vilka du skulle vilja extrapolera data. Du kanske till exempel har tillgång till Sampled points-datasetet som vi skapade tidigare och vill få en uppfattning om hur terrängen ser ut.

  1. Börja med att starta verktyget GDAL ► Raster analysis ► Grid (IDW with nearest neighbor searching) i Processing Toolbox.

  2. För Point layer välj Sampled points

  3. Ställ in Viktningskraft till 5.0

  4. I Avancerade parametrar, ställ in Z värde från fält till rvalue_1

  5. Klicka slutligen på Run och vänta tills bearbetningen är klar

  6. Stäng dialogrutan

Här är en jämförelse mellan den ursprungliga datauppsättningen (vänster) och den som konstruerats utifrån våra provpunkter (höger). Du kan se annorlunda ut på grund av den slumpmässiga placeringen av provpunkterna.

../../../_images/interpolation_comparison.png

Som du kan se är 100 provpunkter inte tillräckligt för att få ett detaljerat intryck av terrängen. Det ger en mycket allmän uppfattning, men det kan också vara missvisande.

6.4.8. ★★☆ Prova själv: Olika interpolationsmetoder

  1. Använd de processer som visas ovan för att skapa en uppsättning med 10 000 slumpmässiga punkter

    Observera

    Om antalet punkter är mycket stort kan bearbetningstiden ta lång tid.

  2. Använd dessa punkter för att prova den ursprungliga DEM

  3. Använd verktyget Grid (IDW with nearest neighbor searching) på den här datauppsättningen.

  4. Sätt Power och Smoothing till 5.0 respektive 2.0.

Resultatet (beroende på placeringen av dina slumpmässiga punkter) kommer att se ut ungefär så här:

../../../_images/interpolation_comparison_10000.png

Detta är en bättre representation av terrängen, eftersom provpunkterna har större täthet. Kom ihåg att större stickprov ger bättre resultat.

6.4.9. Sammanfattningsvis

QGIS har ett antal verktyg för att analysera de rumsliga statistiska egenskaperna hos datauppsättningar.

6.4.10. Vad händer härnäst?

Nu när vi har gått igenom vektoranalys, varför inte se vad man kan göra med raster? Det är vad vi ska göra i nästa modul!