Skip to contents
fao_settings(lang = "zh")   # 本文所有图表使用中文
📦 数据来源:FAO全球捕捞产量(Global Capture Production)2026.1.0版(FAO于2026-03-30发布,1950–2024年),下载地址Capture_2026.1.0.zip,许可证CC BY 4.0。用fao_data_info()查看你使用的版本和引用格式。

fao_areas()和fishing_area_map()展示FAO主要渔区及其分区,其余三个渔区函数用于描述单个渔区。示例使用东北大西洋(27区),最后一节将同样的分析应用于西北大西洋(21区)。

🗺️ FAO主要渔区

用于统计的FAO主要渔区由渔业统计协调工作组(CWP)划定,包括19个海洋渔区和各大洲的内陆水域。fao_areas()列出各渔区数据最后一年的产量和FAO官方地图的链接,并保存一张标有渔区代码的海洋渔区世界地图:

areas <- fao_areas()
fao_major_areas.png
show_table(areas[order(-areas$catch_last_year), c("area_code", "name", "type", "ocean", "catch_last_year", "share_pct")],
           n = 30, digits = 1)
area_code name type ocean catch_last_year share_pct
21 61 西北太平洋 marine 太平洋 19067991.408 20.5
23 71 西部中太平洋 marine 太平洋 14105189.055 15.1
26 87 东南太平洋 marine 太平洋 9453525.210 10.1
11 27 东北大西洋 marine 大西洋 7842194.162 8.4
4 04 亚洲-内陆水域 inland NA 7785533.070 8.4
19 57 东印度洋 marine 印度洋 6401679.921 6.9
18 51 西印度洋 marine 印度洋 6223934.387 6.7
13 34 中东大西洋 marine 大西洋 5099475.194 5.5
1 01 非洲内陆水域 inland NA 3656926.956 3.9
22 67 东北太平洋 marine 太平洋 2551440.501 2.7
24 77 中东太平洋 marine 太平洋 2349505.260 2.5
15 41 西南大西洋 marine 大西洋 1970436.942 2.1
16 47 东南大西洋 marine 大西洋 1475796.444 1.6
10 21 西北大西洋 marine 大西洋 1407262.000 1.5
12 31 西部中大西洋 marine 大西洋 1077647.351 1.2
14 37 地中海和黑海 marine 大西洋 1026111.034 1.1
17 48 南极大西洋 marine 南极海 466706.916 0.5
5 05 欧洲-内陆水域 inland NA 386122.976 0.4
25 81 西南太平洋 marine 太平洋 381352.879 0.4
3 03 南美洲-内陆水域 inland NA 337398.156 0.4
2 02 北美洲-内陆水域 inland NA 117613.045 0.1
6 06 大洋州-内陆水域 inland NA 20521.568 0.0
9 18 北冰洋 marine 大西洋 16604.000 0.0
20 58 南极印度洋 marine 南极海 10861.059 0.0
27 88 南极太平洋 marine 南极海 2665.606 0.0
7 07 前苏联地区-内陆水域 inland NA NA NA
8 08 南极洲-内陆水域 inland NA NA NA

在其他函数中使用表中的英文名称(如"Atlantic, Northwest")或代码。FAO官方地图(fao_map列)来自FAO渔区地图页面,本包只提供链接。

🧭 fishing_area_map():渔区及其分区

较大的渔区又分为亚区(subarea)、区(division)和分区(subdivision);东北大西洋的分区就是ICES统计区,从27.1(巴伦支海)到27.14(格陵兰东部)。fishing_area_map()根据本包自带的边界(FAO 2024)绘制一个海洋渔区及其分区,并标出代码。安装了ggOceanMaps包(Vihtakari 2026)时,地图画在它的海底地形底图上,水深取自ggOceanMaps自带的ETOPO 2022地形模型(NOAA NCEI 2022);延伸到纬度60°以外的渔区(如27区)采用极地立体投影。未安装ggOceanMaps时,以渔区为中心的兰伯特方位等积投影绘制Natural Earth的陆地。

