Friday, August 24, 2018

QspatiaLite Use Case Find Dominant Species and Species Count within Sampling Areas Using the QspatiaLite Plugin

QspatiaLite Use Case Find Dominant Species and Species Count within Sampling Areas Using the QspatiaLite Plugin


This blogpost shows how to find the dominant species and species counts within sampling polygons. The Species-layer that Ill use here is comprised of overlapping polygons which represent the distribution of several species. The Regions-layer represents areas of interest over which we would like to calculate some measures like species count, dominant species and area occupied by the dominant species.

Since QGIS now makes import/export and querying of spatial data easy, we can use the spatiaLite engine to join the intersection of both layers to the region table and then aggregate this intersections by applying max- and count-function on each region. Well also keep the identity and the area-value of the species with the largest intersecting area.

For the presented example Ill use
  • Regions, which is a polygon layer with a areas of interest
  • Species, which is a polygon layer with overlapping features, representing species

    Do the calculation in 2 easy steps:
  • Import the layers to a spatiaLite DB with the Import function of the plugin (example data: HERE)
  • Run the query. For later use you can load this table to QGIS or export with the plugins export button.

    SELECT 
    t.region AS region,
    t.species AS sp_dom,
    count(*) AS sp_number,
    max(t.sp_area) / 10000 AS sp_dom_area
    FROM (
    SELECT
    g.region AS region, s.species AS species,
    area(intersection(g.Geometry, s.Geometry)) AS sp_area
    FROM Regions AS g JOIN Sp_Distribution AS s
    ON INTERSECTS(g.Geometry, s.Geometry)
    ) AS t
    GROUP BY t.region
    ORDER BY t.region

    Addendum:
    If you wish to calculate any other diversity measures, like Diversity- or Heterogenity-Indices, you might just run the below query (which actually is the subquery from above) and feed the resulting table to any statistic-software!

    The output table will contain regions IDs, each intersecting species and the intersection area.
    The intersection area, which is the species area per polygon, is the metric that would be used for the calculation of diversity / heterogenity measures, etc. of regions!

    SELECT 
    g.region AS regID,
    s.species AS sp,
    AREA(INTERSECTION(g.geometry, s.geometry)) AS sp_area
    FROM Regions AS g JOIN Sp_Distribution AS s
    ON INTERSECTS(g.Geometry,s.Geometry)
    ORDER BY regID, sp_area ASC



    I tested this on
  • QGIS 2.6 Brighton
  • with the QspatiaLite Plugin installed

    visit link download
  • No comments:

    Post a Comment

    Note: Only a member of this blog may post a comment.