[GIS] Clustering of multiple raster layers to create sub-regions using QGIS

clusteringpolygonqgisraster

I'm attempting to create n sub-regions from a polygon based on a cluster analysis of a bunch of overlapping raster layers (physical layers, eg: depth, currents, waves).

Currently, I can create a regular grid across the polygon, then extract physical attributes from the physical raster layers (eg: Gridspot or equivalent tool) then, run a cluster analysis restricted to n number of clusters (in R or other stats package).

Then, I can identify each cluster-group, and plot them back in GIS (QGIS or ArcMap). I envisage however, that some cluster-groups will be dispersed (spatial outliers and not meaningful), whereas some will be clumped (worthy of being a sub-region).

I could then manually draw around representative clumps to create n sub-regions.

Is there a tool like ArcMap 10.1 Grouping Analysis that can be run in QGIS? I'm only running 10.0.

Are there suggestions of a better way to do cluster analysis of multiple raster layers, to create n sub-regions (bio-regions)?

Best Answer

It seems that your problem is that cluster analysis processes such as k-means in R do not consider spatial information, hence the output is likely to be dispersed (spatially at least!). Have you considered adding the raster row and column values in as additional variables, this would make the clustering algorithm 'aware' of the spatial configuration of the data?

Related Question