ne_atlantic <- fishing_area_map(27)
Atlantic__Northeast_subarea_map.png
show_table(ne_atlantic$units, n = 20)
code level name_en
27.1 subarea Barents Sea (Subarea 27.1)
27.2 subarea Norwegian Sea, Spitzbergen, and Bear Island (Subarea 27.2)
27.3 subarea Skagerrak, Kattegat, Sound, Belt Sea, and Baltic Sea (Subarea 27.3)
27.4 subarea North Sea (Subarea 27.4)
27.5 subarea Iceland and Faroes Grounds (Subarea 27.5)
27.6 subarea Rockall, Northwest Coast of Scotland and North Ireland (Subarea 27.6)
27.7 subarea Irish Sea, West of Ireland, Porcupine Bank, Eastern and Western English Channel, etc (Subarea 27.7)
27.8 subarea Bay of Biscay (Subarea 27.8)
27.9 subarea Portuguese Waters (Subarea 27.9)
27.10 subarea Azores Grounds and Northeast Atlantic South (Subarea 27.10)
27.12 subarea North of Azores (Subarea 27.12)
27.14 subarea East Greenland (Subarea 27.14)
ne_atlantic$fao_map      # 该渔区的FAO官方地图
#> [1] "https://www.fao.org/fishery/docs/maps/fig_h2_27_0.gif"

地图的来源保存在ne_atlantic$sources中,使用地图时一并引用:

show_table(ne_atlantic$sources)
layer reference url
boundaries FAO (2024). FAO Major Fishing Areas for Statistical Purposes. Licence: CC-BY 4.0. https://www.fao.org/fishery/geonetwork?uuid=ac02a460-da52-11dc-9d70-0017f293bd28
base map Vihtakari, M. (2026). ggOceanMaps: Plot Data on Oceanographic Maps using ‘ggplot2’. R package version 3.0.0. doi:10.32614/CRAN.package.ggOceanMaps https://github.com/MikkoVihtakari/ggOceanMaps
land Natural Earth. 1:10m Land and Minor Islands (public domain), as bundled with ggOceanMaps. https://www.naturalearthdata.com/downloads/10m-physical-vectors/
depth NOAA National Centers for Environmental Information (2022). ETOPO 2022 15 Arc-Second Global Relief Model. doi:10.25921/fd45-gt74 https://doi.org/10.25921/fd45-gt74

各区(division),这里不显示水深:

fishing_area_map(27, level = "division", bathymetry = FALSE)
Atlantic__Northeast_division_map.png

fishing_area_map()的全部参数:

参数 含义 默认值
area FAO主要海洋渔区:代码(如27)或英文名称
level 渔区内绘制的单元:"subarea"(亚区)、"division"(区)、"subdivision"(分区)或"none"(只画边界) "subarea"
bathymetry 显示水深(仅限ggOceanMaps) TRUE
labels 标出各单元的代码 TRUE
engine "auto"(已安装ggOceanMaps时用它,否则用"sf")、"ggOceanMaps"或"sf" "auto"
plot 把地图保存在figures/png/area/ TRUE
table 把单元表保存在tables/ TRUE
lang 地图文字的语言:"en"、"zh"或"both" NULL:fao_settings()的语言
pptx 同时把地图保存为可编辑的PowerPoint文件 FALSE,或fao_settings()的pptx
plot_show 保存图表的同时把图画在绘图窗口中(例如RStudio的Plots窗格) FALSE,或fao_settings()中的plot_show

1️⃣ fishing_area_data():渔区产量

FAO27 <- fishing_area_data("Atlantic, Northeast")
fishing_trend.png
fishing_percentage.png
area_country_map.png

该函数在figures/png/中保存三张图:

文件 图表
fishing_trend.png 渔区总产量。设置timeseries_analysis = TRUE时,灰色水平线表示相邻突变点之间各时段的平均产量,虚线标出每个时段的起始年份(见突变点的识别方法)
fishing_percentage.png 该渔区每年产量占全球所有海洋渔区捕捞产量的比例(内陆渔区则为占全球所有内陆水域捕捞产量的比例),红线为各年比例的平均值
area_country_map.png 各国历年在该渔区的累计总产量,绘制在世界地图上

并返回一个列表:

元素 内容
area_data 该渔区的产量记录(数据的全部八列),作为其他函数的输入
coefs_data 总产量相邻突变点之间的各个时段:start_year(起始年)、end_year(结束年)和intercept(该时段的平均产量,吨)
act_world_map 地图数据,即带有各国总产量的sf对象(plot = FALSE时为NULL)
FAO27$coefs_data
#> # A tibble: 3 × 3
#>   start_year end_year intercept
#>        <int>    <int>     <dbl>
#> 1       1950     1964  7251706.
#> 2       1965     2005 10855609.
#> 3       2006     2024  8806378.

选项

