Svarbu

Vertimas yra bendruomenės pastangos, prie kurių jūs galite prisijungti. Šis puslapis šiuo metu išverstas 100.00%.

24.1.6. Interpoliacija

24.1.6.1. Intensyvumo žemėlapis (branduolio tankio įvertinimas)

Sukuria įvesties vektorinio taškų sluoksnio tankio (intensyvumo) rastrą naudojant branduolio tankio įvertinimą.

Tankis skaičiuojamas pagal taškų skaičių vietoje, kur didesni susispietusių taškų skaičiai reiškia didesnes reikšmes. Intensyvumo žemėlapiai leidžia lengvai identifikuoti taškų susispietimo „karštus taškus“.

Parametrai

Užrašas

Pavadinimas

Tipas

Aprašymas

Taškų sluoksnis

INPUT

[vektorius: taškai]

Vektorinis taškų sluoksnis, kurį reikia naudoti intensyvumo žemėlapiui

Spindulys

RADIUS

[skaičius: slankaus kablelio]

Numatytas: 100.0

Intensyvumo žemėlapio paieškos spindulys (ar branduolio pralaidumas) žemėlapio vienetais. Spindulys nurodo atstumą aplinką tašką, kuriuo bus juntama taško įtaka. Didesnės reikšmės reikš didesnį glotninimą, o mažesnės reikšmės rodys mažesnes taškų tankumo detales.

Išvesties rastro dydis

PIXEL_SIZE

[skaičius: slankaus kablelio]

Numatytas: 0.1

Išvesties rastro sluoksnio pikselio dydis sluoksnio vienetais.

