
Calculate uncorrected observed flights / minute of survey from point transects.
Source:R/encounter_rate.R
encounter_rate.RdThis function converts observed flights (movements) and survey duration into the "encounter rate" per minute of survey. This value is uncorrected for the observer's effective detection radius.
Arguments
- df_obs_summary
data.frame; a data.frame with one row per survey containing at least columns
sizeandsurvey_durationwheresizeis the total number of individuals observed below the maximum height of the turbine in each survey andsurvey_durationis the duration of each survey. It can also optionally include a columnsurvey_weightif needed to account for stratification etc. The sum of the survey weights must equal the total number of surveys (to avoid artificially inflating or deflating the survey effort). When NULL (the default) will weight surveys equally.- wilson_correction
boolean; Apply Wilson correction (Wilson 1927) if there are no observations. Defaults to TRUE.
Value
numeric; number of flights observed in one unit time of survey. If the Wilson correction was used it will return the (approximate) mid-point of the 95% confidence interval (see https://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval#Wilson_score_interval).
Details
Note: We recommend to desktop truncating the observation data to the maximum height of the turbine in most cases, as this is the simplest way to avoid artificially inflating or deflating the flux through the turbine. However, it is up to the analyst discretion and they may choose another method to account for the effective detection height.
References
Wilson EB (1927). “Probable Inference, the Law of Succession, and Statistical Inference.” Journal of the American Statistical Association, 22(158), 209–212. doi:10.1080/01621459.1927.10502953 . https://www.jstor.org/stable/2276774.
See also
turbine_flights() and flights_per_year() for methods to expand the
observer flux into flights through the turbine plane
Examples
## A simple example of calculating flux from a point count and
## using this to generate the number of flights through a turbine
## in a year
##
## # Step by step
##
# four surveys
# Note the observation data should include observations within max rotor swept height
df_obs <- data.frame(
size = c(0, 2 , 3, 0), #individuals observed per survey (below max rotor swept height)
survey_duration = c(20, 20, 18, 20), # minutes
# Optional survey weights to deal with stratification etc
survey_weight = c(1,1,1,1)
)
rotor_diameter <- 300
hub_height <- 200
edr <- 800 # derive from distance model
max_rsh <- hub_height + rotor_diameter/2
# flights observed per minute of survey
flights_per_min <- encounter_rate(
df_obs_summary = df_obs,
wilson_correction = TRUE # Default
)
# observed flights through vertical plane of one metre squared in one minute
flights_per_m2_per_min <- obs_flux(
encounter_rate = flights_per_min,
eff_detection_width = 2*edr,
eff_detection_height = max_rsh
)
# scale to turbine width and height
flights_turbine_min <- turbine_flights(
obs_flux = flights_per_m2_per_min,
rotor_diameter = rotor_diameter,
hub_height = hub_height
)
# scale to annual flights through area of rotor_diameter x turbine height
flights_turbine_year <- flights_per_year(
flights_per_time = flights_turbine_min,
time_units = "min", # Default
prop_day = 0.5, #diurnal species
prop_year = 1 # present all year
)
## Alternate calc using a wrapper function
## to go from observations to turbine flights per year
##
flights_turbine_year2 <- turbine_flights_year(
survey_type = "point", # only supported option currently
encounter_rate = flights_per_min,
time_units = "min",
eff_detection_width = 2*edr,
eff_detection_height = max_rsh,
rotor_diameter = rotor_diameter,
hub_height = hub_height,
prop_day = 0.5, #diurnal species
prop_year = 1 # present all year
)
#They are the same
flights_turbine_year
#> [1] 3160.817
flights_turbine_year2
#> [1] 3160.817