fishing_area_data(
  "Atlantic, Northeast",
  timeseries_analysis = FALSE,          # 不做突变点分析
  area_color1 = "#9ecae1",              # 产量面积图的填充色
  area_color2 = "#08519c",              # 面积图的轮廓线颜色
  hline_color = "#e6550d",              # 比例图中平均线的颜色
  fill_scale = "blue",                  # 地图色板
  lang = "zh"                           # 图表文字使用中文
)
fishing_trend.png
fishing_percentage.png
area_country_map.png

fishing_area_data()的全部参数:

参数 含义 默认值
area_name FAO主要渔区,名称与数据中一致(见上表)
plot 保存三张图;FALSE时只返回数据 TRUE
timeseries_analysis 在总产量图中标出突变点和各时段的平均产量(无论取值如何都会返回coefs_data) TRUE
area_color1 总产量面积图的填充色 "grey80"
area_alpha 填充色的透明度(0为完全透明,1为不透明) 0.7
area_color2 总产量面积图的轮廓线颜色 "black"
line_color 比例图折线的颜色 "black"
line_alpha 折线的透明度 0.8
line_linewidth 折线的宽度 1.5
point_size 比例图中点的大小 2
hline_color 比例图中平均线的颜色 "red"
hline_alpha 平均线的透明度 0.7
hline_linewidth 平均线的宽度 1.5
axis_text_size 比例图坐标轴刻度标签的字号,以及总产量图坐标轴标题的字号 10
axis_text_face 总产量图坐标轴标题的字形:"plain"、"bold"、"italic"或"bold.italic" "plain"
axis_title_size 比例图坐标轴标题的字号 12
axis_title_face 比例图和地图坐标轴标题的字形 "bold"
strip_text_size、strip_text_face 分面标题的字号和字形;本函数的图表没有分面,因此没有可见效果 12、"bold"
polygon_color 地图上国界线的颜色 "grey90"
fill_scale 地图色板,可用fao_settings()中map_palette的任一取值(如"blue"、"YlOrRd"、"viridis"或一组颜色) NULL:fao_settings()中的map_palette("deep-orange")
axis_title_size_map 地图坐标轴标题的字号 14
axis_text_size_map 地图坐标轴标签(经纬度)的字号 12
legend_text_size_map 地图图例文字的字号 12
ZH 指定中文的旧方式:TRUE等同于lang = "zh" FALSE
lang 图表文字的语言:"en"、"zh"或"both" NULL:ZH = TRUE时为"zh",否则使用fao_settings()中的语言
data_version FAO数据版本:"latest"(可用的最新版本)、"bundled"或具体版本号(如"2026.1.0",见💾 FAO数据) "latest"
pptx 同时在figures/pptx/中保存可编辑的PowerPoint文件 FALSE,或fao_settings()中的pptx
plot_show 保存图表的同时把图画在绘图窗口中(例如RStudio的Plots窗格) FALSE,或fao_settings()中的plot_show

2️⃣ fishing_area_species():主要物种

species <- fishing_area_species(FAO27$area_data, rank_range = 1:10)
area_species.png
area_species_wrap.png
文件 图表
area/area_species.png 所选物种的产量随时间的变化
area/area_species_wrap.png 每个物种一个分面,显示该物种历年占渔区产量的比例、线性趋势(虚线)以及其平均产量的突变点;设置timeseries_analysis = FALSE时,用平滑曲线代替趋势线和突变点

函数返回一个列表:

元素 内容
area_species 每个物种条目逐年的产量
area_species_ranked 所选物种逐年的产量,以及它们的总产量和占比
area_species_ranked_total 所选物种:历年总产量(Total_Tonnes)和占渔区产量的比例(Percentage)
coefs_data 每个物种的突变点:start_year、end_year和intercept(该时段的平均产量,吨)
show_table(species$area_species_ranked_total)
ASFIS.species..Name. Total_Tonnes Percentage Rank_Tonnes
大西洋鲱 133,779,008 18.55 133,779,008
大西洋鳕 100,515,875 13.94 100,515,875
毛鳞鱼 72,254,558 10.02 72,254,558
小鳍鳕 51,097,741 7.09 51,097,741
大西洋鲭 44,615,940 6.19 44,615,940
Sandeels(=Sandlances) nei 33,532,765 4.65 33,532,765
黍鲱 28,491,530 3.95 28,491,530
青鳕 Saithe(=Pollock) 27,734,472 3.85 27,734,472
黑线鳕 25,693,597 3.56 25,693,597
挪威长臀鳕 15,252,882 2.11 15,252,882

