Viktigt

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

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.

First, let’s open an algorithm that requires an extent to be defined. Open the Rasterize (vector to raster) algorithm, which creates a raster layer from a vector layer.

../../../_images/rasterize1.png

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.

../../../_images/type.png

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.

../../../_images/menu1.png

Låt oss se vad var och en av dem gör.

The first option is Use layer/canvas extent, which will show the selection dialog shown below.

../../../_images/layer.png

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.

The second option is Select extent on canvas. In this case, the algorithm dialog disappears and you can click and drag on the QGIS canvas to define the desired extent.

../../../_images/extent_drag.png

När du släpper musknappen visas dialogrutan igen och textrutan har redan de värden som motsvarar den definierade omfattningen.

The last option is Use min covering extent from input layers, which is the default option. This will compute the min covering extent of all layers used to run the algorithm, and there is no need to enter any value in the text box. In the case of a single input layer, as in the algorithm we are running, the same extent can be obtained by selecting that same input layer in the Use layer/canvas extent that we already saw. However, when there are several input layers, the min covering extent does not correspond to any of the input layer extent, since it is computed from all of them together.

Vi kommer att använda den sista metoden för att utföra vår rasteriseringsalgoritm.

Fill the parameters dialog as shown next, and press OK.

../../../_images/parameters.png

Observera

In this case, better use an Integer (1 byte) instead of a Floating point (4 byte), since the NAME is an integer with maximum value=64. This will result in a smaller file size and faster computations.

Du får ett rastrerat lager som täcker exakt det område som täcks av det ursprungliga vektorlagret.

../../../_images/result.png

In some cases, the last option, Use min covering extent from input layers, might not be available. This will happen in those algorithm that do not have input layers, but just parameters of other types. In that case, you will have to enter the value manually or use any of the other options.

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.