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:
- Load the county LULC, seagrass, native layer, and restorable layer
- Call
curex_fun()to produce the summary data frame - Save the result as
current_summary_<county>.RDataindata/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:
Subtidal exclusion: FLUCCS codes representing open water and subtidal features are removed. These are accounted for separately via the seagrass layer.
Coastal Uplands reclassification:
add_coast_up()is called to separate Native Upland polygons that fall within the coastal stratum into a distinctCoastal Uplandscategory.Area summarised in acres by
Habitatusingsf::st_area()converted via theunitspackage.
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 Barrensis duplicated intoMangrove ForestsandSalt Barrensas separate rowsFreshwater Wetlandsis duplicated intoNon-Forested Freshwater WetlandsandForested Freshwater Wetlandsas 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 HabitatsandRestorable Habitats - Merges restorable cells for
Non-ForestedandForested Freshwater Wetlands, and forMangrove ForestsandSalt 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 |