Naudotojo sąsajoje dydį galima nurodyti kaip skaičių eilučių (Eilučių skaičius) / stulpelių (Stulpelių skaičius) ar pikselio dydį ( Pikselio dydis X / Pikselio dydis Y). Didinat eilučių ar stulpelių skaičių, mažės celės dydis ir didės išvesties rastro failo dydis. Atitinkamai bus keičiamos reikšmės Eilutės, Stulpeliai, Pikselio dydis X ir ``Pikselio dydis Y` - dvigubinant eilučių skaičių dvigubės ir stulpeliai, o celės dydis bus padalintas per pusę. Išvesties rastro apimtis liks tokia pati (daugmaž).

Spindulys iš lauko

Pasirinktinis

RADIUS_FIELD

[lentelės laukas: skaičius]

Nustato kiekvieno geoobjekto paieškos spindulį pagal įvesties sluoksnio atributų lauką.

Svoris iš lauko

Pasirinktinis

WEIGHT_FIELD

[lentelės laukas: skaičius]

Leidžia įvesties geoobjektams taikyti svorį iš atributų lauko. Tai gali būti naudojama didinat kai kurių geoobjektų įtaką gaunamame intensyvumo žemėlapyje.

Branduolio forma

KERNEL

[sąrašas]

Numatyta: 0

Valdo greitį, kuriuo taško įtaka mažėja didėjant atstumui nuo taško. Skirtingi branduoliai silpnėja skirtingais greičiais, taigi trigubo svorio branduolys reikš geoobjektus su didesniu svoriu atstumams arčiau taško nei Epanechnikovo branduolys. Tai reiškia, kad trigubo svorio branduolys sukurs „tikslesnius“ karštus taškus nei Epanechnikovo „glotnesni“ karštieji taškai.

Yra daug skirtingų formų (daugiau informacijos rasite Wikipedia puslapyje):

  • 0 — Ketvirtinis

  • 1 — Trikampis

  • 2 — Vienodas

  • 3 — Trigubo svorio

  • 4 — Epanechnikovo

Mažėjimo greitis (tik trikampiams branduoliams)

Pasirinktinis

DECAY

[skaičius: slankaus kablelio]

Numatytas: 0.0

Gali būti naudojamas su trikampiais branduoliais, norint dar labiau valdyti, kaip geoobjekto intensyvumas mažėja tolstant nuo geoobjekto.

  • Reikšmė 0 (=minimali) rodo, kad intensyvumas bus koncentruojamas nurodyto spindulio viduryje ir bus visiškai išnykęs kraštuose.

  • Reikšmė 0.5 nurodo, kad pikseliai spindulio krašte bus per pusę mažesnio intensyvumo nei nurodyto paieškos spindulio centre.

  • Reikšmė 1 reiškia, kad intensyvumas per visą paieškos spindulį paskirstytas tolygiai. (Tai analogiška branduoliui „Tolygus“.)

  • Už 1 didesnė reikšmė nurodo, kad intensyvumas didesnis ties paieškos spindulio kraštu, lyginant su centru.

Išvesties reikšmių mastelio keitimas

OUTPUT_VALUE

[sąrašas]

Numatyta: 0

Leidžia keisti išvesties intensyvumo rastro reikšmes. Viena iš:

  • 0 — Pradinis

  • 1 — Pakeistas

Intensyvumo žemėlapis

OUTPUT

[rastras]

Numatytas: [Įrašyti į laikiną failą]

Nurodykite išvesties rastro sluoksnį su branduolio tankio reikšmėmis. Vienas iš:

  • Įrašyti į laikiną failą

  • Įrašyti į failą…

Išvestys

Užrašas

Pavadinimas

Tipas

Aprašymas

Intensyvumo žemėlapis

OUTPUT

[rastras]

Rastro sluoksnis su branduolio tankio reikšmėmis

Pavyzdys: intensyvumo žemėlapio kūrimas

Šis pavyzdys naudos vektorinį taškų sluoksnį airports iš QGIS pavyzdinio duomenų rinkinio (žr. Pavyzdinių duomenų atsisiuntimas). Kitą puikią intensyvumo žemėlapių kūrimo QGIS pamoką galima rasti http://qgistutorials.com.

Fig. 24.2, rodomi Aliaskos oro uostai.

../../../../_images/heatmap_start.png

Fig. 24.2 Aliaskos oro uostai

  1. Atverkite algoritmą Intensyvumas (branduolio tankio įvertinimas) iš QGIS grupės Interpoliacija

  2. Lauke Taškų sluoksnis selectString parinkite iš dabartiniame projekte įkeltų taškų sluoksnių sąrašo airports.

  3. Pakeiskite Spindulį į 1000000 metrų.

  4. Pakeiskite Taško dydis X į 1000. Taško dydis Y, Eilutės ir Stulpeliai bus automatiškai pakeisti.

  5. Spauskite Vykdyti, kad sukurtumėte ir įkeltumėte oro uostų intensyvumo žemėlapį (žr. Fig. 24.4).

../../../../_images/heatmap_dialog.png

Fig. 24.3 Intensyvumo žemėlapio dialogas

QGIS sukurs intensyvumo žemėlapį ir pridės jį į jūsų žemėlapio langą. Pagal nutylėjimą intensyvumo žemėlapis yra juodai baltas, kur šviesesnės zonos rodo didesnę oro uostų koncentraciją. Intensyvumo žemėlapio stilių dabar galima pakeisti, kad pagerintumėte jo išvaizdą.

../../../../_images/heatmap_loaded_grey.png

Fig. 24.4 Po įkėlimo intensyvumo žemėlapis atrodo kaip pilkas paviršius

  1. Atverkite sluoksnio heatmap_airports savybių dialogą (parinkite sluoksnį heatmap_airports, atidarykite kontekstinį meniu su dešiniu pelės mygtuku ir spauskite Savybės).

  2. Pereikite į kortelę Simbologija.

  3. Pakeiskite Braižymo tipą selectString į ‚Vienos juostos pseudospalva‘.

  4. Parinkite tinkamą Spalvų rampą selectString, pavyzdžiui YlOrRd.

  5. Spauskite mygtuką Klasifikuoti.

  6. Spauskite Gerai, kad atnaujintumėte sluoksnį.

Galutinis rezultatas matomas Fig. 24.5.

../../../../_images/heatmap_loaded_colour.png

Fig. 24.5 Stilizuotas Aliaskos oro uostų intensyvumo žemėlapis

Pythono kodas

Algoritmo ID: qgis:heatmapkerneldensityestimation

import processing
processing.run("algorithm_id", {parameter_dictionary})

algoritmo id rodomas, kai užvedate pelę virš algoritmo apdorojimo įrankinėje. parametrų žodynas teikia parametrų pavadinimus ir reikšmes. Daugiau informacijos apie tai, kaip vykdyti apdorojimo algoritmus Pythono konsolėje rasite skyriuje Using processing algorithms from the console.

24.1.6.2. Atvirkštinio atstumo svorio (IDW) interpoliacija

Kuria vektorinio taškų sluoksnio atvirkštinio atstumo svorio (IDW) interpoliaciją.

Pavyzdiniams taškams svoris priskiriamas taip interpoliuojant, kad vieno taško įtaką kitam mažėja su atstumu nuo nežinomo taško, kurį norite sukurti.

IDW interpoliacijos būdas taipogi turi kelis trūkumus: interpoliacijos rezultato kokybė gali kristi, jei turimų taškų duomenų pasiskirstymas yra netolygus.

Taipogi, maksimalios ir minimalios reikšmės interpoliuotame paviršiuje galis pasirodyti tik pradinių taškų vietose.

Parametrai

Užrašas

Pavadinimas

Tipas

Aprašymas

Įvesties sluoksnis(iai)

INTERPOLATION_DATA

[tekstas]

Vektorinis sluoksnis(iai) ir laukas(ai), kuriuos reikia naudoti interpoliacijai, užkoduoti į tekstą (daugiau informacijos rasite klasės ParameterInterpolationData šaltinyje InterpolationWidgets).

Šie GUI elementai teikiami interpoliacijos duomenų tekstui kurti:

  • Vektorinis sluoksnis [vektorius: bet koks]

  • Interpoliacijos atributas [lentelės laukas: skaitinis]: Interpoliacijai naudojamas atributas

  • Interpoliacijai naudoti Z-koordinatę [loginis]: Naudoja sluoksnyje įrašytas Z reikšmes (Numatyta: False)

Kiekvienai pridėtai sluoksnio-lauko kombinacijai, galima pasirinkti tipą:

  • Taškai

  • Struktūrinės linijos

  • Lūžio linijos

Sluoksnio-laiko elementai tekste atskiriami '::|::'. Sluoksnio-lauko sub-elementai atskiriami '::~::'.

Atstumo koeficientas P

DISTANCE_COEFFICIENT

[skaičius: slankaus kablelio]

Numatyta: 2.0

Nustato interpoliacijos atstumo koeficientą. Minimalus: 0.0, maksimalus: 100.0.

Apimtis (xmin, xmax, ymin, ymax)

EXTENT

[apimtis]

Išvesties rastro sluoksnio apimtis.

Galimi metodai yra:

  • Skaičiuoti pagal sluoksnį…: naudoja dabartiniame projekte įkelto sluoksnio apimtį

  • Skaičiuoti pagal išdėstymo žemėlapį…: naudoja aktyvaus projekto išdėstymo žemėlapio elemento apimtį

  • Skaičiuoti pagal žymelę…: naudoja įrašytos žymelės apimtį

  • Naudoti žemėlapio drobės apimtį

  • Braižyti drobėje: spauskite ir tempkite stačiakampį, apibrėžianti norimą plotą

  • Įveskite koordinates kaip xmin, xmax, ymin, ymax

Išvesties rastro dydis

PIXEL_SIZE

[skaičius: slankaus kablelio]

Numatytas: 0.1

Išvesties rastro sluoksnio pikselio dydis sluoksnio vienetais.

Naudotojo sąsajoje dydį galima nurodyti kaip skaičių eilučių (Eilučių skaičius) / stulpelių (Stulpelių skaičius) ar pikselio dydį ( Pikselio dydis X / Pikselio dydis Y). Didinat eilučių ar stulpelių skaičių, mažės celės dydis ir didės išvesties rastro failo dydis. Atitinkamai bus keičiamos reikšmės Eilutės, Stulpeliai, Pikselio dydis X ir ``Pikselio dydis Y` - dvigubinant eilučių skaičių dvigubės ir stulpeliai, o celės dydis bus padalintas per pusę. Išvesties rastro apimtis liks tokia pati (daugmaž).

