Introduction

This analysis was done with the ABMI photo plots in the Boreal and Foothills natural regions. In total, there were 32,715 wetland form polygons and 28,474 wetland class polygons. The MMU of the ABMI plots is 0.5 ha. This document summarizes the distribution of wetland sizes at the form and class level. This is done to help inform a proper Minimum Mapping Unit (MMU) in the Boreal/Foothills area.

Wetland form MMU analysis

Wetland area histogram

#Alberta wetland inventory MMU Boreal analysis
library(ggplot2)
library(dplyr)
library(tidyr)
library(knitr)
setwd("X:/ALPHA/PersonalFolders/EvanDeLancey/AMWI_Boreal_MMU")
form <- read.csv("wetlandFormDF.csv")
class <- read.csv("wetlandClassDF.csv")

#form analysis
#full plot
ggplot(form, aes(x=areaHA)) + geom_histogram(bins=100) +
  xlim(0, 50) + xlab("Wetland area (ha)") + ggtitle("Full plot")

#zoom in plot
ggplot(form, aes(x=areaHA)) + geom_histogram(bins=200) +
  xlim(0, 5) + xlab("Wetland area (ha)") + ggtitle("Zoomed plot")

Percentiles

t1 <- quantile(form$areaHA, c(0.025, 0.05, 0.1, 0.15))
t12 <- ecdf(form$areaHA)(0.6)
t2 <- ecdf(form$areaHA)(0.9)
t3 <- ecdf(form$areaHA)(2)
prcnt <- data.frame(
  Percentile = round(c(2.5, 5, 10, 15, t12*100, t2*100, t3*100), digits = 2),
  Area = round(c(t1, 0.6, 0.9, 2), digits = 2)
  
)
colnames(prcnt) <- c("Percentile", "Wetland size (ha)")
kable(prcnt)
Percentile Wetland size (ha)
2.50 0.61
5.00 0.72
10.00 0.97
15.00 1.25
2.39 0.60
8.61 0.90
25.11 2.00

Wetland area stats

areaF <- form$areaHA
totalWetArea <- sum(areaF)
cat("Percent wetlands (area wise) above 0.6 ha = ", round(sum(areaF[areaF>0.6])/totalWetArea*100, digits = 2))

Percent wetlands (area wise) above 0.6 ha = 99.91

cat("Percent wetlands (area wise) above 0.75 ha = ", round(sum(areaF[areaF>0.75])/totalWetArea*100, digits = 2))

Percent wetlands (area wise) above 0.75 ha = 99.77

cat("Percent wetlands (area wise) above 0.9 ha = ", round(sum(areaF[areaF>0.9])/totalWetArea*100, digits = 2))

Percent wetlands (area wise) above 0.9 ha = 99.6

cat("Percent wetlands (area wise) above 2 ha = ", round(sum(areaF[areaF>2])/totalWetArea*100, digits = 2))

Percent wetlands (area wise) above 2 ha = 98.06

Area histograms by form

joinTable <- data.frame(
  wetForm = c("Open water", "Fen tree", "Fen swamp", "Fen open", "Bog tree", "Bog swamp", "Marsh open", "Swamp tree", "Swamp shrub"),
  lndcvCN = c(0, 10, 11, 12, 20, 21, 30, 40, 41)
)
form <- merge(form, joinTable, by = "lndcvCN")
ggplot(form, aes(x = wetForm, y = areaHA)) + geom_violin() +
  ylim(0,10) + xlab("Wetland form") + ylab("Area (ha)")

Number of polygons less than 0.6 ha - by form

tbl <- form %>% filter(areaHA < 0.6) %>% group_by(wetForm) %>% summarise(number = n()) %>% arrange(desc(number))
kable(tbl)
wetForm number
Open water 243
Swamp tree 179
Marsh open 94
Fen tree 92
Swamp shrub 78
Fen open 51
Fen swamp 25
Bog tree 21

Number of polygons less than 0.9 ha - by form

