-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.Rmd
1133 lines (836 loc) · 55.1 KB
/
index.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
---
title: "TAMPA BAY ECONOMIC VALUATION DASHBOARD"
output:
flexdashboard::flex_dashboard:
logo: img/tarponlogo.png
social: menu
source_code: "https://github.com/tbep-tech/tbev-dash"
includes:
in_header: google-analytics.html
runtime: shiny
css: styles.css
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = F, message = F, warning = F)
# libraries
library(flexdashboard)
library(shiny)
library(dplyr)
library(sf)
library(mapview)
library(leaflet)
library(RColorBrewer)
library(plotly)
library(leafpop)
load(file = "data/shoreline.RData")
load(file = "data/watershed.RData")
load(file = "data/habitats.RData")
load(file = "data/wetlands.RData")
load(file = "data/mangroves.RData")
load(file = "data/parcels.RData")
EI_sector <- read.csv("data/EI_sector.csv")
EI_industry <- read.csv("data/EI_industry.csv")
EI_contribution <- read.csv("data/EI_contribution.csv")
PV_values <- read.csv("data/PV_values.csv")
ES_carbon <- read.csv("data/ES_carbon.csv")
ES_denitrification <- read.csv("data/ES_denitrification.csv")
ES_flood <- read.csv("data/ES_flood.csv")
downloadButtonRmd <- function (outputId, label = "Download", class = NULL, ...) {
tags$a(id = outputId, class = paste("btn btn-default shiny-download-link",
class), href = "", target = "_blank", download = NA,
icon("download"), label, ...)
}
tbepcols10 <- c("#00806E","#004F7E","#5C4A42","#958984","#D69C4E","#962D14","#352849","#9C974A","#78B7C5","#D8A499","#427355","#D67336","#7394D4","#F2AD00","#C93211","#E6A0C4","#090909")
```
```{r reactives}
allsectors_pie <- reactive({
# inputs
impact_selection <- input$impact_selection
contribution_selection <- input$contribution_selection
# filter and format input data
mydata <- EI_sector %>%
filter(Contribution %in% contribution_selection) %>%
rename(imp = !!impact_selection) %>%
mutate(
lab = case_when(
impact_selection == 'Employment' ~ paste(prettyNum(round(imp, digits = 0), big.mark = ","), "jobs"),
T ~ paste("$", prettyNum(round(imp, digits = 0), big.mark = ","))))
# make the pie chart
out <- mydata %>%
plot_ly(width = 800, height = 350,
labels = ~Sector,
values = ~imp,
type = "pie",
sort = FALSE,
direction = "clockwise",
marker = list(colors = tbepcols10),
textinfo = "percent",
insidetextfont = list(color = '#FFFFFF'),
hoverinfo = "text",
text = ~lab) %>%
layout(
legend = list(
title = list(text = "<b>Sectors</b>", side = "top"),
orientation = "v"),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
return(out)
})
sector_pie <- reactive({
# inputs
impact_sector_selection <- input$impact_sector_selection
attribute_selection <- input$attribute_selection
sector_selection <- input$sector_selection
# filter and format input data
if(attribute_selection == "Contribution"){
mydata <- EI_sector %>%
filter(Sector == sector_selection & Contribution != "Total") %>%
rename(imp = !!impact_sector_selection,
attribute = Contribution) %>%
mutate(
lab = case_when(
impact_sector_selection == 'Employment' ~ paste(prettyNum(round(imp, digits = 0), big.mark = ","), "jobs"),
T ~ paste("$", prettyNum(round(imp, digits = 0), big.mark = ","))))
legendtitle <- "<b>Contribution</b>"
}
if(attribute_selection == "Industry"){
mydata <- EI_industry %>%
filter(Sector == sector_selection) %>%
rename(imp = !!impact_sector_selection,
attribute = Industry) %>%
mutate(
lab = case_when(
impact_sector_selection == 'Employment' ~ paste(prettyNum(round(imp, digits = 0), big.mark = ","), "jobs"),
T ~ paste("$", prettyNum(round(imp, digits = 0), big.mark = ","))))
legendtitle <- "<b>Industry</b>"
}
# make the pie chart
out <- mydata %>%
plot_ly(width = 800, height = 350,
labels = ~attribute,
values = ~imp,
type = "pie",
sort = FALSE,
direction = "clockwise",
marker = list(colors = tbepcols10),
textinfo = "percent",
insidetextfont = list(color = '#FFFFFF'),
hoverinfo = "text",
text = ~lab) %>%
layout(
legend = list(
title = list(text = legendtitle, side = "top"),
orientation = "v"),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
return(out)
})
carbon_bar <- reactive({
# inputs
scale_c_selection <- input$scale_c_selection
flow_selection <- input$flow_selection
# filter and format input data
mydata <- ES_carbon %>%
filter(Scale %in% scale_c_selection & Flow %in% flow_selection)
if(flow_selection == "Sequestration"){
axistitleQ <- list(title = "Quantity (tonnes CO2/yr)")
axistitleV <- list(title = "Value ($/yr)")
}
if(flow_selection == "Current Stock"){
axistitleQ <- list(title = "Quantity (tonnes CO2)")
axistitleV <- list(title = "Value ($)")
}
# make the bar charts
CarbonQuantity <- mydata %>%
plot_ly(
width = 900,
height = 320,
y = ~Habitat,
x = ~Quantity,
type = "bar",
orientation = "h",
marker = list(color = c("#9C974A","#78B7C5","#5C4A42","#00806E","#004F7E","#F2AD00")),
textposition = "none",
hoverinfo = "text",
text = ~LabelQ) %>%
layout(
xaxis = axistitleQ,
yaxis = list(title = ""),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
CarbonValue <- mydata %>%
plot_ly(
width = 900,
height = 320,
y = ~Habitat,
x = ~Value,
type = "bar",
orientation = "h",
marker = list(color = c("#9C974A","#78B7C5","#5C4A42","#00806E","#004F7E","#F2AD00")),
textposition = "none",
hoverinfo = "text",
text = ~LabelV) %>%
layout(
xaxis = axistitleV,
yaxis = list(title = ""),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
out <- subplot(CarbonQuantity, CarbonValue, nrows = 1, titleX = TRUE, titleY = FALSE, margin = 0.09) %>%
layout(showlegend = FALSE)
return(out)
})
nitrogen_bar <- reactive({
# inputs
scale_n_selection <- input$scale_n_selection
# filter and format input data
mydata <- ES_denitrification %>%
filter(Scale %in% scale_n_selection)
# make the bar charts
NitrogenQuantity <- mydata %>%
plot_ly(
width = 900,
height = 320,
y = ~Habitat,
x = ~Quantity,
type = "bar",
orientation = "h",
marker = list(color = c("#9C974A","#78B7C5","#962D14","#00806E","#004F7E")),
textposition = "none",
hoverinfo = "text",
text = ~LabelQ) %>%
layout(
xaxis = list(title = "Quantity (kg N/yr)"),
yaxis = list(title = ""),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
NitrogenValue <- mydata %>%
plot_ly(
width = 900,
height = 320,
y = ~Habitat,
x = ~Value,
type = "bar",
orientation = "h",
marker = list(color = c("#9C974A","#78B7C5","#962D14","#00806E","#004F7E")),
textposition = "none",
hoverinfo = "text",
text = ~LabelV) %>%
layout(
xaxis = list(title = "Denitrification Value ($/yr)"),
yaxis = list(title = ""),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
out <- subplot(NitrogenQuantity, NitrogenValue, nrows = 1, titleX = TRUE, titleY = FALSE, margin = 0.09) %>%
layout(showlegend = FALSE)
return(out)
})
habitat_map <- reactive({
# inputs
habitat_selection <- input$habitat_selection
# filter and format input data
mydata <- habitats %>%
filter(Habitat %in% habitat_selection)
cols <- c("#004F7E","#9C974A","#962D14","#5C4A42","#78B7C5","#00806E","#F2AD00")
names(cols) <- c("Freshwater Wetlands","Mangrove Forests", "Oyster Bars", "Pine Flatwoods",
"Salt Marshes", "Seagrasses","Shrub and Brushland")
color_selection <- cols[[habitat_selection]]
# make the map
out <- mydata %>%
select(Habitat, Area, Sequestration, Denitrification) %>%
mapview(zcol = "Habitat",
col.regions = color_selection,
alpha.regions = 1.0,
lwd = 0,
layer.name = "Habitat",
popup = popupTable(mydata, zcol = c("Habitat","Area","Sequestration","Denitrification"),
feature.id = FALSE, row.numbers = FALSE)) %>%
.@map
return(out)
})
```
```{r downloadhandlers}
# all data
output$TBEVdata <- downloadHandler(
filename = function(){paste("AllDatasets","zip", sep=".")},
content = function(file){
file.copy("reportdata/AllDatasets.zip", file)},
contentType = "application/zip")
# economic impact data
output$EIdata <- downloadHandler(
filename = function(){paste("EconomicImpacts","zip", sep=".")},
content = function(file){
file.copy("reportdata/EconomicImpacts.zip", file)},
contentType = "application/zip")
# property value data
output$PVdata <- downloadHandler(
filename = function(){paste("PropertyValues","zip", sep=".")},
content = function(file){
file.copy("reportdata/PropertyValues.zip", file)},
contentType = "application/zip")
# ecosystem service data
output$ESdata <- downloadHandler(
filename = function(){paste("EcosystemServices","zip", sep=".")},
content = function(file){
file.copy("reportdata/EcosystemServices.zip", file)},
contentType = "application/zip")
```
Overview
===========================================================
Column {data-width=700}
-----------------------------------------------------------------------
<div class = "row">
<div class = "col-md-2"></div>
<div class = "col-md-10">
<br>
```{r, fig.align='center', out.width='100%'}
knitr::include_graphics('img/header.png')
```
<br>
#### The Economic Valuation of Tampa Bay
Tampa Bay is a 400-square-mile estuary situated along the west coast of Florida in the second-most populous region in the state. Tampa Bay is an estuary of national significance and is of vital importance to the surrounding region's economy. The natural resources of Tampa Bay support essential industries such as tourism, mineral extraction, marine transportation, and other commercial and recreational activities. Additionally, the Tampa Bay watershed is comprised of rich and diverse habitats that provide ecosystem services and community benefits that enhance the quality of life.
The purpose of the Economic Valuation of Tampa Bay is to provide an economic valuation of the natural resources in Tampa Bay and its watershed. The results demonstrate the Tampa Bay estuary’s value in providing substantial economic, social, and environmental benefits to the region’s industries, residents, and visitors. Moreover, the methodologies established herein provide a replicable process for performing a valuation of Tampa Bay.
<br>
```{r, fig.align='center', out.width='5%'}
knitr::include_graphics('img/spacer.png')
```
#### Using the dashboard
Explore the methods and results of the study through the different pages of this dashboard. Tampa Bay’s value is illustrated in three different ways:
1) [__Economic Impacts of Industry Sectors__](#economic-impacts-of-industry-sectors). This page summarizes the annual economic impacts, including output, jobs, and wages, generated by bay-dependent industries on the economy.
1) [__Property Value Amenity Impacts__](#property-value-amenity-impacts). This page examines the effects of bay proximity on property value premiums for single-family homes within a quarter mile of the water.
1) [__Ecosystem Services__](#ecosystem-services). This page highlights the value of ecosystem services (carbon sequestration, denitrification, and flood protection) provided by habitats across Tampa Bay, such as mangrove forests, saltwater marshes, and freshwater wetlands.
Methodological summaries for each of these three analyses can be found in the Methods pages. For more detailed information regarding data sources, calculations, modeling, and results, consult the full 2023 Economic Valuation of Tampa Bay report, which can be downloaded using the link on the right side of this page.
<br>
```{r, fig.align='center', out.width='5%'}
knitr::include_graphics('img/spacer.png')
```
```{r, fig.align='left', out.width='100%'}
knitr::include_graphics('img/infographic.png')
```
```{r, fig.align='center', out.width='5%'}
knitr::include_graphics('img/spacer.png')
```
Dashboard citation info here: [![DOI](https://zenodo.org/badge/659269746.svg)](https://zenodo.org/badge/latestdoi/659269746){target="_blank"}
<a rel='license' href='http://creativecommons.org/licenses/by/4.0/'><img alt='Creative Commons License' style='border-width:0' src='https://i.creativecommons.org/l/by/4.0/88x31.png' /></a> This website is licensed under a <a rel='license' href='http://creativecommons.org/licenses/by/4.0/'>Creative Commons Attribution 4.0 International License</a>.
</div>
<div class = "col-md-2"></div>
</div>
Column {data-width=325}
-----------------------------------------------------------------------
<div class = "row">
<div class = "col-md-2"></div>
<div class = "col-md-9">
<br>
```{r, fig.align='left', out.width='80%'}
knitr::include_graphics('img/report.png')
```
<b>[Download the full report](https://indd.adobe.com/view/ee1d5fec-c66d-49ed-882f-2cf74fc7fd01){target="_blank"}</b>
```{r, fig.align='center', out.width='5%'}
knitr::include_graphics('img/spacer.png')
```
#### More information
<font size="3">Questions and comments about the dashboard can be sent to [Dr. Blake Simmons](mailto:bsimmons@tbep.org). The website source content can be viewed on [Github](https://github.com/tbep-tech/tbev-dash). Like this app? Share it on social media using the [\#TampaBayOpenSci](https://twitter.com/hashtag/TampaBayOpenSci?src=hashtag_click) hashtag.
Questions and comments about the study can be sent to the lead author of the report, [Alana Todd](mailto:alana@tbrpc.org). Any use or reference to the information displayed in the dashboard should cite the original report.
<i>This study was funded in part by the Tampa Bay Estuary Program's Environmental Restoration Fund.</i></font>
```{r, fig.align='left', out.width='80%'}
knitr::include_graphics('img/tbrpclogo.png')
```
```{r, fig.align='left', out.width='80%'}
knitr::include_graphics('img/tbeptberflogo.png')
```
</div>
<div class = "col-md-2"></div>
</div>
Economic Impacts of Industry Sectors {data-navmenu="Results"}
===========================================================
Column {.tabset .tabset-fade data-width=275}
-----------------------------------------------------------------------
### ABOUT
<font size="3">
The economic impact analysis performed for this report estimates the economic contributions of estuary-dependent industries to the regional economy.
To capture the full impact of a region’s economy, this study includes <span style="color:#00806E">direct</span> effects (employment and spending), <span style="color:#00806E">indirect</span> effects (supply-chain-related spending), <span style="color:#00806E">induced</span> effects (household spending), and the combined <span style="color:#00806E">total</span> effects for Tampa Bay's economy.
Monetary transactions (i.e., cash flows) between industries have been converted to three different measures of economic impact: (1) <span style="color:#00806E">output</span> represents the total annual production value of an industry; (2) <span style="color:#00806E">employment</span> captures the number of full-time, part-time, and seasonal jobs; (3) <span style="color:#00806E">personal income</span> represents all forms of employment income, including wages, benefits, and proprietor income.
Businesses are grouped into <span style="color:#00806E">industries</span> based on definitions from the U.S. Bureau of Economic Analysis. Bay-dependent industry <span style="color:#00806E">sectors</span> comprise industries of businesses directly contingent on natural resources from Tampa Bay and its watershed.
</font>
<font size="4"><b>Results Summary</b></font>
<font size="3">
Overall, bay-dependent industry sectors directly support <span style="color:#00806E">142,820</span> employees and almost <span style="color:#00806E">\$7.1 billion</span> in personal income annually. All bay-dependent sectors account for <span style="color:#00806E">\$20.8 billion</span> in direct output or <span style="color:#00806E">6.6%</span> of the Tampa Bay watershed’s annual economic output.
Combining direct, indirect, and induced impacts from Tampa Bay-dependent industries resulted in <span style="color:#00806E">207,068</span> employees, <span style="color:#00806E">\$10.4 billion</span> in personal income, and <span style="color:#00806E">\$32.1 billion</span> in total output. This means about one in ten total jobs are bay-related, and about <span style="color:#00806E">10.8%</span> of the watershed’s total output is bay-related.
</font>
### USING THIS PAGE
<font size="3">
This page provides breakdowns of economic impacts by sector and industry. Users can explore the economic impacts for each sector (or all sectors) using the tabs on the right.
When exploring <span style="color:#00806E">All Sectors</span> combined, select the desired measure of economic impact to display (output, employment, or income) and the type of contribution (total, direct, indirect, or induced) to see how each sector contributes to the total economic impact of Tampa Bay.
When exploring <span style="color:#00806E">Individual Sectors</span>, select the sector of interest, the measure of economic impact to display, and distinguish by type of contribution or the direct contributions of each industry.
The charts in each tab are interactive and automatically adapt to the dropdown selections. The charts display the percent of the sector's economic impacts attributed to each industry or type of contribution. Hovering over the chart will display the absolute impact (in dollars or jobs) of the corresponding industry or type of contribution.
<i>NOTE: Economic impacts of some sectors are entirely represented by a single industry. Although there are more industries comprising those sectors, they are not directly contingent on Tampa Bay's natural resources and thus are not shown in the legend.</i>
</font>
Column {.tabset .tabset-fade data-width=650}
-----------------------------------------------------------------------
#### Economic Impacts of Industry Sectors
### All Sectors
```{r}
mainPanel(
column(6,
selectInput('impact_selection', 'Select economic impact:', selected = "Output", choices = list("Output" = "Output", "Employment" = "Employment","Income" = "Personal.Income"))),
column(6,
selectInput('contribution_selection', 'Select contribution:', selected = "Total", choices = c("Total", "Direct","Indirect","Induced"))))
```
<br>
<br>
```{r}
output$allsectors_pie <- renderPlotly(allsectors_pie())
plotlyOutput("allsectors_pie")
```
### Individual Sectors
```{r}
column(12,
column(4,
selectInput('sector_selection', 'Select sector:', selected = "Marine Construction", choices = unique(EI_sector$Sector))),
column(4,
selectInput('impact_sector_selection', 'Select economic impact:', selected = "Output", choices = list("Output" = "Output", "Employment" = "Employment","Income" = "Personal.Income"))),
column(4,
selectInput('attribute_selection', 'Select attribute:', selected = "Direct Industry Breakdown", choices = c("Direct Industry Breakdown" = "Industry", "Type of Contribution" = "Contribution"))))
```
<br>
<br>
```{r}
output$sector_pie <- renderPlotly(sector_pie())
plotlyOutput("sector_pie")
```
Property Value Amenity Impacts {data-navmenu="Results"}
===========================================================
Column {.tabset .tabset-fade data-width=275}
-----------------------------------------------------------------------
### ABOUT
<font size="3">
Proximity to valued amenities, such as waterfront views, generates price premiums for adjacent properties, just as the value of a home rises with the number of bedrooms or total floor space. For this analysis, a hedonic pricing method was used to value amenities provided by Tampa Bay to nearby properties. It uses statistical methods to parse the relative contribution of an amenity to the total value of an asset by isolating the effect of different elements of a property’s market value.
This report examined property appraiser data for 61,287 single-family homes within the watershed boundaries (10,484 of which had been sold within the last two years) to estimate the added amenity value afforded by the bay to nearby properties (those within a quarter-mile of the shoreline).
Two measures of property values were considered: <span style="color:#00806E">sale price</span> and <span style="color:#00806E">justified value (appraiser estimate)</span>. In contrast to the sale price, the justified value is the value a property appraiser assigns to a parcel, which offers a more conservative lower bound for impacts on property values given its robustness to changing market conditions. Every parcel has a justified value, however only parcels sold within the last two years of data have an included sale price, meaning that the justified value regression model includes the entire universe of data while the sale price models include only a subset. Additionally, sale prices are not purely reflective of the underlying characteristics of a parcel and its amenities, because they are sensitive to short-term market trends and asset speculation by buyers.
</font>
<font size="4"><b>Results Summary</b></font>
<font size="3">
The model with the strongest explanatory power was a regression on the justified/appraiser value. This model found that for a comparable parcel, being within a quarter-mile of the water added about <span style="color:#00806E">\$52,769</span> to its justified value. Multiplying this added value by the number of single-family parcels within a quarter mile gives a total added value of <span style="color:#00806E">\$3.23 billion</span> to the regional economy.
</font>
### USING THIS PAGE
<font size="3">
This page summarizes the results of the two best models quantifying the added benefit of bay-proximity to the sale price and justified (appraised) value of homes in Tampa Bay.
The <span style="color:#00806E">Area of Benefit</span> tab provides a map showing the quarter-mile shoreline buffer used to distinguish properties close to the coast from those far from the coast. The total estimated value added by bay-proximity is representative of all homes within this shoreline boundary, relative to all homes outside of that boundary.
The <span style="color:#00806E">Property Benefits</span> tab provides a comparison of the results for properties' sale price and justified (appraised) value. It highlights differences in (1) the number of properties near the coast that are included in the model, (2) the added amenity value per property, and (3) the total value added to all single-family properties near the coast.
<i>NOTE: Although impacts to both sale price and justified value are featured in this dashboard, the authors recommend placing greater emphasis on the justified value results given the limitations inherent in the sale price model. See the full report for more detail. </i>
</font>
Column {.tabset .tabset-fade data-width=650}
-----------------------------------------------------------------------
#### Property Value Amenity Impacts
### Area of Benefit
```{r}
mapview(watershed, color = "black", lwd = 2, legend = FALSE, label = "Name", popup = FALSE) +
mapview(shoreline, col.regions = "#00806E", layer.name = "Shoreline (0.25 mile buffer)", label = FALSE, popup = FALSE)
```
### Property Benefits
<br>
```{r}
PropertyValues1 <- PV_values %>%
plot_ly(
width = 900,
height = 395,
x = ~IndicatorLabel,
y = ~Number.of.properties,
type = "bar",
marker = list(color = c("#00806E","#004F7E")),
textposition = "none",
hoverinfo = "text",
text = ~Properties) %>%
layout(
#title = "Properties Included in Model",
yaxis = list(title = "Number of properties close to coast"),
xaxis = list(title = ""),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
PropertyValues2 <- PV_values %>%
plot_ly(
width = 900,
height = 395,
x = ~IndicatorLabel,
y = ~Value.added.to.each.nearby.home,
type = "bar",
marker = list(color = c("#00806E","#004F7E")),
textposition = "none",
hoverinfo = "text",
text = ~Value) %>%
layout(
#title = "Benefit per Property",
yaxis = list(title = "Value added to each home ($)", tick0 = 0, dtick = 20000),
xaxis = list(title = ""),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
PropertyValues3 <- PV_values %>%
plot_ly(
width = 900,
height = 395,
x = ~IndicatorLabel,
y = ~Added.regional.value..billion.,
type = "bar",
marker = list(color = c("#00806E","#004F7E")),
textposition = "none",
hoverinfo = "text",
text = ~Benefit) %>%
layout(
#title = "Total Regional Benefit",
yaxis = list(title = "Value to all homes near coast ($ billion)"),
xaxis = list(title = ""),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
PropertyValues <- subplot(PropertyValues1, PropertyValues2, PropertyValues3, nrows = 1,
titleY = TRUE, titleX = FALSE, margin = 0.06) %>%
layout(showlegend = FALSE,
annotations = list(
list(x = 0.05, y = 1.09, text = "Properties Included", showarrow = F, xref='paper', yref='paper', font = list(size = 16)),
list(x = 0.5, y = 1.09, text = "Benefit per Property", showarrow = F, xref='paper', yref='paper', font = list(size = 16)),
list(x = 0.98, y = 1.09, text = "Total Regional Benefit", showarrow = F, xref='paper', yref='paper', font = list(size = 16))))
PropertyValues
```
Ecosystem Services {data-navmenu="Results"}
===========================================================
Column {.tabset .tabset-fade data-width=275}
-----------------------------------------------------------------------
### ABOUT
<font size="3">
This study quantifies values associated with <span style="color:#00806E">carbon sequestration</span>, <span style="color:#00806E">flood protection</span>, and <span style="color:#00806E">denitrification</span> services provided by relevant habitats around the Tampa Bay estuary. The results are simplified estimates designed to raise awareness of the benefits afforded by ecosystem services and a prelude to future analyses and planning using more complete information and site-specific data.
The services provided by ecosystems have not traditionally been incorporated into valuations, effectively assigning them an implicit value of zero. Revealed preference methods were used in this study to value three regulating services: flood protection, water purification via denitrification, and climate regulation via carbon sequestration.
</font>
<font size="4"><b>Results Summary</b></font>
<font size="3">
Each year, habitats in the Tampa Bay watershed sequester approx. <span style="color:#00806E">595,719 metric tons of CO2</span> valued at <span style="color:#00806E">\$52.29 million</span>. Additionally, there is approx. <span style="color:#00806E">60.73 million metric tons of CO2</span> currently stored in the vegetation and soil of these habitats from previous years. If these habitats were lost, their emissions would be equivalent to <span style="color:#00806E">\$53 billion</span> in costs imposed on society.
Each year, mangrove forests provide approx. <span style="color:#00806E">\$6.18 million</span>, salt marshes provide <span style="color:#00806E">\$0.6 million</span>, seagrass meadows provide <span style="color:#00806E">\$121 million</span>, and freshwater wetlands provide <span style="color:#00806E">\$579 million</span> in nitrogen removal services across the watershed. Together, these habitats remove more than <span style="color:#00806E">7.3 million kilograms of nitrogen</span> each year, providing approx. <span style="color:#00806E">\$715 million</span> worth of denitrification benefits that directly improve water quality.
There are <span style="color:#00806E">8,996 properties</span> in the watershed that are in a Special Flood Hazard Area and are adjacent to mangroves, salt marshes, oyster bars, and/or seagrasses, together worth over <span style="color:#00806E">\$7.19 billion</span>. The flood reduction benefits provided by these mangroves and wetlands total approx. <span style="color:#00806E">\$924 million</span> over a 30-year period for a flood that has a 1% chance of occurrence in a given year. Hillsborough County receives the greatest benefits from wetlands (<span style="color:#00806E">\$457 million</span>), followed by Pinellas County (<span style="color:#00806E">\$397 million</span>) and Manatee County (<span style="color:#00806E">\$70.59 million</span>).
</font>
### USING THIS PAGE
<font size="3">
This page summarizes the results of the different ecosystem service valuations for select habitats within the Tampa Bay watershed.
The <span style="color:#00806E">Summary</span> tab provides a map showing the habitats contributing to carbon sequestration and denitrification services. The map is interactive. Users can click on different habitats to view the total area of the habitat in the watershed and the total valuation of its sequestration and denitrification services per year. Some habitats only contribute to one of these ecosystem services.
In the <span style="color:#00806E">Carbon Sequestration</span> tab, select the desired scale (per acre or total for Tampa Bay) and type of carbon flow (sequestration or stock) from the dropdown lists to display graphs of the contributions of each habitat to carbon-related ecosystem services, including the quantity of carbon stored/sequestered and its associated valuation in dollars. Carbon sequestration reflects the annual amount of carbon removed from the atmosphere, whereas stock is the quantity of carbon held in a habitat system at any specified time.
Like the previous tab, select the desired scale in the <span style="color:#00806E">Denitrification</span> tab to compare the denitrification services between habitats in the watershed.
The <span style="color:#00806E">Flood Protection</span> tab provides a comparison of different habitats within different counties in the watershed. Graphs display (1) the number of properties protected from flooding, (2) the total value of all properties in a flood zone adjacent to the habitat, and (3) the total flood protection benefits to those properties by different habitats in different counties. The graphs are interactive. Users can hover over the data to view the precise results for a given habitat (<span style="color:#004F7E"><b>wetlands</b></span>, <span style="color:#9C974A"><b>mangroves</b></span>, or <span style="color:#000000"><b>both</b></span>).
<i>NOTE: The following habitats are combined to represent estuarine wetlands in the flood protection analysis: oyster bars, seagrasses, and saltwater marshes.</i>
</font>
Column {.tabset .tabset-fade data-width=650}
-----------------------------------------------------------------------
#### Ecosystem Services
### Summary
```{r}
output$habitat_map <- renderLeaflet(habitat_map())
fillCol(flex = c(NA, 1),
column(6,
selectInput('habitat_selection', 'Select habitat:', selected = "Salt Marshes", choices = unique(habitats$Habitat))),
leafletOutput('habitat_map')
)
```
<br>
<br>
```{r}
#map1 <- mapview(watershed, zcol = "Name", color = "black", lwd = 2, legend = FALSE, popup = FALSE)
#map1 + map2
#st_simplify
```
### Carbon Sequestration
```{r}
mainPanel(
column(6,
selectInput('flow_selection', 'Select flow:', selected = "Sequestration", choices = unique(ES_carbon$Flow))),
column(6,
selectInput('scale_c_selection', 'Select scale:', selected = "Per acre", choices = unique(ES_carbon$Scale))))
```
<br>
<br>
<br>
```{r}
output$carbon_bar <- renderPlotly(carbon_bar())
plotlyOutput("carbon_bar")
```
### Denitrification
```{r}
mainPanel(
column(6,
selectInput('scale_n_selection', 'Select scale:', selected = "Per acre", choices = unique(ES_denitrification$Scale))))
```
<br>
<br>
<br>
```{r}
output$nitrogen_bar <- renderPlotly(nitrogen_bar())
plotlyOutput("nitrogen_bar")
```
### Flood Protection
```{r, fig.align='center', out.width='35%'}
knitr::include_graphics('img/legend.png')
```
<br>
```{r}
Flood_Parcels <- ES_flood %>%
plot_ly(
width = 900,
height = 360,
x = ~County,
y = ~Number.of.Protected.Parcels,
type = "bar",
transforms = list(list(type = "groupby", groups = ~Habitat, styles = list(
list(target = "Wetlands", value = list(marker = list(color = "#004F7E"))),
list(target = "Mangroves", value = list(marker = list(color = "#9C974A"))),
list(target = "All habitats", value = list(marker = list(color = "#000000")))
))),
textposition = "none",
hoverinfo = "text",
text = paste(prettyNum(round(ES_flood$Number.of.Protected.Parcels, digits = 0), big.mark = ","),
"parcels protected")) %>%
layout(
yaxis = list(title = "Number of parcels"),
xaxis = list(title = "County"),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
Flood_Values <- ES_flood %>%
plot_ly(
width = 900,
height = 360,
x = ~County,
y = ~Property.Values.in.Flood.Zone,
type = "bar",
transforms = list(list(type = "groupby", groups = ~Habitat, styles = list(
list(target = "Wetlands", value = list(marker = list(color = "#004F7E"))),
list(target = "Mangroves", value = list(marker = list(color = "#9C974A"))),
list(target = "All habitats", value = list(marker = list(color = "#000000")))
))),
textposition = "none",
hoverinfo = "text",
text = paste(ES_flood$Values, "total property value")) %>%
layout(
#title = "Properties Included in Model",
yaxis = list(title = "Property values ($)"),
xaxis = list(title = "County"),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
Flood_Benefits <- ES_flood %>%
plot_ly(
width = 900,
height = 360,
x = ~County,
y = ~Total.Flood.Protection.Benefits,
type = "bar",
transforms = list(list(type = "groupby", groups = ~Habitat, styles = list(
list(target = "Wetlands", value = list(marker = list(color = "#004F7E"))),
list(target = "Mangroves", value = list(marker = list(color = "#9C974A"))),
list(target = "All habitats", value = list(marker = list(color = "#000000")))
))),
textposition = "none",
hoverinfo = "text",
text = paste(ES_flood$Benefits, "in benefits")) %>%
layout(
#title = "Properties Included in Model",
yaxis = list(title = "Total benefits ($)"),
xaxis = list(title = "County"),
hoverlabel = list(
font = list(family = "Arial", size = 16, color = "white")))
FloodProtection <- subplot(Flood_Parcels, Flood_Values, Flood_Benefits, nrows = 1,
titleY = TRUE, titleX = TRUE, margin = 0.06) %>%
layout(showlegend = FALSE,
annotations = list(
list(x = 0.04, y = 1.09, text = "Protected Properties", showarrow = F, xref='paper', yref='paper', font = list(size = 16)),
list(x = 0.5, y = 1.09, text = "Total Value of Protected Properties", showarrow = F, xref='paper', yref='paper', font = list(size = 16)),
list(x = 0.99, y = 1.09, text = "Flood Protection Benefit", showarrow = F, xref='paper', yref='paper', font = list(size = 16))))
FloodProtection
```
Economic Impacts of Industry Sectors {data-navmenu="Methods"}
===========================================================
Column {data-width=700}
-----------------------------------------------------------------------
<div class = "row">
<div class = "col-md-2"></div>
<div class = "col-md-10">
#### Economic Impacts of Industry Sectors
This study used an IMPLAN model of Florida, broken into county, ZIP code, and census tract resolution to explore the economic impacts of bay-dependent industry sectors. The output, employment, and wages for industries directly and indirectly dependent on resources and services afforded by Tampa Bay and its watershed was estimated based on the most current available 2019 data. All dollar figures are 2019 figures adjusted for 17.8 percent cumulative inflation from 2019 to 2022. Direct employment refers to eight bay-dependent sectors of the regional economy, which are:
1) Defense
1) Living resources
1) Marine construction
1) Marine transportation
1) Mineral extraction
1) Research
1) Ship and boat building
1) Tourism and recreation
Moreover, economic activity in each region is an interconnected web of interacting industries. Any direct shock to one industry will have impacts on many others, far exceeding the initial magnitude of a change in sales or employment. To capture the full impact of a region’s economy, this study includes indirect (supply-chain related spending) and induced (household spending) effects.
To measure direct, indirect, and induced economic impacts, the TBRPC used IMPLAN, an econometric modeling software which provides baseline economic indicators, and can produce economic impacts. IMPLAN is an input-output model which estimates flows of spending and purchases to track spending and purchases flows by industry sector and geography. These cash flows translate to economic impacts in the form of income, output, and employment. The TBRPC has access to models of the entire state of Florida, with resolution of data down to the ZIP code level. The IMPLAN software calculates the specific geographic/industry multipliers based on data from the Bureau of Economic Analysis.
The IMPLAN model has 545 different industry sectors on which the model can report. Reporting all would be unwieldy, and many of which are not present at all geographies. To make the impacts usable, this study considers the impacts of grouped, watershed-enclosed industries. Staff imported a geographic information system (GIS) shapefile of the Tampa Bay watershed from the Tampa Bay Estuary Program’s website into ArcGIS’s ESRI software. Using the watershed as an overlay, staff selected the ZIP codes which comprised the watershed, erring on the side of exclusion if there was only a small part of the ZIP code being overlapped.
Optimally, this study would employ data from a survey of actual spending behavior by locals and tourists in the Tampa Bay area, however this was not feasible given the scope of this project and replicability limitations. In lieu of this, the TBRPC utilized a simplified, yet still useful, approach to measure impacts. IMPLAN offers an input method called Industry Contribution Analysis, which isolates a specific industry, or group of industries, in a defined geographic area. This ‘footprint’ methodology is a common practice for impact analyses when more granular industry data are unavailable. The results report the current level of employment, output, supply chain purchases, and personal income which industries in the Tampa Bay watershed support (as described above). In summation this represents the total contribution of that industry to the regional economy. Output represents the total annual production value and captures all components of production value or output for a given industry, including intermediate inputs and value added. These are annual production estimates for the year of the data set, 2019, and are in producer prices.
This study handles the Tourism and Recreation sector slightly differently than the others. Given the massive importance of tourism to the Florida economy generally, and the Tampa Bay watershed’s economy specifically, this study seeks to neither exclude nor overcount this sector’s contribution. Museums, amusement parks, and other pure recreation or tourism facilities are included in the Industry Contribution Analysis as described above. Hotels, motels, and restaurants cannot reliably be considered dependent upon watershed tourism, however, because many of them are far from the bay and its tributaries. Additionally, they are often used by locals and/or for non-recreational reasons, for example, professional trips or short-term housing for hotels/motels, and local consumption for restaurants. To address this potential weakness, the study uses ESRI data for direct output (dollars per year) by hotels and motels, including casino hotels, and full-service restaurants as an input to the Industry Contribution Analysis. Only the reported output which took place in a census block group adjacent to the bay or its major tributaries is included in this study.
Also, note that the defense sector is based solely on reported federal military payroll and does not have multiple industries that comprise it like the other sectors. The Defense sector is IMPLAN industry 545 “Employment and payroll of federal govt., military” and its impact is identical to Defense Direct impact in above sections. The Research sector is IMPLAN industry 463, “Environmental and other technical consulting services” and its impact is identical to Research Direct impact in the above sections.
<br>
</div>
<div class = "col-md-2"></div>
</div>
Column {data-width=325}
-----------------------------------------------------------------------
<div class = "row">
<div class = "col-md-2"></div>
<div class = "col-md-9">
<br>
```{r, fig.align='left', out.width='80%'}
knitr::include_graphics('img/report.png')
```
<b>[Download the full report](https://indd.adobe.com/view/ee1d5fec-c66d-49ed-882f-2cf74fc7fd01){target="_blank"}</b>
</div>
<div class = "col-md-2"></div>
</div>
Property Value Amenity Impacts {data-navmenu="Methods"}
===========================================================
Column {data-width=700}
-----------------------------------------------------------------------
<div class = "row">
<div class = "col-md-2"></div>
<div class = "col-md-10">
#### Property Value Amenity Impacts
Proximity to valued resources—to amenities, such as parks and waterfront views—generates price premiums for adjacent properties, just as the value of a home rises with the number of bedrooms or total floor space. Unlike commercial applications of natural resources, however, the premium of proximity to amenities can only change hands, its value is inherent in its location. Unbundling the amenity value added to a property from its physical characteristics is generally accomplished through two kinds of valuation methods: stated preference (surveys) and revealed preference methods. Since survey research was outside of the scope of this analysis, the revealed preference method of hedonic pricing was used to value amenities provided by Tampa Bay to nearby properties. Hedonic pricing approaches use statistical methods to parse the relative contribution of an amenity to the total value of an asset by isolating the effect of different elements of a property’s market value.
This report examined property appraiser data for 61,287 single-family homes within the watershed boundaries, of which 10,484 had been sold within the last two years. Through an iterative process, the project team determined which of more than one hundred different elements of a property had a statistically significant effect on its value. These include obvious attributes that add value, such as land, square footage, the presence of special features, and the age of the structure, all of which were included and thus ‘controlled for’ in the analysis.
Ultimately, four regression models were created using two different regression methods to explore the added amenity value afforded by Tampa Bay to nearby properties. The analysis employed a quarter-mile buffer around the bay and its four major tributaries— Hillsborough River, Alafia River, Little Manatee River, and Manatee River— as a dividing line between property groups. All properties were either ‘close to the coast’ (within a quarter-mile) or ‘far from the coast’ (beyond a quarter-mile), and this element was added as a variable to each property. A more detailed accounting of these methods, and all four of these models, can be found in the report’s appendix (see Hedonic Analysis of Property Values).
<br>
<b>Table 22. Summary of property value regression models.</b>
```{r, fig.align='left', out.width='70%'}
knitr::include_graphics('img/regressions.png')
```
<br>
</div>
<div class = "col-md-2"></div>
</div>
Column {data-width=325}
-----------------------------------------------------------------------
<div class = "row">
<div class = "col-md-2"></div>
<div class = "col-md-9">
<br>
```{r, fig.align='left', out.width='80%'}
knitr::include_graphics('img/report.png')
```
<b>[Download the full report](https://indd.adobe.com/view/ee1d5fec-c66d-49ed-882f-2cf74fc7fd01){target="_blank"}</b>
</div>
<div class = "col-md-2"></div>
</div>
Ecosystem Services {data-navmenu="Methods"}
===========================================================
Column {data-width=700}
-----------------------------------------------------------------------
<div class = "row">
<div class = "col-md-2"></div>
<div class = "col-md-10">
#### Ecosystem Services
The Tampa Bay estuary is comprised of diverse saltwater and freshwater ecosystems, such as seagrasses, oyster bars, mangrove forests, salt marshes, pine flatwoods, freshwater wetlands, and shrub and brushland habitat. When healthy, these ecosystems produce numerous direct and indirect benefits to humans, which are collectively referred to as ecosystem services. This study quantifies values associated with carbon sequestration, flood protection, and denitrification services provided by relevant habitats around the Tampa Bay estuary. The results are simplified estimates designed to raise awareness of the benefits afforded by ecosystem services and a prelude to future analyses and planning using more complete information and site-specific data.
The services provided by ecosystems have not traditionally been incorporated into valuations, effectively assigning them an implicit value of zero. One way to make these goods and services more visible is by demonstrating society’s willingness to pay for the benefits they provide. Some services, like the supply of fish and lumber, produce value through their direct use and can be found in traditional markets, whereas other ecosystem services, like flood protection and pollination, are indirectly enjoyed by humans, and therefore not captured in existing markets. Those services that are directly extracted and consumed can be valued with their market price, but services that provide indirect benefits are more difficult to assign a monetary value, so they require proxy values. As a result, different methods are needed for a more comprehensive valuation of estuary resources.
Revealed preference methods were used in this study to value three regulating services: flood protection, water purification via denitrification, and climate regulation via carbon sequestration. The avoided damage costs method is used to find the value of flood protection services provided by estuary habitats through their ability to buffer storm surge and reduce severe flooding, which equates the value of these services to the costs of damages that would occur if the services were unavailable. In some cases, services can be valued based on estimated or observed market prices for mitigating damages and replacement services, including emissions trading and nutrient offset schemes. This method is used for the valuation of carbon sequestration and denitrification services provided by estuary habitats.
It is important to keep in mind that the results of this section should not be interpreted as the total value of natural resources in the Tampa Bay watershed since only a subset of ecosystem services were valued. Other benefits that were not included, but that should be explored in future research include: non-market value of recreational fishing trips, provision of habitat, air quality maintenance, and water and nutrient cycling.
<br>
#### 1. Carbon Sequestration
This study estimated the current amount and economic value of carbon sequestration services provided by mangrove forests, salt marshes, pine flatwoods, seagrasses, freshwater wetlands, and shrub and brushland habitats in the Tampa Bay watershed. Carbon services were assessed using habitat extent, as well as annual carbon sequestration rates from peer-reviewed literature, namely the Tampa Bay Blue Carbon Assessment. The monetary values of carbon sequestration were determined using 2020 estimates of the federal Interagency Working Group on Social Cost of Greenhouse Gases, which were adjusted for inflation. A more detailed accounting of these methods can be found in the report’s appendix (see Carbon Sequestration).
<br>
<b>Table 26. Conversions of carbon sequestration and stock rates.</b>
```{r, fig.align='left', out.width='80%'}
knitr::include_graphics('img/cconversions.png')
```
<br>
#### 2. Denitrification
This analysis quantified an approximate value of denitrification services provided by mangrove forests, salt marshes, oyster bars, seagrasses, and freshwater wetlands in the Tampa Bay watershed. Estimating the market price of the current denitrification services and water quality regulation provided by bay habitats helps demonstrate their significance to the region and what is at stake, or could be gained, by actions or inactions that address nutrient loading. Nutrient mitigation programs offer a useful proxy for the replacement cost of substitute services that provide the same nutrient removal benefits.
To assess the value-added from denitrification services, this study used the market rate for nutrient offset credits from the North Carolina Nutrient Offset Credit Program. North Carolina’s voluntary offset program is used by private and public sector entities to address their nutrient loading requirements. The offset rates reflect the costs associated with designing and implementing substitute wetland restoration projects to mitigate equivalent nutrient inputs entering the watershed. The 2019 average offset rate was combined with estimates of areal extent and denitrification rates for each habitat in the watershed to estimate yearly values. A more detailed description of the methods is provided in the appendix (see Denitrification)
<br>
<b>Table 32. Denitrification rates of select habitats in Tampa Bay.</b>
```{r, fig.align='left', out.width='70%'}
knitr::include_graphics('img/nrates.png')
```
<br>