3  Current Summaries

This step produces a tabular summary of current habitat extent and conservation opportunity for each of the seven TBCMP counties. All processing is implemented in R/funcs.R and executed in R/03_current_summaries.R.

Overview

For each county, a single data frame is produced that compiles area estimates (in acres) across all ten habitat categories, organized into three column groups:

Column group Description
Current Extent Total mapped area of each habitat type from LULC and seagrass layers
Native Habitats Area of native (non-restorable) habitat within existing and proposed conservation lands
Restorable Habitats Area of restorable land within existing and proposed conservation lands, plus a total

Rows are stratified by tidal position (Subtidal, Intertidal, Supratidal) following the strata lookup. All ten habitat categories appear in every county summary, with zeros where no area was mapped.

Input Layers

Four county-wide shared layers are loaded at the start of the script:

Object File Description
fluccs data/01_inputs/fluccs.RData FLUCCS code lookup table
strata data/01_inputs/strata.RData Habitat stratification (Subtidal / Intertidal / Supratidal)
tbcmp_cnt data/01_inputs/tbcmp_cnt.RData Seven-county boundary polygons
coastal_stratum data/01_inputs/coastal_stratum.RData Coastal stratum (MLLW to 5 ft NAVD88)

Four county-specific layers are loaded inside the loop for each county:

Object File Description
lulc_<county> data/01_inputs/lulc_<county>.RData County LULC layer
seagrass_<county> data/01_inputs/seagrass_<county>.RData County seagrass / subtidal layer
nativelyr_<county> data/02_current_layers/nativelyr_<county>.RData Native habitats in conservation lands
restorelyr_<county> data/02_current_layers/restorelyr_<county>.RData Restorable lands in conservation

County Processing Loop

The script loops over all seven counties in tbcmp_cnt. For each county:

  1. Load the county LULC, seagrass, native layer, and restorable layer
  2. Call curex_fun() to produce the summary data frame
  3. Save the result as current_summary_<county>.RData in data/03_current_summaries/

The coastal stratum is passed in full and clipped to the county boundary inside curex_fun().

Current Extent Summary

curex_fun() assembles the current extent summary in three parts, then joins them into a single wide data frame.

Intertidal and Supratidal Area

lulc_est() derives area estimates for intertidal and supratidal habitat categories from the county LULC layer:

  1. Subtidal exclusion: FLUCCS codes representing open water and subtidal features are removed. These are accounted for separately via the seagrass layer.

  2. Coastal Uplands reclassification: add_coast_up() is called to separate Native Upland polygons that fall within the coastal stratum into a distinct Coastal Uplands category.

  3. Area summarised in acres by Habitat using sf::st_area() converted via the units package.

Subtidal Area

subt_est() derives area estimates for subtidal categories from the county seagrass layer. The FLUCCS code lookup is joined to the layer and area is summarised in acres by Habitat. This describes seagrasses, oyster bars, and tidal flats.

Joined to Strata Lookup

The LULC and subtidal summaries are combined and left-joined to the strata lookup table so that every habitat category appears in every county, even if no area was mapped. Missing values are filled with zero acres.

Native Conservation Summary

Area within nativelyr is summarised by Habitat and typ ("Existing" or "Proposed"), then spread to wide format with one column per conservation type:

Column Description
native Existing Acres of native habitat within existing conservation lands
native Proposed Acres of native habitat within proposed conservation lands

For subtidal rows, the native Existing column is populated with the Current Extent value, since subtidal features (seagrasses, oyster bars) are by definition native habitats and are not separately tracked. There are no proposed conservation lands in the subtidal stratum, so native Proposed is zero for all subtidal rows. Similarly, there are no restoration opportunities in the subtidal stratum, so restorable columns are zero for all subtidal rows.

Restorable Lands Summary

Area within restorelyr is summarised by Habitat and typ, then spread to wide format. Two adjustments are made to align the restorable layer’s compound labels with the habitat rows in the strata lookup:

  • Mangrove Forests/Salt Barrens is duplicated into Mangrove Forests and Salt Barrens as separate rows
  • Freshwater Wetlands is duplicated into Non-Forested Freshwater Wetlands and Forested Freshwater Wetlands as separate rows

This ensures every habitat in the strata lookup has a corresponding restorable row, even though restorelyr stores the two freshwater wetland types and the two tidal habitat types as combined geometries.

A total restorable column is computed as the sum of restorable Existing and restorable Proposed.

Output Files

All output files are written to data/03_current_summaries/. Each file contains a single data frame with the following columns:

Column Description
Category Tidal stratum: Subtidal, Intertidal, or Supratidal
Habitat Habitat category
unis Unit label ("ac")
Current Extent Total mapped area in acres
native Existing Native habitat in existing conservation (acres)
native Proposed Native habitat in proposed conservation (acres)
restorable Existing Restorable land in existing conservation (acres)
restorable Proposed Restorable land in proposed conservation (acres)
total restorable Sum of restorable Existing and restorable Proposed (acres)
File Object
data/03_current_summaries/current_summary_citrus.RData current_summary_citrus
data/03_current_summaries/current_summary_hernando.RData current_summary_hernando
data/03_current_summaries/current_summary_hillsborough.RData current_summary_hillsborough
data/03_current_summaries/current_summary_manatee.RData current_summary_manatee
data/03_current_summaries/current_summary_pasco.RData current_summary_pasco
data/03_current_summaries/current_summary_pinellas.RData current_summary_pinellas
data/03_current_summaries/current_summary_sarasota.RData current_summary_sarasota

Table Output

curextab_fun() is a separate function that accepts the data frame output of curex_fun() and formats it into a flextable suitable for reporting. It is not called in 03_current_summaries.R but is available for use in downstream reporting. The formatted table:

  • Groups rows by tidal stratum (Subtidal, Intertidal, Supratidal) with coloured header rows
  • Adds a two-tier column header grouping columns into Native Habitats and Restorable Habitats
  • Merges restorable cells for Non-Forested and Forested Freshwater Wetlands, and for Mangrove Forests and Salt Barrens, which share the same underlying restorable geometry
  • Applies styling (Roboto font, teal header colours, inner and outer borders)

Key Functions

Function Purpose
curex_fun() Clip coastal stratum to county, compute current extent and conservation summaries, return wide data frame
curextab_fun() Format curex_fun() output into a styled flextable for reporting
lulc_est() Compute intertidal/supratidal area by habitat from the LULC layer
subt_est() Compute subtidal area by habitat from the seagrass layer