同时在tables/中保存两张表:species_ranked_table.csv(每十年的平均产量、最近五年每年的产量、最后一年的产量和占比)和species_coefs_data.csv(突变点)。

show_table(read.csv("tables/species_ranked_table.csv", fileEncoding = "UTF-8-BOM", check.names = FALSE), n = 5, digits = 0)
ASFIS.species..Name. 1950s 1960s 1970s 1980s 1990s 2000s 2010s 2020s 2020 2021 2022 2023 2024 total_2024_production percentage_of_total_2024
Sandeels(=Sandlances) nei 45,280 151,880 497,616 809,684 965,995 474,295 297,574 221,907 448,525 232,904 167,330 164,145 96,631 96,631 1
大西洋鲭 100,330 414,570 603,160 580,576 654,196 574,634 1,022,817 1,022,622 1,018,792 1,076,697 1,043,653 1,069,949 904,017 904,017 12
大西洋鲱 2,478,450 2,737,960 1,078,316 1,080,178 1,732,866 1,945,565 1,592,207 1,464,718 1,514,865 1,554,649 1,568,174 1,435,049 1,250,851 1,250,851 16
大西洋鳕 1,675,240 1,610,620 1,772,437 1,424,846 1,104,442 814,172 1,162,071 975,521 1,051,293 1,116,132 1,039,707 908,068 762,408 762,408 10
小鳍鳕 12,680 17,740 223,187 712,974 675,005 1,725,821 1,019,466 1,445,802 1,472,561 1,145,203 1,041,463 1,737,135 1,832,649 1,832,649 23

选项

  • rank_range列出要显示的名次:11:20显示排在其后的十个物种,c(5, 6)显示第五和第六名。
  • timeseries_analysis = FALSE用平滑曲线代替突变点(平滑方法由smooth_method指定,默认为"loess")。
  • h_value是相邻突变点之间时段的最短长度,可以是占整个序列的比例(默认0.15),也可以是年数(如5)。取值越大,突变点越少;序列过短的物种会被跳过,并给出提示信息。
fishing_area_species(FAO27$area_data, rank_range = 11:20, h_value = 5, lang = "both")
area_species.png
area_species_wrap.png

fishing_area_species()的全部参数。表中的“时间序列图”指area_species.png,“分面图”指area_species_wrap.png;带突变点的分面图使用固定的线宽、字号和两列布局,只有text_*参数能改变它。

参数 含义 默认值
area_data 渔区产量数据:fishing_area_data()$area_data或load_fao_data()的任意子集
rank_range 显示的物种名次(按历年总产量排序):1:10为前十名,11:20为其后十名,c(5, 6)为第五和第六名 1:10
plot 保存图表 TRUE
table 在tables/中保存两张表 TRUE
timeseries_analysis TRUE:分面图显示线性趋势和突变点;FALSE:分面图显示平滑曲线 TRUE
h_value 相邻突变点之间时段的最短长度:占序列的比例或年数(即strucchange::breakpoints()的h) 0.15
line_width 时间序列图的线宽 1.5
line_alpha 时间序列图和不带突变点的分面图中折线的透明度 0.7
line_linewidth 不带突变点的分面图的线宽 1.5
point_size 时间序列图和不带突变点的分面图中点的大小 1.8
point_alpha 这些点的透明度 0.7
point_shape 这些点的形状(R的点符号,如1为空心圆,16为实心圆) 1
axis_text_size、axis_text_face 坐标轴刻度标签的字号和字形(时间序列图;不带突变点的分面图的y轴) 10、"plain"
axis_title_size、axis_title_face 坐标轴标题的字号和字形(时间序列图;不带突变点的分面图) 10、"bold"
strip_text_size、strip_text_face 不带突变点的分面图中分面标题的字号和字形 10、"bold"
smooth_method 不带突变点的分面图中平滑曲线的方法,同ggplot2::geom_smooth():"loess"、"lm"、"gam"等 "loess"
smooth_linetype 平滑曲线的线型:"dashed"、"solid"、"dotted"等 "dashed"
text_hjust、text_vjust 各分面中占比标签的水平和垂直对齐(标签锚定在1957年、产量为0处) 0.9、-4
text_size、text_color 占比标签的字号和颜色 4.5、"black"
facet_ncol 不带突变点的分面图的列数 2
ZH 指定中文的旧方式:TRUE等同于lang = "zh" FALSE
lang 图表文字和名称的语言:"en"、"zh"或"both" NULL:ZH = TRUE时为"zh",否则使用fao_settings()中的语言
pptx 同时在figures/pptx/中保存可编辑的PowerPoint文件 FALSE,或fao_settings()中的pptx
plot_show 保存图表的同时把图画在绘图窗口中(例如RStudio的Plots窗格) FALSE,或fao_settings()中的plot_show

