Viktigt
Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.
17.12. Definiera extenter
Observera
I den här lektionen kommer vi att se hur man definierar extenter, som behövs för vissa algoritmer, särskilt rasteralgoritmer.
Vissa algoritmer kräver en utsträckning för att definiera det område som ska täckas av den analys de utför, och vanligtvis för att definiera omfattningen av det resulterande lageret.
När det krävs en utsträckning kan den definieras manuellt genom att ange de fyra värden som definierar den (min X, min Y, max X, max Y), men det finns också andra mer praktiska och mer intressanta sätt att göra det på. Vi kommer att se dem alla i den här lektionen.
Låt oss först öppna en algoritm som kräver att en utsträckning definieras. Öppna algoritmen Rasterize, som skapar ett rasterlager från ett vektorlager.

Alla parametrar, utom de två sista, används för att definiera vilket lager som ska rastreras och för att konfigurera hur rastreringsprocessen ska fungera. De två sista parametrarna definierar å andra sidan egenskaperna hos utdatalagret. Det innebär att de definierar det område som täcks (vilket inte nödvändigtvis är samma område som täcks av det ingående vektorlagret) och upplösningen/cellstorleken (som inte kan härledas från vektorlagret, eftersom vektorlager inte har någon cellstorlek).
Det första du kan göra är att skriva in de fyra definierande värden som förklarades tidigare, åtskilda av kommatecken.

Det behöver ingen extra förklaring. Även om detta är det mest flexibla alternativet är det också det minst praktiska i vissa fall, och det är därför som andra alternativ har implementerats. För att komma åt dem måste du klicka på knappen på höger sida av textrutan extent.

Låt oss se vad var och en av dem gör.
Det första alternativet är Use layer/canvas extent, som visar den urvalsdialog som visas nedan.

Här kan du välja Canvas omfattning (den omfattning som täcks av den aktuella zoomen) eller förlängningen av något av de tillgängliga lagren. Markera det och klicka på OK, så fylls textrutan automatiskt med motsvarande värden.
Det andra alternativet är Select extent on canvas. I det här fallet försvinner algoritmdialogen och du kan klicka och dra på QGIS-rutan för att definiera önskad utsträckning.

När du släpper musknappen visas dialogrutan igen och textrutan har redan de värden som motsvarar den definierade omfattningen.
Det sista alternativet är Use min covering extent from input layers, vilket är standardalternativet. Detta beräknar den minsta täckande utbredningen för alla lager som används för att köra algoritmen, och det finns inget behov av att ange något värde i textrutan. Om det finns ett enda inmatningslager, som i den algoritm vi kör, kan samma utsträckning erhållas genom att välja samma inmatningslager i Use layer/canvas extent som vi redan har sett. Men när det finns flera inmatningslager motsvarar inte den minsta täckande omfattningen något av inmatningslagrens omfattning, eftersom den beräknas från dem alla tillsammans.
Vi kommer att använda den sista metoden för att utföra vår rasteriseringsalgoritm.
Fyll i parameterdialogrutan enligt nästa bild och tryck på OK.

Observera
I det här fallet är det bättre att använda ett Integer (1 byte) i stället för ett Floating point (4 byte), eftersom NAME är ett heltal med maxvärde=64. Detta kommer att resultera i en mindre filstorlek och snabbare beräkningar.
Du får ett rastrerat lager som täcker exakt det område som täcks av det ursprungliga vektorlagret.

I vissa fall kan det hända att det sista alternativet, Use min covering extent from input layers, inte är tillgängligt. Detta händer i de algoritmer som inte har indatalager, utan bara parametrar av andra typer. I så fall måste du ange värdet manuellt eller använda något av de andra alternativen.
Lägg märke till att när ett urval finns är lagerets utsträckning den för hela uppsättningen funktioner, och urvalet används inte för att beräkna omfattningen, även om rastreringen endast utförs på de valda objekten. I så fall kanske du vill skapa ett nytt lager från urvalet och sedan använda det som indata.