Open annakrystalli opened 4 years ago
The most useful documentation so far on accessing the Seabed Habitat data is the README in the EMODnetSBH-Guidance.
This leads to the following screen: which doesn't really give further useful instructions
So it appears we need to add the request type after the supplied URL: eg
http://213.122.160.75/scripts/mapserv.exe?map=D:/Websites/MESHAtlantic/map/MESHAtlanticWMS.map&request=GetMap
in the browser at least returns an error now:
Habitat maps are interpreted products, usually with some amount of interpolation/extrapolation based on a combination of data. So a polygon in a habitat map can’t be relied upon to tell you definitively what the habitat type is at any location, and therefore any spatial overlay with species observations wouldn’t be a reliable way to describe the species that coincide with particular habitats or vice versa. So make sure you’re careful about the phrasing around “What habitats does species X occur in” and “What species occur in habitat X”. It would be more of a case of “What habitats have been mapped where species X occurs?” and “What species occur where habitat X has been mapped?”
- Could be that we use the Habitat Index raw data to develop some sort concordance score or posterior probability.
- Otherwise we could also consider the ability to use buffer and get a sample for each observation? In fact, the answer to the questions “What habitats does species X occur in” and “What species occur in habitat X” is more reliably found by consulting the official habitat definitions (e.g. for UK marine habitats it would the Marine Habitat Classification for Britain and Ireland).
WFS: `http://213.122.160.75/scripts/mapserv.exe?map=D:/Websites/MESHAtlantic/map/MESHAtlanticWMS.map link contains all the individual habitat maps from surveys that are available via the portal (EUNIS and Habitats Directive Annex I).
Note that something to consider is that these are patchy and may sometimes overlap with each other.
They also cover a range of thematic scales, from broad physical descriptions to detailed biotopes.
- I'm guessing we want to focus on habitats / biotopes?
The other habitat map you might be interested in is the broad-scale seabed habitat map for Europe, EUSeaMap, which has full coverage (no gaps) but has a coarse spatial scale and only describes broad physical descriptions of habitats. It is also more predictive in its creation. Created using a rule-based approach that categorises environmental conditions and matches these categories to habitat types in the EUNIS habitat classification. However, you will not find this available on the WFS because it is just so huge!
- in many ways this dataset seems the most similar to the other data sources we're porting. But obviously the size is an issue. Worth exploring potential for sourcing though and working locally.
emodnet_open_maplibrary
I had success on Thursday accessing features through R (see code below), based on a this workflow using the URLs provided at https://www.emodnet-seabedhabitats.eu/access-data/web-services/
In particular, I started with the emodnet_open_maplibrary
which seemed to contain the EUNIS habitat layers. This worked on Thursday, I had managed to download layers "be000142", "be000143", "be000144", "bg003005", "es000001", "es001000"
but by that evening and since, I cannot get the same code to work and as hard as I've tried, can't troubleshoot the problems.
library(magrittr)
wfs_url <- "WFS:https://ows.emodnet-seabedhabitats.eu/emodnet_open_maplibrary/wfs"
layers <- "be000144"
cache_dir <- fs::path_expand("~/Desktop")
prefix <- stringr::str_remove(wfs_url, "/wfs") %>%
stringr::str_split("/") %>% unlist() %>%
tail(1)
layer_paths <- fs::path(cache_dir, glue::glue("emodnet_{layers}.geojson"))
# query parameters
cache_dir
#> /Users/Anna/Desktop
prefix
#> [1] "emodnet_open_maplibrary"
layer_paths
#> /Users/Anna/Desktop/emodnet_be000144.geojson
open_maplibrary_query <- gdalUtils::ogr2ogr(
src_datasource_name = wfs_url,
layer = glue::glue("{prefix}:{layers}"),
dst_datasource_name = layer_paths, # the target file
f = "geojson", # the target format # the coordinate reference system
verbose = TRUE
)
#> Checking gdal_installation...
#> Scanning for GDAL installations...
#> Checking Sys.which...
#> GDAL version 2.4.4
#> GDAL command being used: "/usr/local/Cellar/gdal/2.4.4_2/bin/ogr2ogr" -f "geojson" "/Users/Anna/Desktop/emodnet_be000144.geojson" "WFS:https://ows.emodnet-seabedhabitats.eu/emodnet_open_maplibrary/wfs" "emodnet_open_maplibrary:be000144"
#> Warning in system(cmd, intern = TRUE): running command '"/usr/local/Cellar/gdal/
#> 2.4.4_2/bin/ogr2ogr" -f "geojson" "/Users/Anna/Desktop/emodnet_be000144.geojson"
#> "WFS:https://ows.emodnet-seabedhabitats.eu/emodnet_open_maplibrary/wfs"
#> "emodnet_open_maplibrary:be000144"' had status 1
# Load layer
sf::st_read(layer_paths) %>%
tibble::as_tibble() %>%
sf::st_as_sf()
#> Reading layer `emodnet_open_maplibrary:be000144' from data source `/Users/Anna/Desktop/emodnet_be000144.geojson' using driver `GeoJSON'
#> Simple feature collection with 0 features and 0 fields
#> bbox: xmin: NA ymin: NA xmax: NA ymax: NA
#> epsg (SRID): 3857
#> proj4string: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs
#> Simple feature collection with 0 features and 0 fields
#> bbox: xmin: NA ymin: NA xmax: NA ymax: NA
#> epsg (SRID): 3857
#> proj4string: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs
#> # A tibble: 0 x 1
#> # … with 1 variable: geometry <GEOMETRY [m]>
Oddly, it has downloaded something (looks like just the geographic metadata) but there 0 features contained in the file.
emodnet_open
Interestingly, accessing features through the other link on the site (emodnet_open
) is successful, however I'm not sure what the available features are as I can't easily cross reference them to the layer described on the data download page .
wfs_url <- "WFS:https://ows.emodnet-seabedhabitats.eu/emodnet_open/wfs"
layers <- "eusm2019_bio_full"
cache_dir <- fs::path_expand("~/Desktop")
prefix <- stringr::str_remove(wfs_url, "/wfs") %>%
stringr::str_split("/") %>% unlist() %>%
tail(1)
layer_paths <- fs::path(cache_dir, glue::glue("emodnet_{layers}.geojson"))
# query parameters
cache_dir
#> /Users/Anna/Desktop
prefix
#> [1] "emodnet_open"
layer_paths
#> /Users/Anna/Desktop/emodnet_eusm2019_bio_full.geojson
open_query <- gdalUtils::ogr2ogr(
src_datasource_name = wfs_url,
layer = glue::glue("{prefix}:{layers}"),
dst_datasource_name = layer_paths, # the target file
f = "geojson", # the target format # the coordinate reference system
verbose = TRUE
)
#> Checking gdal_installation...
#> GDAL version 2.4.4
#> GDAL command being used: "/usr/local/Cellar/gdal/2.4.4_2/bin/ogr2ogr" -f "geojson" "/Users/Anna/Desktop/emodnet_eusm2019_bio_full.geojson" "WFS:https://ows.emodnet-seabedhabitats.eu/emodnet_open/wfs" "emodnet_open:eusm2019_bio_full"
# Load layer
sf::st_read(layer_paths) %>%
tibble::as_tibble() %>%
sf::st_as_sf()
#> Reading layer `emodnet_open:eusm2019_bio_full' from data source `/Users/Anna/Desktop/emodnet_eusm2019_bio_full.geojson' using driver `GeoJSON'
#> Simple feature collection with 375543 features and 4 fields
#> geometry type: MULTIPOLYGON
#> dimension: XY
#> bbox: xmin: -4007501 ymin: 2569656 xmax: 4786738 ymax: 16215280
#> epsg (SRID): 3857
#> proj4string: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs
#> Simple feature collection with 375543 features and 4 fields
#> geometry type: MULTIPOLYGON
#> dimension: XY
#> bbox: xmin: -4007501 ymin: 2569656 xmax: 4786738 ymax: 16215280
#> epsg (SRID): 3857
#> proj4string: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs
#> # A tibble: 375,543 x 5
#> gml_id biozone shape_length shape_area geometry
#> <fct> <fct> <dbl> <dbl> <MULTIPOLYGON [m]>
#> 1 eusm2019… "" 677. 33498. (((3429516 5864011, 3429497 586401…
#> 2 eusm2019… "" 1138. 87895. (((3427914 5866312, 3427891 586630…
#> 3 eusm2019… "" 2484. 428687. (((3435264 5867010, 3435245 586700…
#> 4 eusm2019… "" 2876. 489990. (((3431966 5867507, 3431950 586750…
#> 5 eusm2019… "" 3773. 757598. (((3433735 5867447, 3433673 586744…
#> 6 eusm2019… "" 1012. 70509. (((3439196 5868992, 3439141 586896…
#> 7 eusm2019… "" 1502. 170005. (((3435151 5869380, 3435143 586937…
#> 8 eusm2019… "" 2472. 280803. (((3440588 5870527, 3440624 587018…
#> 9 eusm2019… "" 1077. 77158. (((3441522 5871309, 3441496 587130…
#> 10 eusm2019… "" 1089. 77793. (((3443653 5871427, 3443633 587142…
#> # … with 375,533 more rows
Created on 2020-04-07 by the reprex package (v0.3.0)
emodnet_open_maplibrary
data recently? Is there somewhere I can check for service integrity?emodnet_open
Here's the OGR info I get for each of the endpoints:
emodnet_open
gdalUtils::ogrinfo("WFS:https://ows.emodnet-seabedhabitats.eu/emodnet_open/wfs",
so = TRUE,
ro = TRUE)
#> [1] "INFO: Open of `WFS:https://ows.emodnet-seabedhabitats.eu/emodnet_open/wfs'"
#> [2] " using driver `WFS' successful."
#> [3] "Metadata:"
#> [4] " ABSTRACT=This is the reference implementation of WFS 1.0.0 and WFS 1.1.0, supports all WFS operations including Transaction."
#> [5] " PROVIDER_NAME=Joint Nature Conservation Committee"
#> [6] " TITLE=EMODnet Seabed Habitats WFS Service"
#> [7] "1: emodnet_open:art17_hab_1150 (Multi Surface)"
#> [8] "2: emodnet_open:art17_hab_1130 (Multi Surface)"
#> [9] "3: emodnet_open:art17_hab_1160 (Multi Surface)"
#> [10] "4: emodnet_open:art17_hab_1140 (Multi Surface)"
#> [11] "5: emodnet_open:art17_hab_1120 (Multi Surface)"
#> [12] "6: emodnet_open:art17_hab_1170 (Multi Surface)"
#> [13] "7: emodnet_open:art17_hab_1110 (Multi Surface)"
#> [14] "8: emodnet_open:art17_hab_1180 (Multi Surface)"
#> [15] "9: emodnet_open:habitat_point_eunis (Point)"
#> [16] "10: emodnet_open:habitat_point (Point)"
#> [17] "11: emodnet_open:eusm2019_bio_full (Multi Surface)"
#> [18] "12: emodnet_open:eusm2019_ene_full (Multi Surface)"
#> [19] "13: emodnet_open:eusm2019_regions (Multi Surface)"
#> [20] "14: emodnet_open:eov_livecoral (Curve Polygon)"
#> [21] "15: emodnet_open:eov_macroalgae (Curve Polygon)"
#> [22] "16: emodnet_open:habitat_point_bboxes (Curve Polygon)"
#> [23] "17: emodnet_open:ospar2018_points (Point)"
#> [24] "18: emodnet_open:ospar_overview (Multi Surface)"
#> [25] "19: emodnet_open:ospar2018_poly (Multi Surface)"
#> [26] "20: emodnet_open:eov_seagrass (Curve Polygon)"
emodnet_open_maplibrary
Note that when I query this endpoint for info, I get a long list of errors printed to the console, despite the query receiving a response
gdalUtils::ogrinfo("WFS:https://ows.emodnet-seabedhabitats.eu/emodnet_open_maplibrary/wfs",
so = TRUE,
ro = TRUE)
ERROR 1: HTTP error code : 500
ERROR 1: Error returned by server : HTTP error code : 500 (0)
ERROR 1: HTTP error code : 500
ERROR 1: Error returned by server : HTTP error code : 500 (0)
ERROR 1: HTTP error code : 500
ERROR 1: Error returned by server : HTTP error code : 500 (0)
ERROR 1: HTTP error code : 500
ERROR 1: Error returned by server : HTTP error code : 500 (0)
ERROR 1: HTTP error code : 500
ERROR 1: Error returned by server : HTTP error code : 500 (0)
...
#> [1] "INFO: Open of `WFS:https://ows.emodnet-seabedhabitats.eu/emodnet_open_maplibrary/wfs'"
#> [2] " using driver `WFS' successful."
#> [3] "Metadata:"
#> [4] " ABSTRACT=This is the reference implementation of WFS 1.0.0 and WFS 1.1.0, supports all WFS operations including Transaction."
#> [5] " PROVIDER_NAME=Joint Nature Conservation Committee"
#> [6] " TITLE=EMODnet Seabed Habitats Map Library WFS Service"
#> [7] "1: emodnet_open_maplibrary:be000071"
#> [8] "2: emodnet_open_maplibrary:be000225"
#> [9] "3: emodnet_open_maplibrary:be000226"
#> [10] "4: emodnet_open_maplibrary:be000227"
#> [11] "5: emodnet_open_maplibrary:be000228"
#> [12] "6: emodnet_open_maplibrary:be000231"
#> [13] "7: emodnet_open_maplibrary:gb001308 (Multi Surface)"
#> [14] "8: emodnet_open_maplibrary:nl000065"
#> [15] "9: emodnet_open_maplibrary:nl000066"
#> [16] "10: emodnet_open_maplibrary:be000007"
#> [17] "11: emodnet_open_maplibrary:be000017"
#> [18] "12: emodnet_open_maplibrary:be000031"
#> [19] "13: emodnet_open_maplibrary:be000048"
#> [20] "14: emodnet_open_maplibrary:be000051"
#> [21] "15: emodnet_open_maplibrary:be000054"
#> [22] "16: emodnet_open_maplibrary:be000057"
#> [23] "17: emodnet_open_maplibrary:be000060"
#> [24] "18: emodnet_open_maplibrary:be000065"
#> [25] "19: emodnet_open_maplibrary:be000142 (Multi Surface)"
#> [26] "20: emodnet_open_maplibrary:be000143 (Multi Surface)"
#> [27] "21: emodnet_open_maplibrary:be000144 (Multi Surface)"
#> [28] "22: emodnet_open_maplibrary:be000145 (Multi Surface)"
#> [29] "23: emodnet_open_maplibrary:be000222"
#> [30] "24: emodnet_open_maplibrary:be000223"
#> [31] "25: emodnet_open_maplibrary:be000224"
#> [32] "26: emodnet_open_maplibrary:be000229"
#> [33] "27: emodnet_open_maplibrary:be000230"
#> [34] "28: emodnet_open_maplibrary:bg003002"
#> [35] "29: emodnet_open_maplibrary:bg003003"
#> [36] "30: emodnet_open_maplibrary:bg003004"
#> [37] "31: emodnet_open_maplibrary:bg003005 (Multi Surface)"
#> [38] "32: emodnet_open_maplibrary:dk003001 (Multi Surface)"
#> [39] "33: emodnet_open_maplibrary:dk003002 (Multi Surface)"
#> [40] "34: emodnet_open_maplibrary:dk003003 (Multi Surface)"
#> [41] "35: emodnet_open_maplibrary:dk003004 (Multi Surface)"
#> [42] "36: emodnet_open_maplibrary:dk003005 (Multi Surface)"
#> [43] "37: emodnet_open_maplibrary:dk003006 (Multi Surface)"
#> [44] "38: emodnet_open_maplibrary:dk003007 (Multi Surface)"
#> [45] "39: emodnet_open_maplibrary:dk003008 (Multi Surface)"
#> [46] "40: emodnet_open_maplibrary:dk003009 (Multi Surface)"
#> [47] "41: emodnet_open_maplibrary:dk003010 (Multi Surface)"
#> [48] "42: emodnet_open_maplibrary:dk003011 (Multi Surface)"
#> [49] "43: emodnet_open_maplibrary:dk003012 (Multi Surface)"
#> [50] "44: emodnet_open_maplibrary:dk003013 (Multi Surface)"
#> [51] "45: emodnet_open_maplibrary:dk003014 (Multi Surface)"
#> [52] "46: emodnet_open_maplibrary:dk003015 (Multi Surface)"
#> [53] "47: emodnet_open_maplibrary:dk003016 (Multi Surface)"
#> [54] "48: emodnet_open_maplibrary:dk003017 (Multi Surface)"
#> [55] "49: emodnet_open_maplibrary:dk003018 (Multi Surface)"
#> [56] "50: emodnet_open_maplibrary:dk003019 (Multi Surface)"
#> [57] "51: emodnet_open_maplibrary:dk003020 (Multi Surface)"
#> [58] "52: emodnet_open_maplibrary:dk003021 (Multi Surface)"
#> [59] "53: emodnet_open_maplibrary:dk003022 (Multi Surface)"
#> [60] "54: emodnet_open_maplibrary:dk003023 (Multi Surface)"
#> [61] "55: emodnet_open_maplibrary:dk003024 (Multi Surface)"
#> [62] "56: emodnet_open_maplibrary:dk003025 (Multi Surface)"
#> [63] "57: emodnet_open_maplibrary:dk003026 (Multi Surface)"
#> [64] "58: emodnet_open_maplibrary:dk003027 (Multi Surface)"
#> [65] "59: emodnet_open_maplibrary:dk003028 (Multi Surface)"
#> [66] "60: emodnet_open_maplibrary:dk003029 (Multi Surface)"
#> [67] "61: emodnet_open_maplibrary:dk003030 (Multi Surface)"
#> [68] "62: emodnet_open_maplibrary:dk003031 (Multi Surface)"
#> [69] "63: emodnet_open_maplibrary:dk003032 (Multi Surface)"
#> [70] "64: emodnet_open_maplibrary:dk003033 (Multi Surface)"
#> [71] "65: emodnet_open_maplibrary:dk003034 (Multi Surface)"
#> [72] "66: emodnet_open_maplibrary:dk003035 (Multi Surface)"
#> [73] "67: emodnet_open_maplibrary:dk003036 (Multi Surface)"
#> [74] "68: emodnet_open_maplibrary:dk003037 (Multi Surface)"
#> [75] "69: emodnet_open_maplibrary:dk003038 (Multi Surface)"
#> [76] "70: emodnet_open_maplibrary:dk003039 (Multi Surface)"
#> [77] "71: emodnet_open_maplibrary:dk003040 (Multi Surface)"
#> [78] "72: emodnet_open_maplibrary:dk003041 (Multi Surface)"
#> [79] "73: emodnet_open_maplibrary:dk003042 (Multi Surface)"
#> [80] "74: emodnet_open_maplibrary:dk003043 (Multi Surface)"
#> [81] "75: emodnet_open_maplibrary:dk003044 (Multi Surface)"
#> [82] "76: emodnet_open_maplibrary:dk003045 (Multi Surface)"
#> [83] "77: emodnet_open_maplibrary:dk003046 (Multi Surface)"
#> [84] "78: emodnet_open_maplibrary:dk003047 (Multi Surface)"
#> [85] "79: emodnet_open_maplibrary:dk003048 (Multi Surface)"
#> [86] "80: emodnet_open_maplibrary:dk003049 (Multi Surface)"
#> [87] "81: emodnet_open_maplibrary:dk003050 (Multi Surface)"
#> [88] "82: emodnet_open_maplibrary:dk003051 (Multi Surface)"
#> [89] "83: emodnet_open_maplibrary:dk003052 (Multi Surface)"
#> [90] "84: emodnet_open_maplibrary:dk003053 (Multi Surface)"
#> [91] "85: emodnet_open_maplibrary:dk003054 (Multi Surface)"
#> [92] "86: emodnet_open_maplibrary:dk003055 (Multi Surface)"
#> [93] "87: emodnet_open_maplibrary:dk003056 (Multi Surface)"
#> [94] "88: emodnet_open_maplibrary:dk003057 (Multi Surface)"
#> [95] "89: emodnet_open_maplibrary:dk003058 (Multi Surface)"
#> [96] "90: emodnet_open_maplibrary:dk003059 (Multi Surface)"
#> [97] "91: emodnet_open_maplibrary:dk003060 (Multi Surface)"
#> [98] "92: emodnet_open_maplibrary:dk003061 (Multi Surface)"
#> [99] "93: emodnet_open_maplibrary:dk003062 (Multi Surface)"
#> [100] "94: emodnet_open_maplibrary:dk003063 (Multi Surface)"
#> [101] "95: emodnet_open_maplibrary:dk003064 (Multi Surface)"
#> [102] "96: emodnet_open_maplibrary:dk003065 (Multi Surface)"
#> [103] "97: emodnet_open_maplibrary:dk003066 (Multi Surface)"
#> [104] "98: emodnet_open_maplibrary:dk003067 (Multi Surface)"
#> [105] "99: emodnet_open_maplibrary:dk003068 (Multi Surface)"
#> [106] "100: emodnet_open_maplibrary:dk003069 (Multi Surface)"
#> [107] "101: emodnet_open_maplibrary:dk003070 (Multi Surface)"
#> [108] "102: emodnet_open_maplibrary:dk003071 (Multi Surface)"
#> [109] "103: emodnet_open_maplibrary:dk003072 (Multi Surface)"
#> [110] "104: emodnet_open_maplibrary:dk003073 (Multi Surface)"
#> [111] "105: emodnet_open_maplibrary:dk003074 (Multi Surface)"
#> [112] "106: emodnet_open_maplibrary:dk003075 (Multi Surface)"
#> [113] "107: emodnet_open_maplibrary:dk003076 (Multi Surface)"
#> [114] "108: emodnet_open_maplibrary:dk003077 (Multi Surface)"
#> [115] "109: emodnet_open_maplibrary:es000001 (Multi Surface)"
#> [116] "110: emodnet_open_maplibrary:es001000 (Multi Surface)"
#> [117] "111: emodnet_open_maplibrary:es001001 (Multi Surface)"
#> [118] "112: emodnet_open_maplibrary:es001002 (Multi Surface)"
#> [119] "113: emodnet_open_maplibrary:es001021 (Multi Surface)"
#> [120] "114: emodnet_open_maplibrary:es001022 (Multi Surface)"
#> [121] "115: emodnet_open_maplibrary:es001023 (Multi Surface)"
#> [122] "116: emodnet_open_maplibrary:es001024 (Multi Surface)"
#> [123] "117: emodnet_open_maplibrary:es001025 (Multi Surface)"
#> [124] "118: emodnet_open_maplibrary:es001026 (Multi Surface)"
#> [125] "119: emodnet_open_maplibrary:es001027"
#> [126] "120: emodnet_open_maplibrary:fi003005 (Multi Surface)"
#> [127] "121: emodnet_open_maplibrary:fi003006 (Multi Surface)"
#> [128] "122: emodnet_open_maplibrary:fi003007 (Multi Surface)"
#> [129] "123: emodnet_open_maplibrary:fi003008 (Multi Surface)"
#> [130] "124: emodnet_open_maplibrary:fi003009 (Multi Surface)"
#> [131] "125: emodnet_open_maplibrary:fi003010 (Multi Surface)"
#> [132] "126: emodnet_open_maplibrary:fr000003 (Multi Surface)"
#> [133] "127: emodnet_open_maplibrary:fr000004 (Multi Surface)"
#> [134] "128: emodnet_open_maplibrary:fr000008 (Multi Surface)"
#> [135] "129: emodnet_open_maplibrary:fr000025 (Multi Surface)"
#> [136] "130: emodnet_open_maplibrary:fr000035 (Multi Surface)"
#> [137] "131: emodnet_open_maplibrary:fr000036 (Multi Surface)"
#> [138] "132: emodnet_open_maplibrary:fr000037 (Multi Surface)"
#> [139] "133: emodnet_open_maplibrary:fr000040 (Multi Surface)"
#> [140] "134: emodnet_open_maplibrary:fr000041 (Multi Surface)"
#> [141] "135: emodnet_open_maplibrary:fr000043 (Multi Surface)"
#> [142] "136: emodnet_open_maplibrary:fr000046 (Multi Surface)"
#> [143] "137: emodnet_open_maplibrary:fr000048 (Multi Surface)"
#> [144] "138: emodnet_open_maplibrary:fr000051 (Multi Surface)"
#> [145] "139: emodnet_open_maplibrary:fr000055 (Multi Surface)"
#> [146] "140: emodnet_open_maplibrary:fr000056 (Multi Surface)"
#> [147] "141: emodnet_open_maplibrary:fr000058 (Multi Surface)"
#> [148] "142: emodnet_open_maplibrary:fr000059 (Multi Surface)"
#> [149] "143: emodnet_open_maplibrary:fr000060 (Multi Surface)"
#> [150] "144: emodnet_open_maplibrary:fr002000 (Multi Surface)"
#> [151] "145: emodnet_open_maplibrary:fr002001 (Multi Surface)"
#> [152] "146: emodnet_open_maplibrary:fr002002 (Multi Surface)"
#> [153] "147: emodnet_open_maplibrary:fr003001 (Multi Surface)"
#> [154] "148: emodnet_open_maplibrary:fr003002 (Multi Surface)"
#> [155] "149: emodnet_open_maplibrary:fr003003 (Multi Surface)"
#> [156] "150: emodnet_open_maplibrary:fr003004 (Multi Surface)"
#> [157] "151: emodnet_open_maplibrary:fr003005 (Multi Surface)"
#> [158] "152: emodnet_open_maplibrary:fr003006 (Multi Surface)"
#> [159] "153: emodnet_open_maplibrary:fr003007 (Multi Surface)"
#> [160] "154: emodnet_open_maplibrary:fr003008 (Multi Surface)"
#> [161] "155: emodnet_open_maplibrary:fr003009 (Multi Surface)"
#> [162] "156: emodnet_open_maplibrary:fr003010 (Multi Surface)"
#> [163] "157: emodnet_open_maplibrary:fr003011 (Multi Surface)"
#> [164] "158: emodnet_open_maplibrary:fr003012 (Multi Surface)"
#> [165] "159: emodnet_open_maplibrary:fr003013 (Multi Surface)"
#> [166] "160: emodnet_open_maplibrary:fr003014"
#> [167] "161: emodnet_open_maplibrary:fr003016 (Multi Surface)"
#> [168] "162: emodnet_open_maplibrary:fr003017 (Multi Surface)"
#> [169] "163: emodnet_open_maplibrary:fr003018"
#> [170] "164: emodnet_open_maplibrary:fr003019 (Multi Surface)"
#> [171] "165: emodnet_open_maplibrary:fr003020 (Multi Surface)"
#> [172] "166: emodnet_open_maplibrary:fr003021 (Multi Surface)"
#> [173] "167: emodnet_open_maplibrary:fr003022 (Multi Surface)"
#> [174] "168: emodnet_open_maplibrary:fr003023 (Multi Surface)"
#> [175] "169: emodnet_open_maplibrary:fr003025 (Multi Surface)"
#> [176] "170: emodnet_open_maplibrary:fr003027 (Multi Surface)"
#> [177] "171: emodnet_open_maplibrary:fr003028 (Multi Surface)"
#> [178] "172: emodnet_open_maplibrary:fr003029 (Multi Surface)"
#> [179] "173: emodnet_open_maplibrary:fr003030 (Multi Surface)"
#> [180] "174: emodnet_open_maplibrary:fr003031 (Multi Surface)"
#> [181] "175: emodnet_open_maplibrary:fr003032 (Multi Surface)"
#> [182] "176: emodnet_open_maplibrary:fr003033"
#> [183] "177: emodnet_open_maplibrary:fr003034 (Multi Surface)"
#> [184] "178: emodnet_open_maplibrary:fr003035 (Multi Surface)"
#> [185] "179: emodnet_open_maplibrary:fr003036 (Multi Surface)"
#> [186] "180: emodnet_open_maplibrary:fr003037 (Multi Surface)"
#> [187] "181: emodnet_open_maplibrary:fr003038 (Multi Surface)"
#> [188] "182: emodnet_open_maplibrary:fr003039 (Multi Surface)"
#> [189] "183: emodnet_open_maplibrary:fr003040 (Multi Surface)"
#> [190] "184: emodnet_open_maplibrary:fr003041 (Multi Surface)"
#> [191] "185: emodnet_open_maplibrary:fr003042 (Multi Surface)"
#> [192] "186: emodnet_open_maplibrary:fr003043 (Multi Surface)"
#> [193] "187: emodnet_open_maplibrary:fr003044 (Multi Surface)"
#> [194] "188: emodnet_open_maplibrary:fr003045 (Multi Surface)"
#> [195] "189: emodnet_open_maplibrary:fr003046 (Multi Surface)"
#> [196] "190: emodnet_open_maplibrary:fr003047 (Multi Surface)"
#> [197] "191: emodnet_open_maplibrary:fr003048 (Multi Surface)"
#> [198] "192: emodnet_open_maplibrary:fr003049 (Multi Surface)"
#> [199] "193: emodnet_open_maplibrary:fr003050 (Multi Surface)"
#> [200] "194: emodnet_open_maplibrary:fr003051 (Multi Surface)"
#> [201] "195: emodnet_open_maplibrary:fr003052 (Multi Surface)"
#> [202] "196: emodnet_open_maplibrary:fr003053 (Multi Surface)"
#> [203] "197: emodnet_open_maplibrary:fr003054 (Multi Surface)"
#> [204] "198: emodnet_open_maplibrary:fr003055 (Multi Surface)"
#> [205] "199: emodnet_open_maplibrary:fr003056 (Multi Surface)"
#> [206] "200: emodnet_open_maplibrary:fr003057 (Multi Surface)"
#> [207] "201: emodnet_open_maplibrary:fr003058 (Multi Surface)"
#> [208] "202: emodnet_open_maplibrary:fr003059 (Multi Surface)"
#> [209] "203: emodnet_open_maplibrary:fr003060 (Multi Surface)"
#> [210] "204: emodnet_open_maplibrary:fr003061 (Multi Surface)"
#> [211] "205: emodnet_open_maplibrary:fr003062 (Multi Surface)"
#> [212] "206: emodnet_open_maplibrary:fr003063"
#> [213] "207: emodnet_open_maplibrary:fr003064 (Multi Surface)"
#> [214] "208: emodnet_open_maplibrary:fr003065 (Multi Surface)"
#> [215] "209: emodnet_open_maplibrary:fr003066 (Multi Surface)"
#> [216] "210: emodnet_open_maplibrary:fr003067 (Multi Surface)"
#> [217] "211: emodnet_open_maplibrary:fr003068 (Multi Surface)"
#> [218] "212: emodnet_open_maplibrary:fr003069"
#> [219] "213: emodnet_open_maplibrary:fr003070 (Multi Surface)"
#> [220] "214: emodnet_open_maplibrary:fr003071 (Multi Surface)"
#> [221] "215: emodnet_open_maplibrary:fr003072"
#> [222] "216: emodnet_open_maplibrary:fr003073 (Multi Surface)"
#> [223] "217: emodnet_open_maplibrary:fr003074 (Multi Surface)"
#> [224] "218: emodnet_open_maplibrary:fr003075"
#> [225] "219: emodnet_open_maplibrary:fr003076 (Multi Surface)"
#> [226] "220: emodnet_open_maplibrary:fr003077 (Multi Surface)"
#> [227] "221: emodnet_open_maplibrary:fr003078"
#> [228] "222: emodnet_open_maplibrary:fr003079 (Multi Surface)"
#> [229] "223: emodnet_open_maplibrary:fr003080 (Multi Surface)"
#> [230] "224: emodnet_open_maplibrary:fr003081"
#> [231] "225: emodnet_open_maplibrary:gb000039 (Multi Surface)"
#> [232] "226: emodnet_open_maplibrary:gb000215 (Multi Surface)"
#> [233] "227: emodnet_open_maplibrary:gb000217 (Multi Surface)"
#> [234] "228: emodnet_open_maplibrary:gb000223 (Multi Surface)"
#> [235] "229: emodnet_open_maplibrary:gb000225 (Multi Surface)"
#> [236] "230: emodnet_open_maplibrary:gb000226 (Multi Surface)"
#> [237] "231: emodnet_open_maplibrary:gb000227 (Multi Surface)"
#> [238] "232: emodnet_open_maplibrary:gb000228 (Multi Surface)"
#> [239] "233: emodnet_open_maplibrary:gb000229 (Multi Surface)"
#> [240] "234: emodnet_open_maplibrary:gb000230 (Multi Surface)"
#> [241] "235: emodnet_open_maplibrary:gb000231 (Multi Surface)"
#> [242] "236: emodnet_open_maplibrary:gb000232 (Multi Surface)"
#> [243] "237: emodnet_open_maplibrary:gb000233 (Multi Surface)"
#> [244] "238: emodnet_open_maplibrary:gb000234 (Multi Surface)"
#> [245] "239: emodnet_open_maplibrary:gb000235 (Multi Surface)"
#> [246] "240: emodnet_open_maplibrary:gb000236 (Multi Surface)"
#> [247] "241: emodnet_open_maplibrary:gb000239 (Multi Surface)"
#> [248] "242: emodnet_open_maplibrary:gb000240 (Multi Surface)"
#> [249] "243: emodnet_open_maplibrary:gb000243 (Multi Surface)"
#> [250] "244: emodnet_open_maplibrary:gb000244 (Multi Surface)"
#> [251] "245: emodnet_open_maplibrary:gb000245 (Multi Surface)"
#> [252] "246: emodnet_open_maplibrary:gb000247 (Multi Surface)"
#> [253] "247: emodnet_open_maplibrary:gb000248 (Multi Surface)"
#> [254] "248: emodnet_open_maplibrary:gb000249 (Multi Surface)"
#> [255] "249: emodnet_open_maplibrary:gb000253 (Multi Surface)"
#> [256] "250: emodnet_open_maplibrary:gb000258 (Multi Surface)"
#> [257] "251: emodnet_open_maplibrary:gb000259 (Multi Surface)"
#> [258] "252: emodnet_open_maplibrary:gb000263 (Multi Surface)"
#> [259] "253: emodnet_open_maplibrary:gb000267"
#> [260] "254: emodnet_open_maplibrary:gb000268 (Multi Surface)"
#> [261] "255: emodnet_open_maplibrary:gb000272 (Multi Surface)"
#> [262] "256: emodnet_open_maplibrary:gb000273 (Multi Surface)"
#> [263] "257: emodnet_open_maplibrary:gb000277 (Multi Surface)"
#> [264] "258: emodnet_open_maplibrary:gb000278 (Multi Surface)"
#> [265] "259: emodnet_open_maplibrary:gb000279 (Multi Surface)"
#> [266] "260: emodnet_open_maplibrary:gb000281 (Multi Surface)"
#> [267] "261: emodnet_open_maplibrary:gb000282 (Multi Surface)"
#> [268] "262: emodnet_open_maplibrary:gb000283 (Multi Surface)"
#> [269] "263: emodnet_open_maplibrary:gb000284 (Multi Surface)"
#> [270] "264: emodnet_open_maplibrary:gb000285 (Multi Surface)"
#> [271] "265: emodnet_open_maplibrary:gb000286 (Multi Surface)"
#> [272] "266: emodnet_open_maplibrary:gb000287 (Multi Surface)"
#> [273] "267: emodnet_open_maplibrary:gb000288 (Multi Surface)"
#> [274] "268: emodnet_open_maplibrary:gb000289 (Multi Surface)"
#> [275] "269: emodnet_open_maplibrary:gb000290 (Multi Surface)"
#> [276] "270: emodnet_open_maplibrary:gb000291 (Multi Surface)"
#> [277] "271: emodnet_open_maplibrary:gb000292 (Multi Surface)"
#> [278] "272: emodnet_open_maplibrary:gb000293 (Multi Surface)"
#> [279] "273: emodnet_open_maplibrary:gb000294 (Multi Surface)"
#> [280] "274: emodnet_open_maplibrary:gb000295 (Multi Surface)"
#> [281] "275: emodnet_open_maplibrary:gb000296 (Multi Surface)"
#> [282] "276: emodnet_open_maplibrary:gb000297 (Multi Surface)"
#> [283] "277: emodnet_open_maplibrary:gb000298 (Multi Surface)"
#> [284] "278: emodnet_open_maplibrary:gb000299 (Multi Surface)"
#> [285] "279: emodnet_open_maplibrary:gb000300 (Multi Surface)"
#> [286] "280: emodnet_open_maplibrary:gb000301 (Multi Surface)"
#> [287] "281: emodnet_open_maplibrary:gb000302 (Multi Surface)"
#> [288] "282: emodnet_open_maplibrary:gb000303 (Multi Surface)"
#> [289] "283: emodnet_open_maplibrary:gb000304 (Multi Surface)"
#> [290] "284: emodnet_open_maplibrary:gb000305 (Multi Surface)"
#> [291] "285: emodnet_open_maplibrary:gb000306 (Multi Surface)"
#> [292] "286: emodnet_open_maplibrary:gb000307 (Multi Surface)"
#> [293] "287: emodnet_open_maplibrary:gb000308 (Multi Surface)"
#> [294] "288: emodnet_open_maplibrary:gb000309 (Multi Surface)"
#> [295] "289: emodnet_open_maplibrary:gb000310 (Multi Surface)"
#> [296] "290: emodnet_open_maplibrary:gb000311 (Multi Surface)"
#> [297] "291: emodnet_open_maplibrary:gb000312 (Multi Surface)"
#> [298] "292: emodnet_open_maplibrary:gb000313 (Multi Surface)"
#> [299] "293: emodnet_open_maplibrary:gb000314 (Multi Surface)"
#> [300] "294: emodnet_open_maplibrary:gb000315 (Multi Surface)"
#> [301] "295: emodnet_open_maplibrary:gb000316 (Multi Surface)"
#> [302] "296: emodnet_open_maplibrary:gb000317 (Multi Surface)"
#> [303] "297: emodnet_open_maplibrary:gb000319 (Multi Surface)"
#> [304] "298: emodnet_open_maplibrary:gb000326 (Multi Surface)"
#> [305] "299: emodnet_open_maplibrary:gb000329 (Multi Surface)"
#> [306] "300: emodnet_open_maplibrary:gb000331 (Multi Surface)"
#> [307] "301: emodnet_open_maplibrary:gb000332 (Multi Surface)"
#> [308] "302: emodnet_open_maplibrary:gb000333 (Multi Surface)"
#> [309] "303: emodnet_open_maplibrary:gb000334 (Multi Surface)"
#> [310] "304: emodnet_open_maplibrary:gb000335 (Multi Surface)"
#> [311] "305: emodnet_open_maplibrary:gb000336 (Multi Surface)"
#> [312] "306: emodnet_open_maplibrary:gb000337 (Multi Surface)"
#> [313] "307: emodnet_open_maplibrary:gb000338 (Multi Surface)"
#> [314] "308: emodnet_open_maplibrary:gb000356 (Multi Surface)"
#> [315] "309: emodnet_open_maplibrary:gb000357 (Multi Surface)"
#> [316] "310: emodnet_open_maplibrary:gb000358 (Multi Surface)"
#> [317] "311: emodnet_open_maplibrary:gb000359 (Multi Surface)"
#> [318] "312: emodnet_open_maplibrary:gb000360 (Multi Surface)"
#> [319] "313: emodnet_open_maplibrary:gb000361 (Multi Surface)"
#> [320] "314: emodnet_open_maplibrary:gb000363 (Multi Surface)"
#> [321] "315: emodnet_open_maplibrary:gb000364 (Multi Surface)"
#> [322] "316: emodnet_open_maplibrary:gb000365 (Multi Surface)"
#> [323] "317: emodnet_open_maplibrary:gb000367 (Multi Surface)"
#> [324] "318: emodnet_open_maplibrary:gb000369 (Multi Surface)"
#> [325] "319: emodnet_open_maplibrary:gb000371 (Multi Surface)"
#> [326] "320: emodnet_open_maplibrary:gb000372 (Multi Surface)"
#> [327] "321: emodnet_open_maplibrary:gb000374 (Multi Surface)"
#> [328] "322: emodnet_open_maplibrary:gb000375 (Multi Surface)"
#> [329] "323: emodnet_open_maplibrary:gb000376 (Multi Surface)"
#> [330] "324: emodnet_open_maplibrary:gb000377 (Multi Surface)"
#> [331] "325: emodnet_open_maplibrary:gb000423 (Multi Surface)"
#> [332] "326: emodnet_open_maplibrary:gb000443 (Multi Surface)"
#> [333] "327: emodnet_open_maplibrary:gb000455 (Multi Surface)"
#> [334] "328: emodnet_open_maplibrary:gb000456 (Multi Surface)"
#> [335] "329: emodnet_open_maplibrary:gb000457 (Multi Surface)"
#> [336] "330: emodnet_open_maplibrary:gb000470 (Multi Surface)"
#> [337] "331: emodnet_open_maplibrary:gb000471 (Multi Surface)"
#> [338] "332: emodnet_open_maplibrary:gb000472"
#> [339] "333: emodnet_open_maplibrary:gb000484 (Multi Surface)"
#> [340] "334: emodnet_open_maplibrary:gb000487 (Multi Surface)"
#> [341] "335: emodnet_open_maplibrary:gb000498 (Multi Surface)"
#> [342] "336: emodnet_open_maplibrary:gb000579 (Multi Surface)"
#> [343] "337: emodnet_open_maplibrary:gb000588 (Multi Surface)"
#> [344] "338: emodnet_open_maplibrary:gb000646 (Multi Surface)"
#> [345] "339: emodnet_open_maplibrary:gb000653 (Multi Surface)"
#> [346] "340: emodnet_open_maplibrary:gb000654 (Multi Surface)"
#> [347] "341: emodnet_open_maplibrary:gb000655 (Multi Surface)"
#> [348] "342: emodnet_open_maplibrary:gb000662 (Multi Surface)"
#> [349] "343: emodnet_open_maplibrary:gb000681 (Multi Surface)"
#> [350] "344: emodnet_open_maplibrary:gb000699 (Multi Surface)"
#> [351] "345: emodnet_open_maplibrary:gb000864 (Multi Surface)"
#> [352] "346: emodnet_open_maplibrary:gb000923 (Multi Surface)"
#> [353] "347: emodnet_open_maplibrary:gb000942 (Multi Surface)"
#> [354] "348: emodnet_open_maplibrary:gb000943 (Multi Surface)"
#> [355] "349: emodnet_open_maplibrary:gb000945 (Multi Surface)"
#> [356] "350: emodnet_open_maplibrary:gb000946 (Multi Surface)"
#> [357] "351: emodnet_open_maplibrary:gb000954 (Multi Surface)"
#> [358] "352: emodnet_open_maplibrary:gb000955 (Multi Surface)"
#> [359] "353: emodnet_open_maplibrary:gb000956 (Multi Surface)"
#> [360] "354: emodnet_open_maplibrary:gb000971 (Multi Surface)"
#> [361] "355: emodnet_open_maplibrary:gb000978 (Multi Surface)"
#> [362] "356: emodnet_open_maplibrary:gb000979 (Multi Surface)"
#> [363] "357: emodnet_open_maplibrary:gb000980 (Multi Surface)"
#> [364] "358: emodnet_open_maplibrary:gb001038 (Multi Surface)"
#> [365] "359: emodnet_open_maplibrary:gb001055 (Multi Surface)"
#> [366] "360: emodnet_open_maplibrary:gb001058 (Multi Surface)"
#> [367] "361: emodnet_open_maplibrary:gb001068 (Multi Surface)"
#> [368] "362: emodnet_open_maplibrary:gb001069 (Multi Surface)"
#> [369] "363: emodnet_open_maplibrary:gb001070 (Multi Surface)"
#> [370] "364: emodnet_open_maplibrary:gb001071 (Multi Surface)"
#> [371] "365: emodnet_open_maplibrary:gb001072 (Multi Surface)"
#> [372] "366: emodnet_open_maplibrary:gb001082 (Multi Surface)"
#> [373] "367: emodnet_open_maplibrary:gb001084 (Multi Surface)"
#> [374] "368: emodnet_open_maplibrary:gb001089 (Multi Surface)"
#> [375] "369: emodnet_open_maplibrary:gb001090 (Multi Surface)"
#> [376] "370: emodnet_open_maplibrary:gb001091 (Multi Surface)"
#> [377] "371: emodnet_open_maplibrary:gb001092 (Multi Surface)"
#> [378] "372: emodnet_open_maplibrary:gb001094 (Multi Surface)"
#> [379] "373: emodnet_open_maplibrary:gb001102 (Multi Surface)"
#> [380] "374: emodnet_open_maplibrary:gb001103 (Multi Surface)"
#> [381] "375: emodnet_open_maplibrary:gb001104 (Multi Surface)"
#> [382] "376: emodnet_open_maplibrary:gb001106 (Multi Surface)"
#> [383] "377: emodnet_open_maplibrary:gb001110 (Multi Surface)"
#> [384] "378: emodnet_open_maplibrary:gb001113 (Multi Surface)"
#> [385] "379: emodnet_open_maplibrary:gb001115 (Multi Surface)"
#> [386] "380: emodnet_open_maplibrary:gb001117 (Multi Surface)"
#> [387] "381: emodnet_open_maplibrary:gb001118 (Multi Surface)"
#> [388] "382: emodnet_open_maplibrary:gb001120 (Multi Surface)"
#> [389] "383: emodnet_open_maplibrary:gb001122 (Multi Surface)"
#> [390] "384: emodnet_open_maplibrary:gb001126 (Multi Surface)"
#> [391] "385: emodnet_open_maplibrary:gb001128 (Multi Surface)"
#> [392] "386: emodnet_open_maplibrary:gb001132 (Multi Surface)"
#> [393] "387: emodnet_open_maplibrary:gb001133 (Multi Surface)"
#> [394] "388: emodnet_open_maplibrary:gb001134 (Multi Surface)"
#> [395] "389: emodnet_open_maplibrary:gb001142 (Multi Surface)"
#> [396] "390: emodnet_open_maplibrary:gb001144 (Multi Surface)"
#> [397] "391: emodnet_open_maplibrary:gb001214 (Multi Surface)"
#> [398] "392: emodnet_open_maplibrary:gb001218 (Multi Surface)"
#> [399] "393: emodnet_open_maplibrary:gb001222 (Multi Surface)"
#> [400] "394: emodnet_open_maplibrary:gb001224 (Multi Surface)"
#> [401] "395: emodnet_open_maplibrary:gb001226 (Multi Surface)"
#> [402] "396: emodnet_open_maplibrary:gb001232 (Multi Surface)"
#> [403] "397: emodnet_open_maplibrary:gb001242 (Multi Surface)"
#> [404] "398: emodnet_open_maplibrary:gb001245 (Multi Surface)"
#> [405] "399: emodnet_open_maplibrary:gb001248 (Multi Surface)"
#> [406] "400: emodnet_open_maplibrary:gb001251 (Multi Surface)"
#> [407] "401: emodnet_open_maplibrary:gb001260 (Multi Surface)"
#> [408] "402: emodnet_open_maplibrary:gb001261 (Multi Surface)"
#> [409] "403: emodnet_open_maplibrary:gb001300 (Multi Surface)"
#> [410] "404: emodnet_open_maplibrary:gb001312 (Multi Surface)"
#> [411] "405: emodnet_open_maplibrary:gb001314 (Multi Surface)"
#> [412] "406: emodnet_open_maplibrary:gb001316 (Multi Surface)"
#> [413] "407: emodnet_open_maplibrary:gb001327 (Multi Surface)"
#> [414] "408: emodnet_open_maplibrary:gb001333 (Multi Surface)"
#> [415] "409: emodnet_open_maplibrary:gb001336 (Multi Surface)"
#> [416] "410: emodnet_open_maplibrary:gb001494 (Multi Surface)"
#> [417] "411: emodnet_open_maplibrary:gb001499 (Multi Surface)"
#> [418] "412: emodnet_open_maplibrary:gb001503 (Multi Surface)"
#> [419] "413: emodnet_open_maplibrary:gb001505 (Multi Surface)"
#> [420] "414: emodnet_open_maplibrary:gb001507 (Multi Surface)"
#> [421] "415: emodnet_open_maplibrary:gb001509 (Multi Surface)"
#> [422] "416: emodnet_open_maplibrary:gb001512 (Multi Surface)"
#> [423] "417: emodnet_open_maplibrary:gb001514 (Multi Surface)"
#> [424] "418: emodnet_open_maplibrary:gb001518 (Multi Surface)"
#> [425] "419: emodnet_open_maplibrary:gb001520 (Multi Surface)"
#> [426] "420: emodnet_open_maplibrary:gb001522 (Multi Surface)"
#> [427] "421: emodnet_open_maplibrary:gb001524 (Multi Surface)"
#> [428] "422: emodnet_open_maplibrary:gb001528 (Multi Surface)"
#> [429] "423: emodnet_open_maplibrary:gb001530 (Multi Surface)"
#> [430] "424: emodnet_open_maplibrary:gb001532 (Multi Surface)"
#> [431] "425: emodnet_open_maplibrary:gb001536 (Multi Surface)"
#> [432] "426: emodnet_open_maplibrary:gb001544 (Multi Surface)"
#> [433] "427: emodnet_open_maplibrary:gb001546 (Multi Surface)"
#> [434] "428: emodnet_open_maplibrary:gb001552 (Multi Surface)"
#> [435] "429: emodnet_open_maplibrary:gb003001 (Multi Surface)"
#> [436] "430: emodnet_open_maplibrary:gb003002 (Multi Surface)"
#> [437] "431: emodnet_open_maplibrary:gb003003 (Multi Surface)"
#> [438] "432: emodnet_open_maplibrary:gb003006 (Multi Surface)"
#> [439] "433: emodnet_open_maplibrary:gb003008 (Multi Surface)"
#> [440] "434: emodnet_open_maplibrary:gb003010 (Multi Surface)"
#> [441] "435: emodnet_open_maplibrary:gb003012 (Multi Surface)"
#> [442] "436: emodnet_open_maplibrary:gb003019 (Multi Surface)"
#> [443] "437: emodnet_open_maplibrary:gb003020 (Multi Surface)"
#> [444] "438: emodnet_open_maplibrary:gb003021 (Multi Surface)"
#> [445] "439: emodnet_open_maplibrary:gb003026 (Multi Surface)"
#> [446] "440: emodnet_open_maplibrary:gb100001 (Multi Surface)"
#> [447] "441: emodnet_open_maplibrary:gb100002 (Multi Surface)"
#> [448] "442: emodnet_open_maplibrary:gb100003 (Multi Surface)"
#> [449] "443: emodnet_open_maplibrary:gb100004 (Multi Surface)"
#> [450] "444: emodnet_open_maplibrary:gb100005 (Multi Surface)"
#> [451] "445: emodnet_open_maplibrary:gb100011 (Multi Surface)"
#> [452] "446: emodnet_open_maplibrary:gb100013 (Multi Surface)"
#> [453] "447: emodnet_open_maplibrary:gb100014 (Multi Surface)"
#> [454] "448: emodnet_open_maplibrary:gb100016 (Multi Surface)"
#> [455] "449: emodnet_open_maplibrary:gb100018 (Multi Surface)"
#> [456] "450: emodnet_open_maplibrary:gb100019 (Multi Surface)"
#> [457] "451: emodnet_open_maplibrary:gb100020 (Multi Surface)"
#> [458] "452: emodnet_open_maplibrary:gb100021 (Multi Surface)"
#> [459] "453: emodnet_open_maplibrary:gb100022 (Multi Surface)"
#> [460] "454: emodnet_open_maplibrary:gb100023 (Multi Surface)"
#> [461] "455: emodnet_open_maplibrary:gb100024 (Multi Surface)"
#> [462] "456: emodnet_open_maplibrary:gb100026 (Multi Surface)"
#> [463] "457: emodnet_open_maplibrary:gb100029 (Multi Surface)"
#> [464] "458: emodnet_open_maplibrary:gb100030 (Multi Surface)"
#> [465] "459: emodnet_open_maplibrary:gb100031 (Multi Surface)"
#> [466] "460: emodnet_open_maplibrary:gb100033 (Multi Surface)"
#> [467] "461: emodnet_open_maplibrary:gb100034 (Multi Surface)"
#> [468] "462: emodnet_open_maplibrary:gb100035 (Multi Surface)"
#> [469] "463: emodnet_open_maplibrary:gb100036 (Multi Surface)"
#> [470] "464: emodnet_open_maplibrary:gb100039 (Multi Surface)"
#> [471] "465: emodnet_open_maplibrary:gb100042 (Multi Surface)"
#> [472] "466: emodnet_open_maplibrary:gb100045 (Multi Surface)"
#> [473] "467: emodnet_open_maplibrary:gb100046 (Multi Surface)"
#> [474] "468: emodnet_open_maplibrary:gb100053 (Multi Surface)"
#> [475] "469: emodnet_open_maplibrary:gb100054 (Multi Surface)"
#> [476] "470: emodnet_open_maplibrary:gb100055 (Multi Surface)"
#> [477] "471: emodnet_open_maplibrary:gb100056 (Multi Surface)"
#> [478] "472: emodnet_open_maplibrary:gb100063 (Multi Surface)"
#> [479] "473: emodnet_open_maplibrary:gb100065 (Multi Surface)"
#> [480] "474: emodnet_open_maplibrary:gb100068 (Multi Surface)"
#> [481] "475: emodnet_open_maplibrary:gb100069 (Multi Surface)"
#> [482] "476: emodnet_open_maplibrary:gb100072 (Multi Surface)"
#> [483] "477: emodnet_open_maplibrary:gb100074 (Multi Surface)"
#> [484] "478: emodnet_open_maplibrary:gb100075 (Multi Surface)"
#> [485] "479: emodnet_open_maplibrary:gb100078 (Multi Surface)"
#> [486] "480: emodnet_open_maplibrary:gb100083 (Multi Surface)"
#> [487] "481: emodnet_open_maplibrary:gb100085 (Multi Surface)"
#> [488] "482: emodnet_open_maplibrary:gb100088 (Multi Surface)"
#> [489] "483: emodnet_open_maplibrary:gb100093 (Multi Surface)"
#> [490] "484: emodnet_open_maplibrary:gb100094 (Multi Surface)"
#> [491] "485: emodnet_open_maplibrary:gb100100 (Multi Surface)"
#> [492] "486: emodnet_open_maplibrary:gb100101 (Multi Surface)"
#> [493] "487: emodnet_open_maplibrary:gb100102 (Multi Surface)"
#> [494] "488: emodnet_open_maplibrary:gb100111 (Multi Surface)"
#> [495] "489: emodnet_open_maplibrary:gb100200 (Multi Surface)"
#> [496] "490: emodnet_open_maplibrary:gb100201 (Multi Surface)"
#> [497] "491: emodnet_open_maplibrary:gb100202 (Multi Surface)"
#> [498] "492: emodnet_open_maplibrary:gb100203 (Multi Surface)"
#> [499] "493: emodnet_open_maplibrary:gb100204 (Multi Surface)"
#> [500] "494: emodnet_open_maplibrary:gb100205 (Multi Surface)"
#> [501] "495: emodnet_open_maplibrary:gb100206 (Multi Surface)"
#> [502] "496: emodnet_open_maplibrary:gb100207 (Multi Surface)"
#> [503] "497: emodnet_open_maplibrary:gb100208 (Multi Surface)"
#> [504] "498: emodnet_open_maplibrary:gb100209 (Multi Surface)"
#> [505] "499: emodnet_open_maplibrary:gb100210 (Multi Surface)"
#> [506] "500: emodnet_open_maplibrary:gb100211 (Multi Surface)"
#> [507] "501: emodnet_open_maplibrary:gb100213 (Multi Surface)"
#> [508] "502: emodnet_open_maplibrary:gb100214 (Multi Surface)"
#> [509] "503: emodnet_open_maplibrary:gb100215 (Multi Surface)"
#> [510] "504: emodnet_open_maplibrary:gb100381 (Multi Surface)"
#> [511] "505: emodnet_open_maplibrary:gb200001 (Multi Surface)"
#> [512] "506: emodnet_open_maplibrary:gb200013 (Multi Surface)"
#> [513] "507: emodnet_open_maplibrary:gb200015 (Multi Surface)"
#> [514] "508: emodnet_open_maplibrary:gb200016 (Multi Surface)"
#> [515] "509: emodnet_open_maplibrary:gb200053 (Multi Surface)"
#> [516] "510: emodnet_open_maplibrary:gb200054 (Multi Surface)"
#> [517] "511: emodnet_open_maplibrary:gb200057 (Multi Surface)"
#> [518] "512: emodnet_open_maplibrary:gb300026 (Multi Surface)"
#> [519] "513: emodnet_open_maplibrary:gb400003 (Multi Surface)"
#> [520] "514: emodnet_open_maplibrary:gb400006 (Multi Surface)"
#> [521] "515: emodnet_open_maplibrary:gb400007 (Multi Surface)"
#> [522] "516: emodnet_open_maplibrary:gb400008 (Multi Surface)"
#> [523] "517: emodnet_open_maplibrary:gb400009 (Multi Surface)"
#> [524] "518: emodnet_open_maplibrary:ie000009 (Multi Surface)"
#> [525] "519: emodnet_open_maplibrary:ie000010 (Multi Surface)"
#> [526] "520: emodnet_open_maplibrary:ie000113 (Multi Surface)"
#> [527] "521: emodnet_open_maplibrary:ie000114 (Multi Surface)"
#> [528] "522: emodnet_open_maplibrary:ie000115 (Multi Surface)"
#> [529] "523: emodnet_open_maplibrary:ie000116 (Multi Surface)"
#> [530] "524: emodnet_open_maplibrary:ie000117 (Multi Surface)"
#> [531] "525: emodnet_open_maplibrary:ie000118 (Multi Surface)"
#> [532] "526: emodnet_open_maplibrary:ie000948 (Multi Surface)"
#> [533] "527: emodnet_open_maplibrary:ie000979 (Multi Surface)"
#> [534] "528: emodnet_open_maplibrary:ie000980 (Multi Surface)"
#> [535] "529: emodnet_open_maplibrary:ie000981 (Multi Surface)"
#> [536] "530: emodnet_open_maplibrary:ie001000 (Multi Surface)"
#> [537] "531: emodnet_open_maplibrary:ie001001 (Multi Surface)"
#> [538] "532: emodnet_open_maplibrary:ie001002 (Multi Surface)"
#> [539] "533: emodnet_open_maplibrary:ie001003 (Multi Surface)"
#> [540] "534: emodnet_open_maplibrary:ie001004 (Multi Surface)"
#> [541] "535: emodnet_open_maplibrary:ie001005 (Multi Surface)"
#> [542] "536: emodnet_open_maplibrary:ie001006 (Multi Surface)"
#> [543] "537: emodnet_open_maplibrary:ie001007 (Multi Surface)"
#> [544] "538: emodnet_open_maplibrary:ie001008 (Multi Surface)"
#> [545] "539: emodnet_open_maplibrary:ie001009 (Multi Surface)"
#> [546] "540: emodnet_open_maplibrary:ie001010 (Multi Surface)"
#> [547] "541: emodnet_open_maplibrary:ie001011 (Multi Surface)"
#> [548] "542: emodnet_open_maplibrary:ie001012 (Multi Surface)"
#> [549] "543: emodnet_open_maplibrary:ie001013 (Multi Surface)"
#> [550] "544: emodnet_open_maplibrary:ie001014 (Multi Surface)"
#> [551] "545: emodnet_open_maplibrary:ie001015 (Multi Surface)"
#> [552] "546: emodnet_open_maplibrary:ie001016 (Multi Surface)"
#> [553] "547: emodnet_open_maplibrary:ie001017 (Multi Surface)"
#> [554] "548: emodnet_open_maplibrary:ie003001 (Multi Surface)"
#> [555] "549: emodnet_open_maplibrary:ie003002 (Multi Surface)"
#> [556] "550: emodnet_open_maplibrary:ie003003 (Multi Surface)"
#> [557] "551: emodnet_open_maplibrary:ie003004 (Multi Surface)"
#> [558] "552: emodnet_open_maplibrary:ie003005 (Multi Surface)"
#> [559] "553: emodnet_open_maplibrary:ie003006 (Multi Surface)"
#> [560] "554: emodnet_open_maplibrary:ie003007 (Multi Surface)"
#> [561] "555: emodnet_open_maplibrary:ie003008 (Multi Surface)"
#> [562] "556: emodnet_open_maplibrary:ie003009 (Multi Surface)"
#> [563] "557: emodnet_open_maplibrary:ie003010 (Multi Surface)"
#> [564] "558: emodnet_open_maplibrary:ie003011 (Multi Surface)"
#> [565] "559: emodnet_open_maplibrary:ie003012 (Multi Surface)"
#> [566] "560: emodnet_open_maplibrary:ie003013 (Multi Surface)"
#> [567] "561: emodnet_open_maplibrary:ie003014 (Multi Surface)"
#> [568] "562: emodnet_open_maplibrary:ie003015 (Multi Surface)"
#> [569] "563: emodnet_open_maplibrary:ie003016 (Multi Surface)"
#> [570] "564: emodnet_open_maplibrary:ie003017 (Multi Surface)"
#> [571] "565: emodnet_open_maplibrary:ie003018 (Multi Surface)"
#> [572] "566: emodnet_open_maplibrary:ie003019 (Multi Surface)"
#> [573] "567: emodnet_open_maplibrary:ie003020 (Multi Surface)"
#> [574] "568: emodnet_open_maplibrary:ie003021 (Multi Surface)"
#> [575] "569: emodnet_open_maplibrary:ie003022 (Multi Surface)"
#> [576] "570: emodnet_open_maplibrary:ie003023 (Multi Surface)"
#> [577] "571: emodnet_open_maplibrary:ie003024 (Multi Surface)"
#> [578] "572: emodnet_open_maplibrary:ie003025 (Multi Surface)"
#> [579] "573: emodnet_open_maplibrary:ie003026 (Multi Surface)"
#> [580] "574: emodnet_open_maplibrary:ie003027 (Multi Surface)"
#> [581] "575: emodnet_open_maplibrary:ie003028 (Multi Surface)"
#> [582] "576: emodnet_open_maplibrary:ie003029 (Multi Surface)"
#> [583] "577: emodnet_open_maplibrary:ie003030 (Multi Surface)"
#> [584] "578: emodnet_open_maplibrary:ie003031 (Multi Surface)"
#> [585] "579: emodnet_open_maplibrary:ie003032 (Multi Surface)"
#> [586] "580: emodnet_open_maplibrary:ie003033 (Multi Surface)"
#> [587] "581: emodnet_open_maplibrary:ie003034 (Multi Surface)"
#> [588] "582: emodnet_open_maplibrary:ie003035 (Multi Surface)"
#> [589] "583: emodnet_open_maplibrary:ie003036 (Multi Surface)"
#> [590] "584: emodnet_open_maplibrary:ie003037 (Multi Surface)"
#> [591] "585: emodnet_open_maplibrary:ie003038 (Multi Surface)"
#> [592] "586: emodnet_open_maplibrary:ie003039 (Multi Surface)"
#> [593] "587: emodnet_open_maplibrary:ie003040 (Multi Surface)"
#> [594] "588: emodnet_open_maplibrary:ie003041 (Multi Surface)"
#> [595] "589: emodnet_open_maplibrary:ie003042 (Multi Surface)"
#> [596] "590: emodnet_open_maplibrary:ie003043 (Multi Surface)"
#> [597] "591: emodnet_open_maplibrary:ie003044 (Multi Surface)"
#> [598] "592: emodnet_open_maplibrary:ie003045 (Multi Surface)"
#> [599] "593: emodnet_open_maplibrary:ie003046 (Multi Surface)"
#> [600] "594: emodnet_open_maplibrary:ie003047 (Multi Surface)"
#> [601] "595: emodnet_open_maplibrary:ie003048 (Multi Surface)"
#> [602] "596: emodnet_open_maplibrary:ie003049 (Multi Surface)"
#> [603] "597: emodnet_open_maplibrary:ie003050 (Multi Surface)"
#> [604] "598: emodnet_open_maplibrary:ie003051 (Multi Surface)"
#> [605] "599: emodnet_open_maplibrary:ie003052 (Multi Surface)"
#> [606] "600: emodnet_open_maplibrary:ie003053 (Multi Surface)"
#> [607] "601: emodnet_open_maplibrary:ie003054 (Multi Surface)"
#> [608] "602: emodnet_open_maplibrary:ie003055 (Multi Surface)"
#> [609] "603: emodnet_open_maplibrary:ie003056 (Multi Surface)"
#> [610] "604: emodnet_open_maplibrary:ie003057 (Multi Surface)"
#> [611] "605: emodnet_open_maplibrary:ie003058 (Multi Surface)"
#> [612] "606: emodnet_open_maplibrary:ie003059 (Multi Surface)"
#> [613] "607: emodnet_open_maplibrary:ie003060 (Multi Surface)"
#> [614] "608: emodnet_open_maplibrary:ie003061 (Multi Surface)"
#> [615] "609: emodnet_open_maplibrary:ie003062 (Multi Surface)"
#> [616] "610: emodnet_open_maplibrary:ie003063 (Multi Surface)"
#> [617] "611: emodnet_open_maplibrary:ie003064 (Multi Surface)"
#> [618] "612: emodnet_open_maplibrary:ie003065 (Multi Surface)"
#> [619] "613: emodnet_open_maplibrary:ie003066 (Multi Surface)"
#> [620] "614: emodnet_open_maplibrary:ie003067 (Multi Surface)"
#> [621] "615: emodnet_open_maplibrary:ie003068 (Multi Surface)"
#> [622] "616: emodnet_open_maplibrary:ie003069 (Multi Surface)"
#> [623] "617: emodnet_open_maplibrary:ie003070 (Multi Surface)"
#> [624] "618: emodnet_open_maplibrary:ie003071 (Multi Surface)"
#> [625] "619: emodnet_open_maplibrary:ie003072 (Multi Surface)"
#> [626] "620: emodnet_open_maplibrary:ie003073 (Multi Surface)"
#> [627] "621: emodnet_open_maplibrary:ie003074 (Multi Surface)"
#> [628] "622: emodnet_open_maplibrary:ie003075 (Multi Surface)"
#> [629] "623: emodnet_open_maplibrary:ie003076 (Multi Surface)"
#> [630] "624: emodnet_open_maplibrary:ie003077 (Multi Surface)"
#> [631] "625: emodnet_open_maplibrary:ie003078 (Multi Surface)"
#> [632] "626: emodnet_open_maplibrary:ie003079 (Multi Surface)"
#> [633] "627: emodnet_open_maplibrary:ie003080"
#> [634] "628: emodnet_open_maplibrary:ie003081"
#> [635] "629: emodnet_open_maplibrary:ie003083 (Multi Surface)"
#> [636] "630: emodnet_open_maplibrary:ie003084 (Multi Surface)"
#> [637] "631: emodnet_open_maplibrary:ie003085 (Multi Surface)"
#> [638] "632: emodnet_open_maplibrary:ie003086 (Multi Surface)"
#> [639] "633: emodnet_open_maplibrary:ie003087 (Multi Surface)"
#> [640] "634: emodnet_open_maplibrary:ie003088 (Multi Surface)"
#> [641] "635: emodnet_open_maplibrary:ie003089"
#> [642] "636: emodnet_open_maplibrary:ie003090"
#> [643] "637: emodnet_open_maplibrary:ie003091"
#> [644] "638: emodnet_open_maplibrary:ie003092"
#> [645] "639: emodnet_open_maplibrary:ie003093"
#> [646] "640: emodnet_open_maplibrary:ie003094"
#> [647] "641: emodnet_open_maplibrary:ie003095"
#> [648] "642: emodnet_open_maplibrary:it000001 (Multi Surface)"
#> [649] "643: emodnet_open_maplibrary:it003000 (Multi Surface)"
#> [650] "644: emodnet_open_maplibrary:it003001 (Multi Surface)"
#> [651] "645: emodnet_open_maplibrary:it003002 (Multi Surface)"
#> [652] "646: emodnet_open_maplibrary:it003003 (Multi Surface)"
#> [653] "647: emodnet_open_maplibrary:it003004 (Multi Surface)"
#> [654] "648: emodnet_open_maplibrary:it003005 (Multi Surface)"
#> [655] "649: emodnet_open_maplibrary:it003006 (Multi Surface)"
#> [656] "650: emodnet_open_maplibrary:it003007 (Multi Surface)"
#> [657] "651: emodnet_open_maplibrary:nl000046 (Multi Surface)"
#> [658] "652: emodnet_open_maplibrary:nl000102 (Multi Surface)"
#> [659] "653: emodnet_open_maplibrary:no003003"
#> [660] "654: emodnet_open_maplibrary:no003004"
#> [661] "655: emodnet_open_maplibrary:no003005"
#> [662] "656: emodnet_open_maplibrary:no003011"
#> [663] "657: emodnet_open_maplibrary:no003012"
#> [664] "658: emodnet_open_maplibrary:pt000001 (Multi Surface)"
#> [665] "659: emodnet_open_maplibrary:pt000002 (Multi Surface)"
#> [666] "660: emodnet_open_maplibrary:pt000003 (Multi Surface)"
#> [667] "661: emodnet_open_maplibrary:pt000004 (Multi Surface)"
#> [668] "662: emodnet_open_maplibrary:pt000005 (Multi Surface)"
#> [669] "663: emodnet_open_maplibrary:pt000009 (Multi Surface)"
#> [670] "664: emodnet_open_maplibrary:pt000010 (Multi Surface)"
#> [671] "665: emodnet_open_maplibrary:pt000011 (Multi Surface)"
#> [672] "666: emodnet_open_maplibrary:pt000012 (Multi Surface)"
#> [673] "667: emodnet_open_maplibrary:pt000014 (Multi Surface)"
#> [674] "668: emodnet_open_maplibrary:pt001002 (Multi Surface)"
#> [675] "669: emodnet_open_maplibrary:pt001007 (Multi Surface)"
#> [676] "670: emodnet_open_maplibrary:pt003015 (Multi Surface)"
#> [677] "671: emodnet_open_maplibrary:pt010000 (Multi Surface)"
#> [678] "672: emodnet_open_maplibrary:pt010001 (Multi Surface)"
#> [679] "673: emodnet_open_maplibrary:pt100000 (Multi Surface)"
#> [680] "674: emodnet_open_maplibrary:pt100001 (Multi Surface)"
#> [681] "675: emodnet_open_maplibrary:pt100002 (Multi Surface)"
#> [682] "676: emodnet_open_maplibrary:pt100003 (Multi Surface)"
#> [683] "677: emodnet_open_maplibrary:pt100004 (Multi Surface)"
#> [684] "678: emodnet_open_maplibrary:pt100005 (Multi Surface)"
#> [685] "679: emodnet_open_maplibrary:pt100006 (Multi Surface)"
#> [686] "680: emodnet_open_maplibrary:pt100007 (Multi Surface)"
#> [687] "681: emodnet_open_maplibrary:pt100008 (Multi Surface)"
#> [688] "682: emodnet_open_maplibrary:pt100009 (Multi Surface)"
#> [689] "683: emodnet_open_maplibrary:sp003002"
#> [690] "684: emodnet_open_maplibrary:sp003004"
#> [691] "685: emodnet_open_maplibrary:sp003005"
#> [692] "686: emodnet_open_maplibrary:sp003006"
#> [693] "687: emodnet_open_maplibrary:sp003007"
#> [694] "688: emodnet_open_maplibrary:sp003015"
Created on 2020-04-07 by the reprex package (v0.3.0)
Hey Anna, just had a quick look into this.
There are some issues which Helen came across using the map library workspace (emodnet_open_maplibrary
) which I am yet to figure out. This might be related to the issues you're experiencing but I can't tell at the moment.
I've previously used some code to access data from our GeoServer instance, but this is based on specific URL requests not the workflow you described above; unfortunately I've never used that approach (something for me to look into!), but I've provided some examples of code I use.
GetCapabilities Incredibly useful for seeing what layers are offered by GeoServer, usually my first approach for viewing data in an XML format including their metadata, bbox information etc.
Full workspace:
https://ows.emodnet-seabedhabitats.eu/emodnet_open/wfs?Service=wfs&version=1.0.0&request=GetCapabilities
Map library (may take a minute to load):
https://ows.emodnet-seabedhabitats.eu/emodnet_open_maplibrary/wfs?service=wfs&version=1.0.0&request=GetCapabilities
pipeR
I like to use a version of piping that allows for assigning objects within operations. More on that here if you're curious.
devtools::install_github("renkun-ken/pipeR")
Loading packages:
pacman::p_load(tidyverse, sf, pipeR, data.table)
Constructing WFS URLs Can be very fiddly at times, especially if you're adding CQL or geometric filters for extracting data. If you haven't already I'd recommend checking out the GeoServer WFS reference, and GeoSolutions have a nice tutorial here.
Reading habitat maps Create a function to read geoJSON data straight into R.
readGeoServer_Maps <- function(layerName){ library(glue) library(sf) baseurl <- "https://ows.emodnet-seabedhabitats.eu/emodnet_open_maplibrary/wfs?" wfs_param <- "SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAMES=emodnet_open_maplibrary:" ## Based specifically on the map library workspace outputFormat <- "&outputFormat=application/json" glue::glue(baseurl, wfs_param, layerName, outputFormat) %>% sf::st_read() }
Essentially, the only input you need in this specific version is the GUI of a habitat map.
Assign your GUIs to a vector:
habitatMaps <- c("be000142", "be000143", "be000144", "bg003005", "es000001", "es001000")
Read in the maps:
map_data <- purrr::map(habitatMaps, readGeoServer_Maps)
This results in a list of individual habitat maps, where each element is a sf data.frame
object. However, you might want them as a single sf
object:
combined_maps <- sf::st_as_sf(data.table::rbindlist(map_data))
That should allow you to do the usual tidyverse manipulation on a GUI level.
Other WFS parameters
You can add specific parameters to your WFS calls, for example bbox values; however it's important to note that WFS returns all polygons that intersect with the bbox. If you want cropping features, Web Processing Services (WPS) are required; unfortunately they're computationally intensive, especially for large datasets, so we don't provide them on the Seabed Habitats portal.
An example of a WFS bbox call is below:
readGeoServer_LayerBbox <- function(layerName, bboxVal, crsVal){ library(glue) library(sf) baseurl <- "https://ows.emodnet-seabedhabitats.eu/emodnet_open/wfs?" wfs_param <- "SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAMES=emodnet_open:" bbox <- "&bbox=" crsParam <- ",EPSG:" outputFormat <- "&outputFormat=application/json" glue::glue(baseurl, wfs_param, layerName, bbox, bboxVal, crsParam, crsVal, outputFormat) %>% sf::st_read() }
Execute the function:
readGeoServer_LayerBbox(layerName = "eusm2019_bio_full", bboxVal = "-8.9813,43.3845,1.88117,52.01832", crsVal = "4326") %>>% ## Uses WGS84 as the input bbox sf::st_transform(4326) %>>% ## Transforming the returned object to WGS84 (~ biozone_extract) %>>% sf::st_crop(xmin = -8.9813, xmax = 1.88117, ymin = 43.3845, ymax = 52.01832) %>>% ## Specifically crop the object to the above bbox (~ biozone_cropped)
Note the use of (~ )
, which is part of the pipeR
package allowing for assigning objects within code.
Hope this helps (apologies it's a bit messy!), give me a shout if anything is unclear.
Thanks for the info and code @JordanPinder !
I'll have a play around and report back.
In the meantime, if you could have a go using my example, that would be really helpful. It's strange that I got it to work initially (sort of, I was still getting errors printed to the console but the the layers were downloaded successfully) and then it stopped.
Just gave it a go @annakrystalli but for some reason it struggles to find my gdal installation.
I'll see if I can find some additional interfaces for R and WFS, think I tried a couple in the past!
I'm finding it hard to understand how to use the EMODnet web services. I reckon developing functionality around them in R would be a nice contribution (perhaps in a separate package) but there's a lot of disparate data that seems to be available and I could do with having a chat about it and shifting through what to wrap, at least initially.