3️⃣ fishing_area_country():主要国家

countries <- fishing_area_country(FAO27$area_data, rank_range = 1:10)
area_country.png
area_country_wrap.png

它的用法与fishing_area_species()相同,只是按国家统计:

输出 内容
area/area_country.png 所选国家的产量随时间的变化
area/area_country_wrap.png 每个国家一个分面,显示其占渔区产量的比例、线性趋势和突变点(或平滑曲线)
tables/country_ranked_table.csv 每十年的平均产量、最近五年每年的产量、最后一年的产量和占比
tables/country_coefs_data.csv 突变点
返回的列表 area_country(每个国家逐年的产量)、area_country_ranked、area_country_ranked_total和coefs_data
show_table(countries$area_country_ranked_total)
Country..Name. Total_Tonnes Percentage Rank_Tonnes
挪威 175,537,274 24.34 175,537,274
冰岛 90,654,303 12.57 90,654,303
丹麦 85,470,967 11.85 85,470,967
大不列颠及北爱尔兰联合王国 65,908,778 9.14 65,908,778
苏联 53,248,275 7.38 53,248,275
法国 35,289,487 4.89 35,289,487
西班牙 31,240,735 4.33 31,240,735
俄罗斯联邦 30,914,334 4.29 30,914,334
德国 27,722,268 3.84 27,722,268
法罗群岛 23,481,732 3.26 23,481,732

fishing_area_country()的全部参数。与物种分析一样,带突变点的分面图使用固定的线宽、字号和两列布局。

参数 含义 默认值
area_data 渔区产量数据:fishing_area_data()$area_data或load_fao_data()的任意子集
rank_range 显示的国家名次(按历年总产量排序):1:10为前十名,c(5, 6)为第五和第六名 1:10
plot 保存图表 TRUE
table 在tables/中保存两张表 TRUE
timeseries_analysis TRUE:分面图显示线性趋势和突变点;FALSE:分面图显示平滑曲线 TRUE
h_value 相邻突变点之间时段的最短长度:占序列的比例或年数 0.15
line_width 时间序列图(area_country.png)的线宽 1.5
line_alpha 时间序列图和不带突变点的分面图中折线的透明度 0.7
line_linewidth 不带突变点的分面图的线宽 1.5
point_size 时间序列图和不带突变点的分面图中点的大小 1.8
point_alpha 这些点的透明度 0.7
point_shape 这些点的形状(R的点符号) 1
axis_text_size、axis_text_face 坐标轴刻度标签的字号和字形(时间序列图;不带突变点的分面图的y轴) 10、"plain"
axis_title_size、axis_title_face 坐标轴标题的字号和字形(时间序列图;不带突变点的分面图) 10、"bold"
strip_text_size、strip_text_face 不带突变点的分面图中分面标题的字号和字形 10、"bold"
smooth_method 不带突变点的分面图中平滑曲线的方法,同ggplot2::geom_smooth() "loess"
smooth_linetype 平滑曲线的线型 "dashed"
text_hjust、text_vjust 各分面中占比标签的对齐方式 0.9、-4
text_size、text_color 占比标签的字号和颜色 4.5、"black"
facet_ncol 不带突变点的分面图的列数 2
ZH 指定中文的旧方式:TRUE等同于lang = "zh" FALSE
lang 图表文字和名称的语言:"en"、"zh"或"both" NULL:ZH = TRUE时为"zh",否则使用fao_settings()中的语言
pptx 同时保存可编辑的PowerPoint文件 FALSE,或fao_settings()中的pptx
plot_show 保存图表的同时把图画在绘图窗口中(例如RStudio的Plots窗格) FALSE,或fao_settings()中的plot_show

📐 突变点的识别方法

突变点把产量序列划分为平均产量不同的若干时段。每个时段用常数均值模型(catch ~ 1)拟合;使残差平方和最小的突变点位置用动态规划求得(Bai和Perron 2003),突变点的个数按贝叶斯信息准则(BIC)选择,即strucchange::breakpoints()的做法(Zeileis等2002,2003)。每个时段至少包含h年:fishing_area_data()中为序列长度的15%,其他函数中由h_value指定。

函数 分析的序列
fishing_area_data() 渔区每年的总产量
fishing_area_species() 每个物种的产量,取其最长的连续年份段
fishing_area_country() 每个国家的产量,使用所有有记录的年份(年份不连续时给出警告)

