25.1.5. Interpolatie
25.1.5.1. Heatmap (Schatting dichtheid kernel KDE)
Maakt een dichtheidsraster (heatmap) op basis van een invoer puntenlaag met schatting van de dichtheid van de kernel.
De dichtheid wordt berekend op basis van het aantal punten op een locatie, grotere aantallen punten zullen resulteren in grotere waarden. Heatmap helpt bij het identificeren van “Hotspots” en plekken met een grote dichtheid van punten.
Parameters
Label |
Naam |
Type |
Beschrijving |
---|---|---|---|
Puntenlaag |
|
[vector: punt] |
Punten vectorlaag om te gebruiken voor de heatmap |
Straal |
|
[getal] Standaard: 100.0 |
De straal om te zoeken (of kernel bandbreedte) in kaarteenheden. De straal geeft de afstand rondom een punt weer waar dat punt nog invloed heeft. Grotere waarden resulteren in grotere afvlakking, kleinere waarden geven meer details en variatie in dichtheid van punten. |
Grootte uitvoerraster |
|
[getal] Standaard: 0.1 |
Pixelgrootte in uitvoer rasterlaag in laageenheden. In de GUI mag de grootte worden gespecificeerd door het aantal rijen ( |
Radius uit veld Optioneel |
|
[tabelveld: numeriek] |
Stelt de straal in voor elk object vanuit een attribuutveld in de invoerlaag. |
Gewicht uit veld Optioneel |
|
[tabelveld: numeriek] |
Geeft de mogelijkheid om voor objecten een attribuutveld als gewogen veld te geven. Dit kan worden gebruikt om bepaalde objecten meer invloed te geven op de resulterende heatmap. |
Kernel vorm |
|
[enumeratie] Standaard: 0 |
Beheert de mate waarin de invloed van een punt afneemt als de afstand tot het punt toeneemt. Verschillende kernel vormen vervallen met verschillende mate, een triweight kernel geeft objecten een groter gewicht voor afstanden dichter bij het punt dan de Epanechnikov kernel doet. Als gevolg hiervan resulteert een triweight kernel in “scherpere” hotspots en resulteert Epanechnikov in meer ”vlakkere” hotspots. Er zijn vele vormen beschikbaar (bekijk de pagina van Wikipedia voor meer informatie):
|
Ratio verval (Alleen triangulaire kernels) Optioneel |
|
[getal] Standaard: 0.0 |
Kan worden gebruikt bij driehoekige kernels om meer controle te krijgen over in welke mate de hitte afneemt met de afstand tot het object.
|
Op schaal brengen uitvoerwaarde |
|
[enumeratie] Default: Ruw |
Maakt het mogelijk de waarden voor het uitvoerraster voor de heatmap te wijzigen. Één van:
|
Heatmap |
|
[raster] Standaard: |
Specificeer de rasterlaag met waarden voor dichtheid van de kernel. Één van:
|
Uitvoer
Label |
Naam |
Type |
Beschrijving |
---|---|---|---|
Heatmap |
|
[raster] |
Rasterlaag met waarden voor dichtheid van de kernel |
Voorbeeld: Maken van een Heatmap
Voor het volgende voorbeeld zullen we de punten vectorlaag airports
van de voorbeeld gegevensset van QGIS (zie Voorbeeldgegevens downloaden) gebruiken. Een andere goede handleiding voor QGIS voor het maken van heatmaps kan gevonden worden op http://qgistutorials.com.
In Fig. 25.2 worden de vliegvelden van Alaska weergegeven.
Open het algoritme Heatmap (Schatting dichtheid kernel KDE) uit de groep Interpolatie van QGIS
Selecteer, voor het veld Puntenlaag ,
airports
uit de lijst van geladen puntlagen in het huidige project.Wijzig het veld Straal naar
1000000
meters.Wijzig de Grootte pixel X naar
1000
. De Grootte pixel Y, Rijen en Kolommen worden automatisch bijgewerkt.Klik op Uitvoeren om de heatmap voor vliegvelden te maken en te laden (zie Fig. 25.4).
QGIS zal de heatmap maken en die toevoegen aan uw kaartvenster. Standaard is de heatmap opgemaakt in grijswaarden, met lichtere gebieden die hogere concentraties vliegvelden weergeven. De heatmap kan nu in QGIS worden opgemaakt om het uiterlijk te verbeteren.
Open het dialoogvenster Eigenschappen voor de laag
heatmap_airports
(selecteer de laagheatmap_airports
, druk op de rechtermuisknop en selecteer in het menu ).Selecteer de tab Symbologie.
Klik op de knop Classificeren.
Druk op OK om de laag bij te werken.
Het uiteindelijke resultaat wordt getoond in Fig. 25.5.
Pythoncode
ID algoritme: qgis:heatmapkerneldensityestimation
import processing
processing.run("algorithm_id", {parameter_dictionary})
Het ID voor het algoritme wordt weergegeven als u over het algoritme gaat met de muisaanwijzer in de Toolbox van Processing. Het woordenboek voor de parameters verschaft de NAME’s en waarden van de parameters. Bekijk Processing algoritmes gebruiken vanaf de console voor details over hoe algoritmes van Processing uit te voeren vanuit de console voor Python.
25.1.5.2. IDW-interpolatie
Maakt een Inverse Distance Weighted (IDW) interpolatie van een punten vectorlaag.
Monsterpunten worden gewogen gedurende het interpoleren zodat de invloed van één punt relatief ten opzichte van een ander vermindert met de afstand vanaf het onbekende punt dat u wilt maken.
De methode IDW-interpolatie heeft ook enkele nadelen: de kwaliteit van het resultaat van de interpolatie kan minder worden als de verdeling van de monsterpunten van gegevens oneven is.
Verder zouden maximum en minimum waarden in het geïnterpoleerde oppervlak alleen voor kunnen komen op monsterpunten van de gegevens.
Parameters
Label |
Naam |
Type |
Beschrijving |
---|---|---|---|
Invoerla(a)g(en) |
|
[tekenreeks] |
Vectorlaag(-lagen) en veld(en) om te gebruiken voor de interpolatie, gecodeerd in een tekenreeks (bekijk de klasse De volgende elementen van de GUI worden verschaft om de tekenreeks met gegevens voor de interpolatie samen te stellen:
Voor elk van de toegevoegde combinaties laag-veld kan een type worden gekozen:
In de tekenreeks worden de elementen laag-veld gescheiden door |
Afstandscoëfficiënt P |
|
[getal] Standaard: 2.0 |
Stelt de afstandscoëfficiënt in voor de interpolatie. Minimum: 0.0, maximum: 100.0. |
Bereik (xmin, xmax, ymin, ymax) |
|
[bereik] |
Bereik van de uitvoer rasterlaag. Beschikbare methoden zijn:
|
Grootte uitvoerraster |
|
[getal] Standaard: 0.1 |
Pixelgrootte in uitvoer rasterlaag in laageenheden. In de GUI mag de grootte worden gespecificeerd door het aantal rijen ( |
Geïnterpoleerd |
|
[raster] Standaard: |
Rasterlaag met geïnterpoleerde waarden. Één van:
|
Uitvoer
Label |
Naam |
Type |
Beschrijving |
---|---|---|---|
Geïnterpoleerd |
|
[raster] |
Rasterlaag met geïnterpoleerde waarden |
Pythoncode
ID algoritme: qgis:idwinterpolation
import processing
processing.run("algorithm_id", {parameter_dictionary})
Het ID voor het algoritme wordt weergegeven als u over het algoritme gaat met de muisaanwijzer in de Toolbox van Processing. Het woordenboek voor de parameters verschaft de NAME’s en waarden van de parameters. Bekijk Processing algoritmes gebruiken vanaf de console voor details over hoe algoritmes van Processing uit te voeren vanuit de console voor Python.
25.1.5.3. Lijndichtheid
Berekent voor elke rastercel de dichtheid van lineaire objecten in een circulaire omgeving. Deze meting wordt verkregen door alle lijnsegmenten die kruisen met de circulaire omgeving bij elkaar op te tellen en de som daarvan te delen door het gebied van een dergelijke omgeving. Een weegfactor kan worden toegepast op de lijnsegmenten.
Parameters
Label |
Naam |
Type |
Beschrijving |
---|---|---|---|
Invoer lijnlaag |
|
[vector: elke] |
Invoer vectorlaag die de lijnobjecten bevat |
Veld Gewicht |
|
[getal] |
Veld van de laag die de weegfactor bevat om bij de berekening te gebruiken |
Zoekradius |
|
[getal] Standaard: 10 |
Straal van de circulaire omgeving. Eenheden kunnen hier worden gespecificeerd. |
Pixelgrootte |
|
[getal] Standaard: 10 |
Pixelgrootte voor uitvoer rasterlaag in laageenheden. Het raster heeft vierkante pixels. |
Raster dichtheid lijn |
|
[raster] Standaard: |
De uitvoer als een rasterlaag. Één van:
|
Uitvoer
Label |
Naam |
Type |
Beschrijving |
---|---|---|---|
Raster dichtheid lijn |
|
[raster] |
De uitvoer rasterlaag voor lijndichtheid |
Pythoncode
ID algoritme: native:linedensity
import processing
processing.run("algorithm_id", {parameter_dictionary})
Het ID voor het algoritme wordt weergegeven als u over het algoritme gaat met de muisaanwijzer in de Toolbox van Processing. Het woordenboek voor de parameters verschaft de NAME’s en waarden van de parameters. Bekijk Processing algoritmes gebruiken vanaf de console voor details over hoe algoritmes van Processing uit te voeren vanuit de console voor Python.
25.1.5.4. TIN-interpolatie
Maakt een Triangulated Irregular Network (TIN) interpolatie van een punten vectorlaag.
Met de methode TIN kunt u een oppervlak maken dat wordt gevormd door driehoeken van dichtstbij gelegen punten. Omgeschreven cirkels worden rondom geselecteerde monsterpunten gemaakt om dit te doen en hun kruisingen worden verbonden met een netwerk van niet-overlappende en zo compact mogelijke driehoeken. De resulterende oppervlakten zijn niet afgevlakt.
Het algoritme maakt zowel de rasterlaag met de geïnterpoleerde waarden als de vector lijnenlaag met de grenzen van de driehoeken.
Parameters
Label |
Naam |
Type |
Beschrijving |
---|---|---|---|
Invoerla(a)g(en) |
|
[tekenreeks] |
Vectorlaag(-lagen) en veld(en) om te gebruiken voor de interpolatie, gecodeerd in een tekenreeks (bekijk de klasse De volgende elementen van de GUI worden verschaft om de tekenreeks met gegevens voor de interpolatie samen te stellen:
Voor elk van de toegevoegde combinaties laag-veld kan een type worden gekozen:
In de tekenreeks worden de elementen laag-veld gescheiden door |
Interpolatie methode |
|
[enumeratie] Standaard: 0 |
De te gebruiken methode voor interpolatie instellen. Één van:
|
Bereik (xmin, xmax, ymin, ymax) |
|
[bereik] |
Bereik van de uitvoer rasterlaag. Beschikbare methoden zijn:
|
Grootte uitvoerraster |
|
[getal] Standaard: 0.1 |
Pixelgrootte in uitvoer rasterlaag in laageenheden. In de GUI mag de grootte worden gespecificeerd door het aantal rijen ( |
Geïnterpoleerd |
|
[raster] Standaard: |
De uitvoer TIN-interpolatie als een rasterlaag. Één van:
|
Triangulatie |
|
[vector: lijn] Standaard: |
De uitvoer TIN als een vectorlaag. Één van:
De bestandscodering kan hier ook gewijzigd worden. |
Uitvoer
Label |
Naam |
Type |
Beschrijving |
---|---|---|---|
Geïnterpoleerd |
|
[raster] |
De uitvoer TIN-interpolatie als een rasterlaag |
Triangulatie |
|
[vector: lijn] |
De uitvoer TIN als een vectorlaag |
Pythoncode
ID algoritme: qgis:tininterpolation
import processing
processing.run("algorithm_id", {parameter_dictionary})
Het ID voor het algoritme wordt weergegeven als u over het algoritme gaat met de muisaanwijzer in de Toolbox van Processing. Het woordenboek voor de parameters verschaft de NAME’s en waarden van de parameters. Bekijk Processing algoritmes gebruiken vanaf de console voor details over hoe algoritmes van Processing uit te voeren vanuit de console voor Python.