17.5. Meer algoritmes en gegevenstypen

Notitie

In deze les zullen we nog drie algoritmes uitvoeren, leren hoe andere typen voor invoer te gebruiken, en uitvoer configureren om automatisch te worden opgeslagen in een bepaalde map.

Voor deze lessen zullen we een tabel en een laag voor polygonen nodig hebben. We zullen een puntenlaag gaan maken gebaseerd op coördinaten in de tabel, en dan het aantal punten in elke polygoon tellen. Als u het project voor QGIS opent dat correspondeert met deze les, zult u een tabel vinden met X- en Y-coördinaten, maar u zult geen laag voor polygonen vinden. Geen zorgen, die zullen we maken met behulp van een geo-algoritme van Processing.

Het eerste dat we zullen gaan doen is een puntenlaag maken uit de coördinaten in de tabel, met behulp van het algoritme Points layer from table. U weet nu hoe u het zoekvak kunt gebruiken, dus zou het voor u niet zo moeilijk moeten zijn om dat op te zoeken. Dubbelklik erop om het uit te voeren en u krijgt het volgende dialoogvenster.

Dit algoritme, net zoals dat uit de vorige les, genereert slechts één enkele uitvoer, en het heeft drie invoeren:

  • Invoerlaag: de tabel met de coördinaten. U zou hier de tabel uit de gegevens voor de les moeten selecteren.

  • X- en Y-velden: deze twee parameters zijn gekoppeld aan de eerste. De overeenkomende selectie zal de naam weergeven van de velden die beschikbaar zijn in de geselecteerde tabel. Selecteer het veld XCOORD voor de parameter X, en het veld YYCOORD voor de parameter Y.

  • doel-CRS: Omdat dit algoritme geen invoerlagen heeft, kan het geen CRS aan de uitvoerlaag toewijzen die daar op is gebaseerd. In plaats daarvan vraagt het u om handmatig het CRS te selecteren dat de coördinaten in de tabel gebruiken. Klik op de knop aan de rechterkant om de selectie van CRS voor QGIS te openen, en selecteer EPSG:4326 als het CRS voor de uitvoer. We gebruiken dat CRS omdat de coördinaten in de tabel in dat CRS staan.

Uw dialoogvenster zou er nu zo uit moeten zien.

../../../_images/points_from_table.png

Druk nu op de knop Run om de volgende laag te krijgen (u moet misschien volledig inzoomen om de kaart rondom de nieuw gemaakte punten te laten zien):

../../../_images/points.png

Het volgende dat we nodig hebben is de polygoonlaag. We gaan een rechthoekig raster van polygonen maken met behulp van het algoritme Create grid, wat het volgende dialoogvenster voor de parameters heeft.

../../../_images/graticule_dialog.png

Waarschuwing

De opties zijn eenvoudiger in recent versies van QGIS; u hoeft slechts de min en max voor X en Y in te voeren (voorgestelde waarden: -5.696226,-5.695122,40.24742,40.248171)

De vereiste invoeren voor het maken van het raster zijn allemaal getallen. Wanneer u een numerieke waarde dient in te voeren heeft u twee opties: het direct typen in het overeenkomende vak of klikken op de knop aan de rechterkant om een dialoogvenster te krijgen zoals dat hieronder wordt weergegeven.

../../../_images/number_dialog.png

Het dialoogvenster bevat een eenvoudige calculator, dus u kunt expressies typen zoals 11 * 34.7 + 4.6, en het resultaat zal worden berekend en in het overeenkomende vak in het dialoogvenster van de parameters worden geplaatst. Het bevat ook constanten die u kunt gebruiken en waarden uit andere beschikbare lagen.

In dit geval willen we een raster maken dat het bereik van de puntenlaag voor invoer bedekt, dus zouden we de coördinaten daarvan moeten gebruiken om de coördinaat van het midden van het raster te berekenen en de breedte en hoogte daarvan, omdat dat de parameters zijn die het algoritme nodig heeft om het raster te kunnen maken. met een beetje rekenkundige hulp, probeer dat zelf eens te doen met behulp van het dialoogvenster met de calculator en de constanten van de puntenlaag van de invoer.

Selecteer Rectangles (polygons) in het veld Type.

Net zoals in het geval van het laatste algoritme moeten we hier ook het CRS invullen. Selecteer EPSG:4326 als het doel-CRS, zoals we al eerder deden.

Uiteindelijk zou u een dialoogvenster voor parameters moeten hebben zoals dit:

../../../_images/graticule_parameters.png

(Het is beter om één afstand toe te voegen voor breedte en hoogte: Horizontal spacing: 0.0001, Vertical spacing: 0.0001, Width: 0.001004, Height: 0.000651, Center X: -5.695674, Center Y: 40.2477955) Het geval van X center is een beetje gevoelig, zie: -5.696126+(( -5.695222+ 5.696126)/2)

Druk op Run en u zult de laag met het raster krijgen.

../../../_images/graticule.png

De laatste stap is om de punten te tellen in elke rechthoek van dat raster. We zullen het algoritme Count points in polygons gebruiken.

../../../_images/count_points.png

Nu hebben we het resultaat dat we zochten.

Vóórdat we deze les beëindigen: hier is een snelle tip om uw leven eenvoudiger te maken voor het geval u uw gegevens steeds wilt opslaan. Als u wilt dat al uw gegevens voor de uitvoer worden opgeslagen in één bepaalde map, hoeft u niet elke keer de naam van de map te typen. Ga, in plaats daarvan, naar het menu Processing en selecteer het item Opties en configuratie. dat zal het dialoogvenster voor configuratie openen.

../../../_images/config.png

In het item Output folder dat u zult vinden in de groep General, typt u het pad naar uw doelmap.

../../../_images/output_folder.png

Wanneer u nu een algoritme uitvoert, gebruik dan slechts de bestandsnaam in plaats van het volledige pad. Bijvoorbeeld, met de hierboven weergegeven configuratie, als u graticule.shp invoert als het pad voor uitvoer voor het algoritme dat we zojuist hebben gebruikt, zal het resultaat worden opgeslagen in D:\processing_output\graticule.shp. U kunt nog steeds een volledig pad invoeren voor de gevallen waarin u wilt dat het resultaat wordt opgeslagen in een andere map.

Probeer zelf het algoritme Create grid met verschillende grootten raster, en ook met verschillende typen raster.