Nota
Lesson developed by Linfiniti and S Motala (Cape Peninsula University of Technology)
Spatial statistics allow you to analyze and understand what is going on in a given vector dataset. QGIS includes several standard tools for statistical analysis which prove useful in this regard.
The goal for this lesson: To know how to use QGIS’ spatial statistics tools.
In order to get a point dataset to work with, we’ll create a random set of points.
To do so, you’ll need a polygon dataset defining the extents of the area you want to create the points in.
We’ll use the area covered by streets.
Nota
You might find that your SRTM DEM layer has a different CRS to that of the roads layer. If so, you can reproject either the roads or DEM layer using techniques learnt earlier in this module.
Now you can check the sampled data from the raster file in the attributes table of the random_samples layer, they will be in a column named srtm_41_19.tif.
A possible sample layer is shown here:
The sample points are classified by their value such that darker points are at a lower altitude.
You’ll be using this sample layer for the rest of the statistical exercises.
Now get the basic statistics for this layer.
Nota
You can copy and paste the results into a spreadsheet. The data uses a (colon :) separator.
To understand the statistics above, refer to this definition list:
To generate a distance matrix using these points:
To do a nearest neighbor analysis:
Nota
You can copy and paste the results into a spreadsheet. The data uses a (colon :) separator.
To get the mean coordinates of a dataset:
Let’s compare this to the central coordinate of the polygon that was used to create the random sample.
As you can see from the example below, the mean coordinates and the center of the study area (in orange) don’t necessarily coincide:
The histogram of a dataset shows the distribution of its values. The simplest way to demonstrate this in QGIS is via the image histogram, available in the Layer Properties dialog of any image layer.
The mean value is 332.8, and the maximum value is 1699! But those values don’t show up on the histogram. Why not? It’s because there are so few of them, compared to the abundance of pixels with values below the mean. That’s also why the histogram extends so far to the right, even though there is no visible red line marking the frequency of values higher than about 250.
Therefore, keep in mind that a histogram shows you the distribution of values, and not all values are necessarily visible on the graph.
Let’s say you have a collection of sample points from which you would like to extrapolate data. For example, you might have access to the random_samples dataset we created earlier, and would like to have some idea of what the terrain looks like.
To start, launch the Grid (Interpolation) tool by clicking on the Raster ‣ Analysis ‣ Grid (Interpolation) menu item.
Here’s 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.
As you can see, 100 sample points aren’t really enough to get a detailed impression of the terrain. It gives a very general idea, but it can be misleading as well. For example, in the image above, it is not clear that there is a high, unbroken mountain running from east to west; rather, the image seems to show a valley, with high peaks to the west. Just using visual inspection, we can see that the sample dataset is not representative of the terrain.
The results (depending on the positioning of your random points) will look more or less like this:
The border shows the roads_hull layer (which represents the boundary of the random sample points) to explain the sudden lack of detail beyond its edges. This is a much better representation of the terrain, due to the much greater density of sample points.
Here is an example of what it looks like with 10 000 sample points:
Nota
It’s not recommended that you try doing this with 10 000 sample points if you are not working on a fast computer, as the size of the sample dataset requires a lot of processing time.
Originally a separate project and then accessible as a plugin, the SEXTANTE software has been added to QGIS as a core function from version 2.0. You can find it as a new QGIS menu with its new name Processing from where you can access a rich toolbox of spatial analysis tools allows you to access various plugin tools from within a single interface.
You will probably see it docked in QGIS to the right of the map. Note that the tools listed here are links to the actual tools. Some of them are SEXTANTE’s own algorithms and others are links to tools that are accessed from external applications such as GRASS, SAGA or the Orfeo Toolbox. This external applications are installed with QGIS so you are already able to make use of them. In case you need to change the configuration of the Processing tools or, for example, you need to update to a new version of one of the external applications, you can access its setting from Processing ‣ Options and configurations.
For a simple indication of the spatial distribution of points in the random_samples dataset, we can make use of SAGA’s Spatial Point Pattern Analysis tool via the Processing Toolbox you just opened.
Nota
If SAGA is not installed on your system, the plugin’s dialog will inform you that the dependency is missing. If this is not the case, you can skip these steps.
Included in your course materials you will find the SAGA installer for Windows.
Once you have installed SAGA, you’ll need to configure SEXTANTE to find the path it was installed under.
Homebrew users can install SAGA with this command:
If you do not use Homebrew, please follow the instructions here:
http://sourceforge.net/apps/trac/saga-gis/wiki/Compiling%20SAGA%20on%20Mac%20OS%20X
Now that you have installed and configured SAGA, its functions will become accessible to you.
The output will look like this (the symbology was changed for this example):
The red dot is the mean center; the large circle is the standard distance, which gives an indication of how closely the points are distributed around the mean center; and the rectangle is the bounding box, describing the smallest possible rectangle which will still enclose all the points.
Often, the output of an algorithm will not be a shapefile, but rather a table summarizing the statistical properties of a dataset. One of these is the Minimum Distance Analysis tool.
It does not require any other input besides specifying the vector point dataset to be analyzed.
QGIS allows many possibilities for analyzing the spatial statistical properties of datasets.
Now that we’ve covered vector analysis, why not see what can be done with rasters? That’s what we’ll do in the next module!