Interpoliuotas

OUTPUT

[rastras]

Numatytas: [Įrašyti į laikiną failą]

Rastro sluoksnis su interpoliuotomis reikšmėmis. Vienas iš:

  • Įrašyti į laikiną failą

  • Įrašyti į failą…

Išvestys

Užrašas

Pavadinimas

Tipas

Aprašymas

Interpoliuotas

OUTPUT

[rastras]

Interpoliuotų reikšmių rastro sluoksnis

Pythono kodas

Algoritmo ID: qgis:idwinterpolation

import processing
processing.run("algorithm_id", {parameter_dictionary})

algoritmo id rodomas, kai užvedate pelę virš algoritmo apdorojimo įrankinėje. parametrų žodynas teikia parametrų pavadinimus ir reikšmes. Daugiau informacijos apie tai, kaip vykdyti apdorojimo algoritmus Pythono konsolėje rasite skyriuje Using processing algorithms from the console.

24.1.6.3. Linijų tankis

Kiekvienai rastro celei paskaičiuoja linijinių geoobjektų tankio matą apskritoje kaimynystėje. Šis matas gaunamas sumuojant visus linijų segmentus, kurie kertasi su apskritimine kaimynyste ir padalinant šią sumą iš tokios kaimynystės ploto. Linijų segmentams galima taikyti svorio faktorių.

