This package contains shapefiles from:
The goal is provide easy access to shapefiles on the North and Baltic Sea.
Shapefiles are in CRS 3035, and 4326.
# install.packages("devtools")
devtools::install_github("MiriamLL/DASShapefiles")library(DASShapefiles)Other useful packages
library(tidyverse)
library(ggplot2)
library(sf)
library(ggplot2)
library(ggspatial)ggplot2::ggplot()+ ggplot2::geom_sf(data = Europe_land, colour = 'black', fill = '#ffffbe')+
ggplot2::coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()To download go to: DIVA-GIS
Select the country and Administrative areas.
ggplot2::ggplot()+ ggplot2::geom_sf(data = DE_land, colour = 'black', fill = '#ffffbe')+
ggplot2::coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()+
ggplot2::theme_bw()To download: go to EMODnet>Select wind farms in the map. Select Other Forms of Area Management/Designation>Click on the download icon on Exclusive Economic Zone. Select Download Data, Select the country, and the Sector, and the Link should be ready to download.
ggplot2::ggplot()+ ggplot2::geom_sf(data = DE_EEZ,
colour = "red", fill= NA,alpha=0.9, lwd = 1)+
ggplot2::coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()ggplot2::ggplot()+
ggplot2::geom_sf(data = DE_coast,
colour = "red", fill= '#bde0fe',alpha=0.9, lwd = 1,linetype="dashed")+
ggplot2::theme_bw()ggplot2::ggplot()+
ggplot2::geom_sf(data = DE_North,
colour = "black", fill= '#bde0fe',alpha=0.9, lwd = 0.5)+
ggplot2::coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()ggplot2::ggplot()+
ggplot2::geom_sf(data = DE_Baltic,
colour = "black", fill= '#bde0fe',alpha=0.9, lwd = 0.5)+
ggplot2::theme_bw()To download: go to GeoSeaPortal The zip contains several shapefiles including NatureConservation
Other option is eea
ggplot2::ggplot()+
ggplot2::geom_sf(data = DE_natura, colour = "#3d6d22", fill= '#3d6d22',alpha=0.2, lwd = 1)+
ggplot2::theme_bw()Other option is Europen Environment Agency This file contains a more complete data from the natura 2000 sites.
For using the SCA (Special Conservation Areas) in Germany
ggplot2::ggplot()+
ggplot2::geom_sf(data = DE_SCA, colour = "#3d6d22", fill= '#3d6d22',alpha=0.2, lwd = 1)+
ggplot2::coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()ggplot2::ggplot()+
ggplot2::geom_sf(data = DE_natura, colour = "#3d6d22", fill= '#3d6d22',alpha=0.2, lwd = 1)+
ggplot2::geom_sf(data = DE_SCA, colour = "#3d6d22", fill= '#3d6d22',alpha=0.2, lwd = 1)+
ggplot2::theme_bw()To download: go to GeoSeaPortal The zip contains several shapefiles including ‘OffshoreWindEnergy’
ggplot2::ggplot()+
ggplot2::geom_sf(data = DE_OWF, colour = "#fe0001", fill= '#bde0fe',alpha=0.9, size=1)+
ggplot2::coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()To download: Go to EMBO. Select human activities
ggplot2::ggplot()+
ggplot2::geom_sf(data = DE_OWF_status, colour = "#fe0001", fill= '#bde0fe',alpha=0.9, size=1)+
ggplot2::coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()ggplot(DE_OWF_status)+
geom_sf(data = DE_EEZ,colour = "red", fill= NA,alpha=0.9, lwd = 0.5)+
geom_sf(data = DE_coast,colour = "red", fill= '#bde0fe',alpha=0.9, lwd = 0.5,linetype="dashed")+
geom_sf(data = DE_land, colour = 'black', fill = '#ffffbe')+
geom_sf(data = DE_natura, colour = "#3d6d22", fill= '#3d6d22',alpha=0.2, lwd = 0.5)+
geom_sf(data = DE_OWF_status, aes(fill= STATUS), colour = "grey",alpha=0.9, size=0.5)+
scale_fill_manual(values = c("yellow", "blue", "green"))+
coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()+
theme(legend.position = 'bottom')To download: go to GeoSeaPortal The zip contains several shapefiles including Shipping
ggplot2::ggplot()+
ggplot2::geom_sf(data = DE_shipping, colour = "blue", fill= 'blue',alpha=0.2, lwd = 1)+
ggplot2::coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()ggplot(DE_shipping)+
geom_sf(data = DE_EEZ,colour = "red", fill= NA,alpha=0.9, lwd = 0.5)+
geom_sf(data = DE_coast,colour = "red", fill= '#bde0fe',alpha=0.9, lwd = 0.5,linetype="dashed")+
geom_sf(data = DE_land, colour = 'black', fill = '#ffffbe')+
geom_sf(data = DE_natura, colour = "#3d6d22", fill= '#3d6d22',alpha=0.2, lwd = 0.5)+
geom_sf(data = DE_shipping, aes(fill= Type), colour = "grey",alpha=0.9, size=0.5)+
scale_fill_manual(values = c("blue", "deepskyblue", "turquoise"))+
coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()+
theme(legend.position = 'bottom')To download GEBCO: General Bathymetry Chart of the Oceans
Go to: Download data for user-defined areas Use the application. Add your coordinates here I use 1 to 10 and 50 to 60. Add to basket and download.
For steps to manipulate the data check my blogpost
Reference: If the data sets are used in a presentation or publication then we ask that you acknowledge the source.This should be of the form: GEBCO Compilation Group (2024) GEBCO 2024 Grid (doi:10.5285/1c44ce99-0a0d-5f4f-e063-7086abc0ea0f)
Bath_dataframe<-DASShapefiles::DE_bathBath_dataframe_sub <-Bath_dataframe %>%
filter(x > 2 & x < 10)%>%
filter(y > 52 & y < 57)%>%
rename(Bathymetry=3) %>%
filter(Bathymetry < 10)%>%
mutate(Bathymetry = as.numeric(Bathymetry))DE_land<-st_transform(DE_land, 4326)library(ggplot2)
ggplot() +
geom_raster(data = Bath_dataframe_sub , aes(x = x, y = y, fill = Bathymetry)) +
geom_sf(data = DE_land, colour = 'black', fill = '#ffffbe')+
scale_fill_viridis_c(option = "mako")+
theme_void()+
theme(legend.position='bottom')+
xlab('Longitude')+ylab('Latitude')+
coord_sf(xlim = c(3,9), ylim = c(53,56),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))Reference: If the data sets are used in a presentation or publication then we ask that you acknowledge the source.This should be of the form: GEBCO Compilation Group (2024) GEBCO 2024 Grid (doi:10.5285/1c44ce99-0a0d-5f4f-e063-7086abc0ea0f)
Source: OceanColor NASA I recommend to download the interpolated 0.01-degree GeoTiff packed together with a brief description file. For steps to manipulate the data check my blogpost
ggplot() +
geom_raster(data = DE_distancecoast, aes(x = x, y = y, fill = Dist)) +
geom_sf(data = DE_land, colour = 'black', fill = '#ffffbe')+
scale_fill_viridis_c(option = "rocket")+
theme_void()+
theme(legend.position='bottom')+
xlab('Longitude')+ylab('Latitude')+
coord_sf(xlim = c(3,9), ylim = c(53,56),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))Based on the occurrence of marine animals, the sea areas of the German North Sea and Baltic Sea were divided into study areas, which were then surveyed using specific transect designs.
Source: BfN
Reference: Dieser Dienst und die darin verfügbaren Daten können gemäß der ‘Nutzungsbestimmungen für die Bereitstellung von Geodaten des Bundes’ (http://www.gesetze-im-internet.de/bundesrecht/geonutzv/gesamt.pdf) genutzt werden. Quelle: Bundesamt für Naturschutz (BfN) Jahr.
DE_EEZ<-st_transform(DE_EEZ, 4326)
DE_coast<-st_transform(DE_coast, 4326)
DE_land<-st_transform(DE_land, 4326)
DE_natura<-st_transform(DE_natura, 4326)ggplot() +
geom_sf(data = DE_EEZ, colour = "black", fill= '#caf0f8', lwd = 0.5)+
geom_sf(data = DE_areas, color='black',fill = '#caf0f8', lwd = 0.5)+
geom_sf(data = DE_areas, aes(fill=stratum),colour = 'transparent')+
scale_fill_manual(values = c(A = '#7400b8',
B = '#6930c3',
C = '#5e60ce',
D = '#277da1',
E = '#577590',
F = '#4d908e',
G = '#43aa8b',
H = '#90be6d',
I = '#f9c74f',
J = '#ff6d00',
K = '#f8961e',
L = '#f3722c',
N = '#f94144'))+
# Line colors
geom_sf(data = DE_EEZ, colour = "black", fill= NA, lwd = 0.5)+
geom_sf(data = DE_coast, colour = "black", fill= NA,alpha=0.9, lwd = 0.5,linetype="dashed")+
geom_sf(data = DE_land, colour = '#d9d9d9', fill = '#d9d9d9')+
#geom_sf(data = DE_coast, colour = "black", fill= NA,alpha=0.9, lwd = 0.5,linetype="dashed")+
coord_sf(xlim = c(3, 15),ylim = c(53, 56))+
scale_x_continuous(breaks = c(5,7,9,11,13,15),labels = function(x) paste0(x, '\u00B0', "W")) +
scale_y_continuous(breaks = c(53.5,54.5,55.5,56.5),labels = function(x) paste0(x, '\u00B0', "N"))+
theme(
legend.position='none',
legend.spacing.y = unit(0.05, 'cm'),
legend.text=element_text(size=10),
legend.background = element_rect(fill='transparent',colour ="transparent"),
legend.box.background = element_rect(fill='transparent',colour ="transparent"),
legend.key = element_rect(fill = "transparent", colour = "transparent"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(fill = "transparent"))+
xlab('Longitude')+ylab('Latitude')+
theme(panel.border = element_rect(colour = "black", fill=NA, linewidth = 1.5))+
theme(axis.text.x = element_text(size=10,vjust = 15),
axis.text.y = element_text(size=10,margin = margin(0,-1.50,0,1, unit = 'cm')),
axis.title = element_blank(),
axis.ticks.length=unit(-0.25, "cm"))+
annotate(geom = "text", x = 4.5, y = 55.5, label = "A",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 5.5, y = 55.3, label = "B",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 6.8, y = 55.0, label = "C",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 7.9, y = 54.8, label = "D",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 8.1, y = 54.1, label = "E",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 7.1, y = 54.1, label = "F",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 6.4, y = 54.5, label = "G",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 5.5, y = 54.8, label = "H",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 10.3,y = 54.8, label = "I",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 11, y = 54.6, label = "J",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 12, y = 54.5, label = "K",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 12.8,y = 54.8, label = "L",size = 4,fontface = 'bold',color='#343a40')+
annotate(geom = "text", x = 14.2,y = 54.3, label = "O",size = 4,fontface = 'bold',color='#343a40')Source: ICES rectangles
To
download: go to link> click on Quick Downloads> select ICES
Statistical Rectangles.
ggplot2::ggplot(DE_ICES)+
ggplot2::geom_sf(data = DE_ICES, colour = "#3d6d22", fill= '#3d6d22',alpha=0.2, lwd = 1)+
ggplot2::geom_sf_text(ggplot2::aes(label =ICESNAME),size=3,family="sans")+
ggplot2::coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))This grids were created in R and are made available by this package.
ggplot2::ggplot()+
geom_sf(data = DASShapefiles::DE_EEZ, colour = "red", fill= NA,alpha=0.9, lwd = 0.5)+
geom_sf(data = DASShapefiles::DE_coast, colour = "red", fill= NA,alpha=0.9, lwd = 0.5,linetype="dashed")+
geom_sf(data = DASShapefiles::DE_land, colour = 'black', fill = '#ffffbe')+
ggplot2::geom_sf(data=DE_grid5x5_3035, colour = "black", fill= NA, lwd = 0.5)+
ggplot2::coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()ggplot() +
geom_sf(data = DASShapefiles::DE_EEZ, colour = "red", fill= NA,alpha=0.9, lwd = 0.5)+
geom_sf(data = DASShapefiles::DE_coast, colour = "red", fill= NA,alpha=0.9, lwd = 0.5,linetype="dashed")+
geom_sf(data = DASShapefiles::DE_land, colour = 'black', fill = '#ffffbe')+
ggplot2::geom_sf(data=DE_grid10x10_3035, colour = "black", fill= '#56C1D5', lwd = 0.5, alpha=0.1)+
xlab('Longitude')+ylab('Latitude')+
theme(panel.border = element_rect(colour = "black", fill=NA, size=1.5))+
coord_sf(xlim = c(3900000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()
#> Warning: The `size` argument of `element_rect()` is deprecated as of ggplot2 3.4.0.
#> ℹ Please use the `linewidth` argument instead.
#> This warning is displayed once every 8 hours.
#> Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
#> generated.ggplot2::ggplot()+
geom_sf(data = DASShapefiles::DE_EEZ, colour = "red", fill= NA,alpha=0.9, lwd = 0.5)+
geom_sf(data = DASShapefiles::DE_coast, colour = "red", fill= NA,alpha=0.9, lwd = 0.5,linetype="dashed")+
geom_sf(data = DASShapefiles::DE_land, colour = 'black', fill = '#ffffbe')+
ggplot2::geom_sf(data=DE_grid10x10_EEZ, colour = "black", fill= NA, lwd = 0.5)+
ggplot2::coord_sf(xlim = c(3790000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))+
ggplot2::theme_bw()ggplot() +
geom_sf(data = DASShapefiles::DE_EEZ, colour = "red", fill= NA,alpha=0.9, lwd = 0.5)+
geom_sf(data = DASShapefiles::DE_coast, colour = "red", fill= NA,alpha=0.9, lwd = 0.5,linetype="dashed")+
geom_sf(data = DASShapefiles::DE_land, colour = 'black', fill = '#ffffbe')+
annotation_north_arrow(location ="bl", which_north = "true",
pad_x = unit(0.05, "in"),
pad_y = unit(0.05, "in"),
style = north_arrow_fancy_orienteering)+
theme(
legend.spacing.y = unit(0.05, 'cm'),
legend.text=element_text(size=10),
legend.background = element_rect(fill='transparent',colour ="transparent"),
legend.box.background = element_rect(fill='transparent',colour ="transparent"),
legend.key = element_rect(fill = "transparent", colour = "transparent"),
panel.background = element_rect(fill = '#bde0fe'))+
xlab('Longitude')+ylab('Latitude')+
theme(panel.border = element_rect(colour = "black", fill=NA, size=1.5))+
coord_sf(xlim = c(3900000,4250000), ylim = c(3350000,3680000),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))For using other CRS, you can use the function st_transform from the package sf.
library(sf)DE_EEZ<-st_transform(DE_EEZ, 4326)
DE_coast<-st_transform(DE_coast, 4326)
DE_land<-st_transform(DE_land, 4326)
DE_natura<-st_transform(DE_natura, 4326)ggplot()+
geom_sf(data = DE_EEZ, colour = "red", fill= NA,alpha=0.9, lwd = 0.5)+
geom_sf(data = DE_coast, colour = "red", fill= NA,alpha=0.9, lwd = 0.5,linetype="dashed")+
geom_sf(data = DE_land, colour = 'black', fill = '#ffffbe')+
geom_sf(data = DE_natura, colour = "#3d6d22", fill= '#3d6d22',alpha=0.2, lwd = 0.5)+
ggspatial::annotation_north_arrow(location ="bl", which_north = "true",
pad_x = unit(0.05, "in"),
pad_y = unit(0.05, "in"),
style = north_arrow_fancy_orienteering)+
theme(
legend.spacing.y = unit(0.05, 'cm'),
legend.text=element_text(size=10),
legend.background = element_rect(fill='transparent',colour ="transparent"),
legend.box.background = element_rect(fill='transparent',colour ="transparent"),
legend.key = element_rect(fill = "transparent", colour = "transparent"),
panel.background = element_rect(fill = '#bde0fe'))+
xlab('Longitude')+ylab('Latitude')+
theme(panel.border = element_rect(colour = "black", fill=NA, size=1.5))+
coord_sf(xlim = c(3,9), ylim = c(53,56),
label_axes = list(top = "E", left = "N", bottom = 'E', right='N'))





