tbl <- form %>% filter(areaHA < 0.9) %>% group_by(wetForm) %>% summarise(number = n()) %>% arrange(desc(number))
kable(tbl)
wetForm number
Open water 822
Swamp tree 689
Marsh open 353
Fen tree 344
Swamp shrub 280
Fen open 148
Fen swamp 94
Bog tree 88

Number of polygons less than 2 ha - by form

tbl <- form %>% filter(areaHA < 2) %>% group_by(wetForm) %>% summarise(number = n()) %>% arrange(desc(number))
kable(tbl)
wetForm number
Swamp tree 2304
Open water 1925
Fen tree 1194
Marsh open 923
Swamp shrub 754
Fen open 464
Bog tree 359
Fen swamp 284
Bog swamp 8

Conculsions

91% of wetland polygons are captured with an MMU of 0.9 ha. By area, 99.6% of wetlands are captured with a MMU of 0.9 ha. Most of the wetlands missed with a 0.9 ha MMU are open water and treed swamps.

98% of wetland polygons are captures with an MMU of 0.6 ha. By area, 99.9% of wetlands are captured with a MMU of 0.6 ha. Most of the wetlands missed with a 0.6 ha MMU are open water and treed swamps.

Wetland class MMU analysis

Wetland area histogram

#class analysis
#full plot
ggplot(class, aes(x=areaHA)) + geom_histogram(bins=100) +
  xlim(0, 50) + xlab("Wetland area (ha)") + ggtitle("Full plot")

#zoom in plot
ggplot(class, aes(x=areaHA)) + geom_histogram(bins=200) +
  xlim(0, 5) + xlab("Wetland area (ha)") + ggtitle("Zoomed plot")

Percentiles

t1 <- quantile(class$areaHA, c(0.025, 0.05, 0.1, 0.15))
t2 <- ecdf(class$areaHA)(0.9)
t3 <- ecdf(class$areaHA)(2)
prcnt <- data.frame(
  Percentile = round(c(2.5, 5, 10, 15, t2*100, t3*100), digits = 2),
  Area = round(c(t1, 0.9, 2), digits = 2)
  
)
colnames(prcnt) <- c("Percentile", "Wetland size (ha)")
kable(prcnt)
Percentile Wetland size (ha)
2.50 0.60
5.00 0.71
10.00 0.94
15.00 1.20
9.09 0.90
26.06 2.00

Wetland area stats

areaF <- class$areaHA
totalWetArea <- sum(areaF)
cat("Percent wetlands (area wise) above 0.75 ha = ", round(sum(areaF[areaF>0.75])/totalWetArea*100, digits = 2))

Percent wetlands (area wise) above 0.75 ha = 99.79

cat("Percent wetlands (area wise) above 0.9 ha = ", round(sum(areaF[areaF>0.9])/totalWetArea*100, digits = 2))

Percent wetlands (area wise) above 0.9 ha = 99.63

cat("Percent wetlands (area wise) above 2 ha = ", round(sum(areaF[areaF>2])/totalWetArea*100, digits = 2))

Percent wetlands (area wise) above 2 ha = 98.26

Area histograms by class

joinTable <- data.frame(
  wetclass = c("Open water", "Fen", "Bog", "Marsh", "Swamp"),
  PLC30_N = c(0, 1, 2, 3, 4)
)
class <- merge(class, joinTable, by = "PLC30_N")
ggplot(class, aes(x = wetclass, y = areaHA)) + geom_violin() +
  ylim(0,10) + xlab("Wetland class") + ylab("Area (ha)")

Number of polygons less than 0.9 ha - by class

tbl <- class %>% filter(areaHA < 0.9) %>% group_by(wetclass) %>% summarise(number = n()) %>% arrange(desc(number))
kable(tbl)
wetclass number
Swamp 907
Open water 822
Fen 443
Marsh 327
Bog 88

Number of polygons less than 2 ha - by class

tbl <- class %>% filter(areaHA < 2) %>% group_by(wetclass) %>% summarise(number = n()) %>% arrange(desc(number))
kable(tbl)
wetclass number
Swamp 2820
Open water 1925
Fen 1432
Marsh 877
Bog 365