Pastaba

Šis algoritmas naudoja elipse paremtus skaičiavimus ir atsižvelgia į dabartinius elipsoido nustatymus.

../../../../_images/linedensity.png

Fig. 24.6 Linijų tankio pavyzdys. Įvesties sluoksnio šaltinis: Roads Overijssel - Nyderlandai (OSM).

Parametrai

Baziniai parametrai

Užrašas

Pavadinimas

Tipas

Aprašymas

Įvesties linijų sluoksnis

INPUT

[vektorius: linija]

Įvesties vektorinis sluoksnis su linijų geoobjektais

Svorio laukas

WEIGHT

[lentelės laukas: skaičius]

Sluoksnio laukas, kuriame yra skaičiavime naudojamas svorio koeficientas

Paieškos spindulys

RADIUS

[skaičius: slankaus kablelio]

Numatytas: 10.0

Apskritiminės kaimynystės spindulys. Čia galima nurodyti vienetus.

Taško dydis

PIXEL_SIZE

[skaičius: slankaus kablelio]

Numatytas: 10.0

Išvesties rastro sluoksnio pikselio dydis sluoksnio vienetais. Rastras turi kvadratinius pikselius.

Linijų tankio rastras

OUTPUT

[rastras]

Numatytas: [Įrašyti į laikiną failą]

Išvestis kaip rastro sluoksnis. Vienas iš:

  • Įrašyti į laikiną failą

  • Įrašyti į failą…

Išmanesni parametrai

Užrašas

Pavadinimas

Tipas

Aprašymas

Kūrimo parinktys

Pasirinktinis

CREATE_OPTIONS

[tekstas]

Numatytas: ‚‘

Norint pridėti vieną ar daugiau kūrimo parinkčių, valdančių rastro kūrimą (spalvos, bloko dydis, failo suspaudimas…). Patogumui jūs galite remtis iš anksto sukurtais profiliais (žiūrėkite GDAL tvarkyklės parinkčių skiltį).

Paketinis apdorojimas ir Modelių kūrimas: atskirkite kelias parinktis statmenu brūkšniu (|).

Išvestys

Užrašas

Pavadinimas

Tipas

Aprašymas

Linijų tankio rastras

OUTPUT

[rastras]

Išvesties linijų tankio rastro sluoksnis.

Pythono kodas

Algoritmo ID: native:linedensity

import processing
processing.run("algorithm_id", {parameter_dictionary})

algoritmo id rodomas, kai užvedate pelę virš algoritmo apdorojimo įrankinėje. parametrų žodynas teikia parametrų pavadinimus ir reikšmes. Daugiau informacijos apie tai, kaip vykdyti apdorojimo algoritmus Pythono konsolėje rasite skyriuje Using processing algorithms from the console.

24.1.6.4. TIN interpoliacija

Kuria Trianguliuoto Netaisyklingo Tinklo (TIN) interpoliaciją iš vektorinio taškų sluoksnio.

Naudodami TIN metodą jūs galite sukurti paviršių, suformuotą iš artimiausių kaimyninių taškų trikampių. Kad tai būtų padaryta, aplink parinktus taškus sukuriami apskritimai, o jų susikirtimai sujungiami į tinklą nepersidengiančių ir kiek galima kompaktiškesnių trikampių. Gauti paviršiai nėra tolydūs.

Šis algoritmas sukuria tiek interpoliuotų reikšmių rastro sluoksnį, tiek ir trianguliuotų ribų vektorinį linijų sluoksnį.

Parametrai

Užrašas

Pavadinimas

Tipas

Aprašymas

Įvesties sluoksnis(iai)

INTERPOLATION_DATA

[tekstas]

