## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  eval = FALSE
)

## ----setup--------------------------------------------------------------------
# library(Tivy)

## -----------------------------------------------------------------------------
# # Process hauls data
# hauls <- process_hauls(
#   data_hauls = raw_hauls,
#   correct_coordinates = TRUE,
#   verbose = TRUE
# )
# 
# # Process trips data
# trips <- process_fishing_trips(
#   data_fishing_trips = raw_trips,
#   verbose = TRUE
# )
# 
# # Process length data
# lengths <- process_length(
#   data_length = raw_lengths,
#   verbose = TRUE
# )

## -----------------------------------------------------------------------------
# # Check data quality
# haul_quality <- validate_haul_data(hauls)
# trip_quality <- validate_fishing_trip_data(trips)
# length_quality <- validate_length_data(lengths)
# 
# # Print quality scores
# print(paste("Hauls quality:", haul_quality$quality_score, "%"))
# print(paste("Trips quality:", trip_quality$quality_score, "%"))
# print(paste("Lengths quality:", length_quality$quality_score, "%"))

## -----------------------------------------------------------------------------
# # Merge length and trip data first
# length_trips <- merge(
#   x = lengths,
#   y = trips,
#   by = "fishing_trip_code",
#   all = TRUE
# )
# 
# # Then merge with hauls data
# complete_data <- merge_length_fishing_trips_hauls(
#   data_hauls = hauls,
#   data_length_fishing_trips = length_trips
# )

## -----------------------------------------------------------------------------
# # Add juvenile analysis and distance variables
# enhanced_data <- add_variables(
#   data = complete_data,
#   JuvLim = 12,
#   distance_type = "haversine",
#   unit = "nm"
# )

## -----------------------------------------------------------------------------
# # Example coordinates in different formats
# coords <- c(
#   "15°30'25\"S",     # Complete DMS
#   "75°45'W",         # DM format
#   "16 15 30 S"       # Space-separated
# )
# 
# # Convert to decimal degrees
# decimal <- dms_to_decimal(
#   coordinates = coords,
#   hemisphere = "S",
#   correct_errors = TRUE
# )

## -----------------------------------------------------------------------------
# # Handle missing columns gracefully
# tryCatch({
#   processed <- process_hauls(incomplete_data)
# }, error = function(e) {
#   message("Processing failed: ", e$message)
# })

## -----------------------------------------------------------------------------
# # Find columns by pattern
# species_col <- find_column(
#   patterns = c("especie", "species", "sp"),
#   column_names = names(your_data)
# )
# 
# # Find numeric length columns
# length_cols <- find_columns_by_pattern(
#   data = your_data,
#   pattern = "^[0-9]+(\\.[0-9]+)?$"
# )

