6.4. Lesson: Statistiques Spatiales

Note

Leçon développée par Linfiniti et S Motala (Cape Peninsula University of Technology)

Spatial statistics allows you to analyze and understand what is going on in a given vector dataset. QGIS includes many useful tools for statistical analysis.

The goal for this lesson: To know how to use QGIS” spatial statistics tools within the Processing Toolbox.

6.4.1. basic Follow Along: Créer un jeu de données test

We will create a random set of points, to get a dataset to work with.

To do so, you will need a polygon dataset to define the area you want to create the points in.

We will use the area covered by streets.

  1. Start a new project

  2. Add your roads dataset, as well as srtm_41_19 (elevation data) found in exercise_data/raster/SRTM/.

    Note

    You might find that the SRTM DEM layer has a different CRS to that of the roads layer. QGIS is reprojecting both layers in a single CRS. For the following exercises this difference does not matter, but feel free to reproject (as shown earlier in this module).

  3. Open Processing toolbox

  4. Use the Vector Geometry ‣ Minimum bounding geometry tool to generate an area enclosing all the roads by selecting Convex Hull as the Geometry Type:

    ../../../_images/roads_hull_setup.png

    As you know, if you don’t specify the output, Processing creates temporary layers. It is up to you to save the layers immediately or at a later stage.

6.4.1.1. Création de points aléatoires

  • Create 100 random points in this area using the tool at Vector Creation ‣ Random points in layer bounds, with a minimum distance of 0.0:

    ../../../_images/random_points_setup.png

    Note

    The yellow warning sign tells you that that parameter concerns distances. The Bounding geometry layer is in a Geographical Coordinate System and the algorithm is just reminding you this. For this example we won’t use this parameter so you can ignore it.

If needed, move the generated random point to the top of the legend to see them better:

../../../_images/random_points_result.png

6.4.1.2. Échantillonage des données

To create a sample dataset from the raster, you’ll need to use the Raster Analysis ‣ Sample raster values algorithm. This tool samples the raster at the locations of the points and adds the raster values in new field(s) depending on the number of bands in the raster.

  1. Ouvrez la boîte de dialogue de l’algorithme Exemple de valeurs raster

  2. Select Random_points as the layer containing sampling points, and the SRTM raster as the band to get values from. The default name of the new field is rvalue_N, where N is the number of the raster band. You can change the name of the prefix if you want.

    ../../../_images/sample_raster_dialog.png
  3. Appuyez sur Run

Now you can check the sampled data from the raster file in the attribute table of the Sampled Points layer. They will be in a new field with the name you have chosen.

Voici un exemple de représentation de la couche:

../../../_images/random_samples_result.png

Les points d’échantillonnage sont classés à l’aide du champ « rvalue_1 », de sorte que les points rouges se trouvent à une altitude plus élevée.

Vous utiliserez cette couche d’échantillonnage pour le reste des exercices statistiques.

6.4.2. basic Follow Along: Statistiques Basiques

Maintenant, récupérez les statistiques basiques de cette couche.

  1. Click on the sum Show statistical summary icon in the Attributes Toolbar. A new panel will pop up.

  2. In the dialog that appears, specify the Sampled Points layer as the source.

  3. Select the rvalue_1 field in the field combo box. This is the field you will calculate statistics for.

  4. Le panneau Statistiques sera automatiquement mis à jour avec les statistiques calculées:

    ../../../_images/basic_statistics_results.png

    Note

    You can copy the values by clicking on the editCopy Copy Statistics To Clipboard button and paste the results into a spreadsheet.

  5. Close the Statistics Panel when done

Many different statistics are available:

Compte

The number of samples/values.

Somme

The values added together.

Moyenne

The mean (average) value is simply the sum of the values divided by the number of values.

Médiane

If you arrange all the values from smallest to greatest, the middle value (or the average of the two middle values, if N is an even number) is the median of the values.

St Dev (pop)

La déviation standard. Donne une indication sur la manière dont les valeurs sont regroupées autour de la moyenne. Plus la déviation est faible, plus les valeurs tendent à se situer à la moyenne.

Minimum

La valeur minimale.

Maximum

La valeur maximale.

Portée

La différence entre les valeurs minimale et maximale.

Q1

Premier quartile des données.

Q3

Troisième quartile des données.

Valeurs (nulles) manquantes

The number of missing values.

6.4.3. basic Follow Along: Compute statistics on distances between points

  1. Create a new temporary point layer.

  2. Enter edit mode, and digitize three points somewhere among the other points.

    Alternativement, utilisez la même méthode de génération de points aléatoires que précédemment, mais spécifiez seulement trois points.

  3. Enregistrez votre nouvelle couche sous distance_points dans le format que vous préférez.

Pour générer des statistiques sur les distances entre les points dans les deux couches:

  1. Open the Vector Analysis ‣ Distance matrix tool.

  2. Select the distance_points layer as the input layer, and the Sampled Points layer as the target layer.

  3. Définissez-le comme ceci:

    ../../../_images/distance_matrix_setup.png
  4. If you want you can save the output layer as a file or just run the algorithm and save the temporary output layer later.

  5. Cliquez sur Exécuter pour générer la couche de matrice de distance.

  6. Ouvrez la table attributaire de la couche générée: les valeurs font référence aux distances entre les entités distance_points et leurs deux points les plus proches dans la couche Sampled Points:

    ../../../_images/distance_matrix_example.png