Vektorinis sluoksnis(iai) ir laukas(ai), kuriuos reikia naudoti interpoliacijai, užkoduoti į tekstą (daugiau informacijos rasite klasės ParameterInterpolationData šaltinyje InterpolationWidgets).

Šie GUI elementai teikiami interpoliacijos duomenų tekstui kurti:

  • Vektorinis sluoksnis [vektorius: bet koks]

  • Interpoliacijos atributas [lentelės laukas: skaitinis]: Interpoliacijai naudojamas atributas

  • Interpoliacijai naudoti Z-koordinatę [loginis]: Naudoja sluoksnyje įrašytas Z reikšmes (Numatyta: False)

Kiekvienai pridėtai sluoksnio-lauko kombinacijai, galima pasirinkti tipą:

  • Taškai

  • Struktūrinės linijos

  • Lūžio linijos

Sluoksnio-laiko elementai tekste atskiriami '::|::'. Sluoksnio-lauko sub-elementai atskiriami '::~::'.

Interpoliacijos metodas

METHOD

[sąrašas]

Numatytas: 0

Nustatykite naudojamą interpoliacijos metodą. Vienas iš:

  • Tiesinis

  • Clough-Toucher (kubinis)

Apimtis (xmin, xmax, ymin, ymax)

EXTENT

[apimtis]

Išvesties rastro sluoksnio apimtis.

Galimi metodai yra:

  • Skaičiuoti pagal sluoksnį…: naudoja dabartiniame projekte įkelto sluoksnio apimtį

  • Skaičiuoti pagal išdėstymo žemėlapį…: naudoja aktyvaus projekto išdėstymo žemėlapio elemento apimtį

  • Skaičiuoti pagal žymelę…: naudoja įrašytos žymelės apimtį

  • Naudoti žemėlapio drobės apimtį

  • Braižyti drobėje: spauskite ir tempkite stačiakampį, apibrėžianti norimą plotą

  • Įveskite koordinates kaip xmin, xmax, ymin, ymax

Išvesties rastro dydis

PIXEL_SIZE

[skaičius: slankaus kablelio]

Numatytas: 0.1

Išvesties rastro sluoksnio pikselio dydis sluoksnio vienetais.

Naudotojo sąsajoje dydį galima nurodyti kaip skaičių eilučių (Eilučių skaičius) / stulpelių (Stulpelių skaičius) ar pikselio dydį ( Pikselio dydis X / Pikselio dydis Y). Didinat eilučių ar stulpelių skaičių, mažės celės dydis ir didės išvesties rastro failo dydis. Atitinkamai bus keičiamos reikšmės Eilutės, Stulpeliai, Pikselio dydis X ir ``Pikselio dydis Y` - dvigubinant eilučių skaičių dvigubės ir stulpeliai, o celės dydis bus padalintas per pusę. Išvesties rastro apimtis liks tokia pati (daugmaž).

Interpoliuotas

OUTPUT

[rastras]

Numatytas: [Įrašyti į laikiną failą]

Išvesties TIN interpoliacija kaip rastro sluoksnis. Vienas iš:

  • Įrašyti į laikiną failą

  • Įrašyti į failą…

Trianguliacija

TRIANGULATION

[vektorius: linija]

Numatytas: [Praleisti išvestį]

Išvesties TIN kaip vektorinis sluoksnis. Vienas iš:

  • Praleisti išvestį

  • Kurti laikiną sluoksnį (TEMPORARY_OUTPUT)

  • Įrašyti į failą…

  • Įrašyti į geopackage…

  • Įrašyti į duombazės lentelę…

Čia taipogi galima pakeisti failo koduotę.

Išvestys

Užrašas

Pavadinimas

Tipas

Aprašymas

Interpoliuotas

OUTPUT

[rastras]

Išvesties TIN interpoliacija kaip rastro sluoksnis

Trianguliacija

TRIANGULATION

[vektorius: linija]

Išvesties TIN kaip vektorinis sluoksnis.

Pythono kodas

Algoritmo ID: qgis:tininterpolation

import processing
processing.run("algorithm_id", {parameter_dictionary})

algoritmo id rodomas, kai užvedate pelę virš algoritmo apdorojimo įrankinėje. parametrų žodynas teikia parametrų pavadinimus ir reikšmes. Daugiau informacijos apie tai, kaip vykdyti apdorojimo algoritmus Pythono konsolėje rasite skyriuje Using processing algorithms from the console.