突变点只说明产量水平在何时发生了变化,而不说明原因:捕捞活动、资源量、市场或统计上报方式的变化都可能使产量发生变化。

🌏 另一个渔区:西北大西洋

任何FAO渔区的用法都一样。西北大西洋(21区)位于加拿大、美国和格陵兰沿海:

FAO21 <- fishing_area_data("Atlantic, Northwest")
fishing_area_country(FAO21$area_data, rank_range = 1:8)
fishing_trend.png
fishing_percentage.png
area_country_map.png
area_country.png
area_country_wrap.png

21区的产量在1968年最高(4.6百万吨),2024年为1.4百万吨。其中大西洋鳕从1990年的564千吨降至1995年的31千吨:纽芬兰和拉布拉多外海的鳕鱼资源崩溃,加拿大于1992年关闭了该渔业(Hutchings and Myers 1994)。

不同渔区的图表以相同的文件名保存(如fishing_trend.png),因此建议每个渔区使用单独的工作目录,例如setwd("reports/FAO21")。

📖 参考文献

Bai, J. and Perron, P. (2003). Computation and analysis of multiple structural change models. Journal of Applied Econometrics 18(1): 1–22. doi:10.1002/jae.659

CWP (Coordinating Working Party on Fishery Statistics). CWP Handbook of Fishery Statistics: Main water areas (FAO major fishing areas). Rome: FAO. https://www.fao.org/cwp-on-fishery-statistics/handbook/general-concepts/main-water-areas/en/

FAO (2026). FishStat: Global capture production 1950–2024 (release 2026.1.0). In: FishStatJ. https://www.fao.org/fishery/statistics/software/fishstatj/en. Licence: CC-BY-4.0. Release file: https://www.fao.org/fishery/static/Data/Capture_2026.1.0.zip

FAO. Fishing area maps. In: FAO Fisheries and Aquaculture Division [online]. Rome. https://www.fao.org/fishery/docs/maps/Default.htm

FAO (2024). FAO Major Fishing Areas for Statistical Purposes. In: FAO Fisheries and Aquaculture Division [online]. Licence: CC-BY 4.0. https://www.fao.org/fishery/geonetwork?uuid=ac02a460-da52-11dc-9d70-0017f293bd28 (地图的渔区边界,随本包提供:inst/extdata/FAO_AREAS_CWP.shp)

FAO (2026). Fishery and Aquaculture Statistics – Yearbook 2024. FAO Yearbook of Fishery and Aquaculture Statistics. Rome: FAO. doi:10.4060/ce1217en

Hutchings, J.A. and Myers, R.A. (1994). What can be learned from the collapse of a renewable resource? Atlantic cod, Gadus morhua, of Newfoundland and Labrador. Canadian Journal of Fisheries and Aquatic Sciences 51(9): 2126–2146. doi:10.1139/f94-214

Massicotte, P. and South, A. rnaturalearth: World Map Data from Natural Earth. R package. doi:10.32614/CRAN.package.rnaturalearth

Natural Earth. Admin 0 – Details, map units, 1:50m (the country outlines of the maps). https://www.naturalearthdata.com/downloads/50m-cultural-vectors/50m-admin-0-details/

NOAA National Centers for Environmental Information (2022). ETOPO 2022 15 Arc-Second Global Relief Model. doi:10.25921/fd45-gt74

Pebesma, E. (2018). Simple features for R: standardized support for spatial vector data. The R Journal 10(1): 439–446. doi:10.32614/RJ-2018-009

Vihtakari, M. (2026). ggOceanMaps: Plot Data on Oceanographic Maps using ‘ggplot2’. R package version 3.0.0. doi:10.32614/CRAN.package.ggOceanMaps. GitHub: https://github.com/MikkoVihtakari/ggOceanMaps

Wickham, H. (2016). ggplot2: Elegant Graphics for Data Analysis. New York: Springer. doi:10.1007/978-3-319-24277-4

Zeileis, A., Kleiber, C., Krämer, W. and Hornik, K. (2003). Testing and dating of structural changes in practice. Computational Statistics & Data Analysis 44(1–2): 109–123. doi:10.1016/S0167-9473(03)00030-6

Zeileis, A., Leisch, F., Hornik, K. and Kleiber, C. (2002). strucchange: an R package for testing for structural change in linear regression models. Journal of Statistical Software 7(2): 1–38. doi:10.18637/jss.v007.i02