With these parameters, the Distance Matrix tool calculates distance statistics for each point of the input layer with respect to the nearest points of the target layer. The fields of the output layer contain the mean, standard deviation, minimum and maximum for the distances to the nearest neighbors of the points in the input layer.

6.4.4. basic Follow Along: Analyse du plus proche voisin (dans la couche)

Pour effectuer une analyse du voisin le plus proche d’une couche de points:

  1. Choose Vector analysis ‣ Nearest neighbor analysis.

  2. Dans la boîte de dialogue qui apparaît, sélectionnez la couche Points aléatoires et cliquez sur Exécuter.

  3. Les résultats apparaîtront dans le panneau Processing Visualiseur de résultats.

    ../../../_images/result_viewer.png
  4. Cliquez sur le lien bleu pour ouvrir la page html avec les résultats:

    ../../../_images/nearest_neighbour_example.png

6.4.5. basic Follow Along: Coordonnées Moyennes

Pour obtenir les coordonnées moyennes d’un jeu de données:

  1. Start Vector analysis ‣ Mean coordinate(s)

  2. In the dialog that appears, specify Random points as Input layer, and leave the optional choices unchanged.

  3. Cliquez sur Exécuter.

Let us compare this to the central coordinate of the polygon that was used to create the random sample.

  1. Start Vector geometry ‣ Centroids

  2. In the dialog that appears, select Bounding geometry as the input layer.

As you can see, the mean coordinates (pink point) and the center of the study area (in green) don’t necessarily coincide.

Le centroïde est le barycentre de la couche (le barycentre d’un carré est le centre du carré) tandis que les coordonnées moyennes représentent la moyenne de toutes les coordonnées des nœuds.

../../../_images/polygon_centroid_mean.png

6.4.6. basic Follow Along: Histogrammes d’image

L’histogramme d’un jeu de données montre la distribution de ses valeurs. Le moyen le plus simple de le démontrer dans QGIS est via l’histogramme d’image, disponible dans la boîte de dialogue Propriétés de la couche de n’importe quelle couche d’image (jeu de données raster).

  1. In your Layers panel, right-click on the srtm_41_19 layer

  2. Select Properties

  3. Choose the Histogram tab. You may need to click on the Compute Histogram button to generate the graphic. You will see a graph that shows the frequency distribution for the raster values.

    ../../../_images/histogram_export.png
  4. The graph can be exported as an image with the fileSave Save plot button

  5. You can see more detailed information about the layer in the Information tab (the mean and max values are estimated, and may not be exact).

The mean value is 332.8 (estimated to 324.3), and the maximum value is 1699 (estimated to 1548)! You can zoom in the histogram. Since there are a lot of pixels with value 0, the histogram looks compressed vertically. By zooming in to cover everything but the peak at 0, you will see more details:

../../../_images/histogram_export_zoom.png

Note

If the mean and maximum values are not the same as above, it can be due to the min/max value calculation. Open the Symbology tab and expand the Min / Max Value Settings menu. Choose radioButtonOnMin / max and click on Apply.

Keep in mind that a histogram shows you the distribution of values, and not all values are necessarily visible on the graph.

6.4.7. basic Follow Along: Interpolation Spatiale

Supposons que vous ayez une collection d’exemples de points à partir desquels vous souhaitez extrapoler des données. Par exemple, vous pourriez avoir accès au jeu de données Sampled points que nous avons créé plus tôt, et vous souhaitez avoir une idée de l’apparence du terrain.

  1. To start, launch the GDAL ‣ Raster analysis ‣ Grid (IDW with nearest neighbor searching) tool in the Processing Toolbox.

  2. For Point layer select Sampled points

  3. Set Weighting power to 5.0

  4. In Advanced parameters, set Z value from field to rvalue_1

  5. Finally click on Run and wait until the processing ends

  6. Fermez la boîte de dialogue

Here is a comparison of the original dataset (left) to the one constructed from our sample points (right). Yours may look different due to the random nature of the location of the sample points.

../../../_images/interpolation_comparison.png

Comme vous pouvez le voir, 100 points d’échantillonnage ne sont pas vraiment suffisants pour obtenir une impression détaillée du terrain. Cela donne une idée très générale, mais elle peut aussi être trompeuse.

6.4.8. moderate Try Yourself Différentes méthodes d’interpolation

  1. Use the processes shown above to create a set of 10 000 random points

    Note

    If the number of points is really big, the processing time can take a long time.

  2. Use these points to sample the original DEM

  3. Use the Grid (IDW with nearest neighbor searching) tool on this dataset.

  4. Set Power and Smoothing to 5.0 and 2.0, respectively.

Les résultats (dépendamment de la position de vos points aléatoires) ressembleront plus ou moins à cela :

../../../_images/interpolation_comparison_10000.png

This is a better representation of the terrain, due to the greater density of sample points. Remember, larger samples give better results.

6.4.9. In Conclusion

QGIS has a number of tools for analyzing the spatial statistical properties of datasets.

6.4.10. What’s Next?

Now that we have covered vector analysis, why not see what can be done with rasters? That is what we will do in the next module!