diff --git a/404.html b/404.html index 7ee9691..d61276a 100644 --- a/404.html +++ b/404.html @@ -36,6 +36,7 @@
emodnet_get_wfs_info()
.
seabed_wfs_client <- emodnet_init_wfs_client(service = "seabed_habitats_general_datasets_and_products")
+#> Loading ISO 19139 XML schemas...
+#> Loading ISO 19115 codelists...
#> ✔ WFS client created successfully
#> ℹ Service: "https://ows.emodnet-seabedhabitats.eu/geoserver/emodnet_open/wfs"
#> ℹ Version: "2.0.0"
@@ -177,19 +180,20 @@ Explore the EMODnet WFS service
emodnet_get_wfs_info(wfs = seabed_wfs_client)
#> # A tibble: 72 × 9
#> # Rowwise:
-#> data_source service_name service_url layer_name title abstract class format layer_namespace
-#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
-#> 1 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… "Gridde… WFSF… sf emodnet_open
-#> 2 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… "Gridde… WFSF… sf emodnet_open
-#> 3 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… "Gridde… WFSF… sf emodnet_open
-#> 4 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… "Gridde… WFSF… sf emodnet_open
-#> 5 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… "Gridde… WFSF… sf emodnet_open
-#> 6 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… "Gridde… WFSF… sf emodnet_open
-#> 7 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… "Gridde… WFSF… sf emodnet_open
-#> 8 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… "Gridde… WFSF… sf emodnet_open
-#> 9 emodnet_wfs seabed_habitats_general… https://ow… carib_eus… 2023… "Output… WFSF… sf emodnet_open
-#> 10 emodnet_wfs seabed_habitats_general… https://ow… biogenic_… Biog… "This l… WFSF… sf emodnet_open
-#> # ℹ 62 more rows
Each layer is explained in the abstract
column. We can
see several layers with the information provided by the EU member states
for the Habitats
@@ -205,11 +209,11 @@ Explore the EMODnet WFS service
)
#> # A tibble: 3 × 9
#> # Rowwise:
-#> data_source service_name service_url layer_name title abstract class format layer_namespace
-#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
-#> 1 emodnet_wfs https://ows.emodnet-seab… seabed_hab… art17_hab… 2013… "Gridde… WFSF… sf emodnet_open
-#> 2 emodnet_wfs https://ows.emodnet-seab… seabed_hab… art17_hab… 2013… "Gridde… WFSF… sf emodnet_open
-#> 3 emodnet_wfs https://ows.emodnet-seab… seabed_hab… art17_hab… 2013… "Gridde… WFSF… sf emodnet_open
We are now ready to read the layers into R with
emodnet_get_layers()
. emodnet.wfs reads the geometries as
simple features (See sf
package) transformed to 4326 by default. Specifying another map
@@ -231,15 +235,15 @@
Run the following code to have a quick look at the layers geometries
@@ -253,8 +257,10 @@Explore the EMODnet WFS service # Visualize map <- mapview(habitats_directive_layers, zcol = "habitat_description", burst = TRUE) -map -#> Error in loadNamespace(name): there is no package called 'webshot'
EMODnet provides also physics, chemistry, biological or bathymetry data. Explore all the layers available with.
diff --git a/articles/index.html b/articles/index.html index 6d4608d..54e2e71 100644 --- a/articles/index.html +++ b/articles/index.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/articles/request-params.html b/articles/request-params.html index 8e48ba3..4b9c31c 100644 --- a/articles/request-params.html +++ b/articles/request-params.html @@ -35,6 +35,7 @@+
- Get started
- Reference
- diff --git a/authors.html b/authors.html index 0ff9ef8..1e594a0 100644 --- a/authors.html +++ b/authors.html @@ -15,7 +15,8 @@
-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/index.html b/index.html index 3abb8f2..568ef19 100644 --- a/index.html +++ b/index.html @@ -38,6 +38,7 @@+
- Get started
- Reference
- diff --git a/news/index.html b/news/index.html index 1756456..7c1c379 100644 --- a/news/index.html +++ b/news/index.html @@ -15,7 +15,8 @@
-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/pkgdown.yml b/pkgdown.yml index 8b868c8..605f3e6 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -5,7 +5,7 @@ articles: articles/ecql_filtering: ecql_filtering.html emodnet.wfs: emodnet.wfs.html articles/request-params: request-params.html -last_built: 2024-10-17T08:04Z +last_built: 2024-10-17T08:09Z urls: reference: https://emodnet.github.io/emodnet.wfs/reference article: https://emodnet.github.io/emodnet.wfs/articles diff --git a/reference/emodnet.wfs-package.html b/reference/emodnet.wfs-package.html index 017fecf..78a58db 100644 --- a/reference/emodnet.wfs-package.html +++ b/reference/emodnet.wfs-package.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/reference/emodnet_get_layers.html b/reference/emodnet_get_layers.html index a807522..7f03c32 100644 --- a/reference/emodnet_get_layers.html +++ b/reference/emodnet_get_layers.html @@ -19,7 +19,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/reference/emodnet_get_wfs_info.html b/reference/emodnet_get_wfs_info.html index 46f2df8..ea91342 100644 --- a/reference/emodnet_get_wfs_info.html +++ b/reference/emodnet_get_wfs_info.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/reference/emodnet_init_wfs_client.html b/reference/emodnet_init_wfs_client.html index ea92fd8..bc50128 100644 --- a/reference/emodnet_init_wfs_client.html +++ b/reference/emodnet_init_wfs_client.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/reference/emodnet_wfs.html b/reference/emodnet_wfs.html index 1a2d843..1727ee2 100644 --- a/reference/emodnet_wfs.html +++ b/reference/emodnet_wfs.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/reference/index.html b/reference/index.html index 44eaa24..5244071 100644 --- a/reference/index.html +++ b/reference/index.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/reference/layer_attribute_descriptions.html b/reference/layer_attribute_descriptions.html index 4e7b448..41e985d 100644 --- a/reference/layer_attribute_descriptions.html +++ b/reference/layer_attribute_descriptions.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/reference/layer_attribute_inspect.html b/reference/layer_attribute_inspect.html index 263677f..8f9ab5f 100644 --- a/reference/layer_attribute_inspect.html +++ b/reference/layer_attribute_inspect.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/reference/layer_attributes_get_names.html b/reference/layer_attributes_get_names.html index d4e802f..955bb2f 100644 --- a/reference/layer_attributes_get_names.html +++ b/reference/layer_attributes_get_names.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/reference/layer_attributes_summarise.html b/reference/layer_attributes_summarise.html index 47a42ec..92f41c4 100644 --- a/reference/layer_attributes_summarise.html +++ b/reference/layer_attributes_summarise.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/reference/layer_attributes_tbl.html b/reference/layer_attributes_tbl.html index 17e2348..ffdf901 100644 --- a/reference/layer_attributes_tbl.html +++ b/reference/layer_attributes_tbl.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/reference/pipe.html b/reference/pipe.html index a37464c..d25f3b7 100644 --- a/reference/pipe.html +++ b/reference/pipe.html @@ -15,7 +15,8 @@-
- Reference
+
- Get started
+- Reference
- EQCL feature filtering
diff --git a/search.json b/search.json index 34ec74c..7bc9db2 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":"https://emodnet.github.io/emodnet.wfs/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contributing to emodnet.wfs","title":"Contributing to emodnet.wfs","text":"outlines propose change emodnet.wfs.","code":""},{"path":"https://emodnet.github.io/emodnet.wfs/CONTRIBUTING.html","id":"fixing-typos","dir":"","previous_headings":"","what":"Fixing typos","title":"Contributing to emodnet.wfs","text":"can fix typos, spelling mistakes, grammatical errors documentation directly using GitHub web interface, long changes made source file. generally means ’ll need edit roxygen2 comments .R, .Rd file. can find .R file generates .Rd reading comment first line.","code":""},{"path":"https://emodnet.github.io/emodnet.wfs/CONTRIBUTING.html","id":"bigger-changes","dir":"","previous_headings":"","what":"Bigger changes","title":"Contributing to emodnet.wfs","text":"want make bigger change, ’s good idea first file issue make sure someone team agrees ’s needed. ’ve found bug, please file issue illustrates bug minimal reprex (also help write unit test, needed).","code":""},{"path":"https://emodnet.github.io/emodnet.wfs/CONTRIBUTING.html","id":"pull-request-process","dir":"","previous_headings":"Bigger changes","what":"Pull request process","title":"Contributing to emodnet.wfs","text":"Fork package clone onto computer. haven’t done , recommend using usethis::create_from_github(\"EMODnet/emodnet.wfs\", fork = TRUE). Install development dependencies pak::pak(), make sure package passes R CMD check running devtools::check(). R CMD check doesn’t pass cleanly, ’s good idea ask help continuing. Create Git branch pull request (PR). recommend using usethis::pr_init(\"brief-description--change\"). Make changes, commit git, create PR running usethis::pr_push(), following prompts browser. title PR briefly describe change. body PR contain Fixes #issue-number. user-facing changes, add bullet top NEWS.md (.e. just first header). Follow style described https://style.tidyverse.org/news.html.","code":""},{"path":"https://emodnet.github.io/emodnet.wfs/CONTRIBUTING.html","id":"code-style","dir":"","previous_headings":"Bigger changes","what":"Code style","title":"Contributing to emodnet.wfs","text":"New code follow tidyverse style guide. can use styler package apply styles, please don’t restyle code nothing PR. use roxygen2, Markdown syntax, documentation. use testthat httptest unit tests. Contributions test cases included easier accept.","code":""},{"path":"https://emodnet.github.io/emodnet.wfs/CONTRIBUTING.html","id":"collaborators","dir":"","previous_headings":"","what":"Collaborators","title":"Contributing to emodnet.wfs","text":"Regular contributors listed inst/collaborators.txt ensure user-agent used package flags developers.","code":""},{"path":"https://emodnet.github.io/emodnet.wfs/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2021 European Marine Observation Data Network (EMODnet) Biology project Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"cql-ecql-query-languages-","dir":"Articles","previous_headings":"","what":"CQL & ECQL Query languages.","title":"EQCL feature filtering","text":"CQL (Common Query Language) plain-text language created OGC Catalog specification. GeoServer adapted easy--use filtering mechanism. GeoServer actually implements powerful extension called ECQL (Extended CQL), allows expressing full range filters OGC Filter 1.1 can encode. ECQL accepted many places GeoServer. GeoServer supports use CQL ECQL WFS requests whenever documentation refers CQL, ECQL syntax can used well. examples provided small subset filtering functionality available Geoserver. Full references examples can found following documentation: ECQL Reference: reference syntax ECQL language. Filter Function Reference: OGC Filter Encoding specification provides generic concept filter function. filter function named function number arguments, can used filter expression perform specific calculations. provides much richer expressiveness defining filters.GeoServer provides many different kinds filter functions, covering wide range functionality including mathematics, string formatting, geometric operations. CQL ECQL Tutorial shows examples defining filters.","code":""},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"initialise-emodnet-wfs-client","dir":"Articles","previous_headings":"","what":"Initialise EMODnet WFS client","title":"EQCL feature filtering","text":"First, let’s load library start new WFS client emodnet_init_wfs_client.","code":"library(emodnet.wfs) wfs <- emodnet_init_wfs_client(service = \"biology\") #> Loading ISO 19139 XML schemas... #> Loading ISO 19115 codelists... #> ✔ WFS client created successfully #> ℹ Service: \"https://geo.vliz.be/geoserver/Emodnetbio/wfs\" #> ℹ Version: \"2.0.0\""},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"inspecting-attributes","dir":"Articles","previous_headings":"","what":"Inspecting attributes","title":"EQCL feature filtering","text":"develop filters, first need information attributes can filter . example, might want know data type range distribution values attributes given layer. Let’s look existing layers.","code":"emodnet_get_wfs_info(wfs) #> # A tibble: 35 × 9 #> # Rowwise: #> data_source service_name service_url layer_name title abstract class format #>#> 1 emodnet_wfs biology https://geo.… mediseh_c… EMOD… \"Coral … WFSF… sf #> 2 emodnet_wfs biology https://geo.… mediseh_c… EMOD… \"Coral … WFSF… sf #> 3 emodnet_wfs biology https://geo.… mediseh_c… EMOD… \"Cymodo… WFSF… sf #> 4 emodnet_wfs biology https://geo.… Species_g… EMOD… \"This d… WFSF… sf #> 5 emodnet_wfs biology https://geo.… Species_g… EMOD… \"This d… WFSF… sf #> 6 emodnet_wfs biology https://geo.… Species_g… EMOD… \"This d… WFSF… sf #> 7 emodnet_wfs biology https://geo.… mediseh_h… EMOD… \"Haloph… WFSF… sf #> 8 emodnet_wfs biology https://geo.… mediseh_m… EMOD… \"Maërl … WFSF… sf #> 9 emodnet_wfs biology https://geo.… mediseh_m… EMOD… \"Maërl … WFSF… sf #> 10 emodnet_wfs biology https://geo.… mediseh_p… EMOD… \"This d… WFSF… sf #> # ℹ 25 more rows #> # ℹ 1 more variable: layer_namespace "},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"layer-attribute-names","dir":"Articles","previous_headings":"Inspecting attributes","what":"Layer attribute names","title":"EQCL feature filtering","text":"start, might want know names layer’s attributes. functions can also used providing service name instead wfs object.","code":"layer_attributes_get_names(wfs, layer = \"mediseh_zostera_m_pnt\") #> [1] \"id\" \"country\" \"the_geom\" layer_attributes_get_names(service = \"biology\", layer = \"mediseh_zostera_m_pnt\") #> ✔ WFS client created successfully #> ℹ Service: \"https://geo.vliz.be/geoserver/Emodnetbio/wfs\" #> ℹ Version: \"2.0.0\" #> [1] \"id\" \"country\" \"the_geom\""},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"layer-attribute-descriptions","dir":"Articles","previous_headings":"Inspecting attributes","what":"Layer attribute descriptions","title":"EQCL feature filtering","text":"type filtering might want apply depend data type attribute. can inspect attribute descriptions (metadata) given layer layer_attribute_descriptions().","code":"layer_attribute_descriptions(wfs, layer = \"mediseh_zostera_m_pnt\") #> name type minOccurs maxOccurs nillable geometry #> 1 id integer 0 1 TRUE FALSE #> 2 country character 0 1 TRUE FALSE #> 3 the_geom Point 0 1 TRUE TRUE"},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"layer-attribute-summaries","dir":"Articles","previous_headings":"Inspecting attributes","what":"Layer attribute summaries","title":"EQCL feature filtering","text":"can get summaries values attribute layer_attributes_summarise(). function basically runs summary() attribute columns layer.","code":"layer_attributes_summarise(wfs, layer = \"mediseh_zostera_m_pnt\") #> gml_id id country #> Length:54 Min. :0 Length:54 #> Class :character 1st Qu.:0 Class :character #> Mode :character Median :0 Mode :character #> Mean :0 #> 3rd Qu.:0 #> Max. :0"},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"inspecting-individual-layer-attributes","dir":"Articles","previous_headings":"Inspecting attributes","what":"Inspecting individual layer attributes","title":"EQCL feature filtering","text":"can also inspect individual attributes , case categorical variables, can give detailed information names distribution categories.","code":"layer_attribute_inspect( wfs, layer = \"mediseh_zostera_m_pnt\", attribute = \"country\" ) #> # A tibble: 7 × 3 #> . n percent #> #> 1 Croazia 4 0.0741 #> 2 Francia 1 0.0185 #> 3 Italia 30 0.556 #> 4 Libia 2 0.0370 #> 5 Slovenia 8 0.148 #> 6 Spagna 8 0.148 #> 7 Tunisia 1 0.0185"},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"layer-attributes-table","dir":"Articles","previous_headings":"","what":"Layer attributes table","title":"EQCL feature filtering","text":"Finally, enable full inspection custom processing attribute data, can download full set attributes data.frame, excluding geometry column. geometries usually largest column, much faster downloading full layer can useful developing attribute filtering rules. Data summary Variable type: character Variable type: numeric","code":"attr_tbl <- layer_attributes_tbl(wfs, layer = \"mediseh_zostera_m_pnt\") attr_tbl #> # A tibble: 54 × 3 #> gml_id id country #> #> 1 mediseh_zostera_m_pnt.1 0 Spagna #> 2 mediseh_zostera_m_pnt.2 0 Spagna #> 3 mediseh_zostera_m_pnt.3 0 Spagna #> 4 mediseh_zostera_m_pnt.4 0 Spagna #> 5 mediseh_zostera_m_pnt.5 0 Spagna #> 6 mediseh_zostera_m_pnt.6 0 Spagna #> 7 mediseh_zostera_m_pnt.7 0 Spagna #> 8 mediseh_zostera_m_pnt.8 0 Francia #> 9 mediseh_zostera_m_pnt.9 0 Italia #> 10 mediseh_zostera_m_pnt.10 0 Italia #> # ℹ 44 more rows skimr::skim(attr_tbl)"},{"path":[]},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"filtering-categorical-attributes-values-using-text-comparisons","dir":"Articles","previous_headings":"Filtering by attributes","what":"Filtering categorical attributes values using text comparisons","title":"EQCL feature filtering","text":"know values categorical attribute layer, can use filter features returned query. example, let’s say interested results France. previous interrogation attributes associated mediseh_zostera_m_pnt layer, seen attribute country contains country. can use name attribute value require construct eqcl filter pass request using cql_filter argument. shows basic text comparisons can make use equality operator =. want match one value, can use operator instead provide list values compare . example, request France Spain, use following filter: using filter: text comparisons include text pattern matching using operator LIKE. example, request maritime boundaries countries starting S, can use following filter: CQL/ECQL filters can also include filter functions available GeoServer, including multiple string functions greatly increases power CQL expressions. example, can request countries contain l anywhere, including first letter. make request case independent, can turn country names lowercase use like comparison lowercase l:","code":"emodnet_get_layers( wfs, layers = \"mediseh_zostera_m_pnt\", cql_filter = \"country = 'Francia'\" ) #> $mediseh_zostera_m_pnt #> Simple feature collection with 1 feature and 3 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: 4.84864 ymin: 43.37637 xmax: 4.84864 ymax: 43.37637 #> Geodetic CRS: WGS 84 #> gml_id id country the_geom #> 1 mediseh_zostera_m_pnt.8 0 Francia POINT (4.84864 43.37637) emodnet_get_layers( wfs, layers = \"mediseh_zostera_m_pnt\", cql_filter = \"country IN ('Francia', 'Spagna')\" ) #> $mediseh_zostera_m_pnt #> Simple feature collection with 9 features and 3 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: -4.167154 ymin: 36.71226 xmax: 4.84864 ymax: 43.37637 #> Geodetic CRS: WGS 84 #> gml_id id country the_geom #> 1 mediseh_zostera_m_pnt.1 0 Spagna POINT (-2.61314 36.71681) #> 2 mediseh_zostera_m_pnt.2 0 Spagna POINT (-3.846598 36.75127) #> 3 mediseh_zostera_m_pnt.3 0 Spagna POINT (-3.957785 36.72266) #> 4 mediseh_zostera_m_pnt.4 0 Spagna POINT (-4.039712 36.74217) #> 5 mediseh_zostera_m_pnt.5 0 Spagna POINT (-4.100182 36.72331) #> 6 mediseh_zostera_m_pnt.6 0 Spagna POINT (-4.167154 36.71226) #> 7 mediseh_zostera_m_pnt.7 0 Spagna POINT (-1.268366 37.55796) #> 8 mediseh_zostera_m_pnt.8 0 Francia POINT (4.84864 43.37637) #> 9 mediseh_zostera_m_pnt.54 0 Spagna POINT (3.291868 42.29132) emodnet_get_layers( wfs, layers = \"mediseh_zostera_m_pnt\", cql_filter = \"country='Francia' OR country='Spagna'\" ) #> $mediseh_zostera_m_pnt #> Simple feature collection with 9 features and 3 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: -4.167154 ymin: 36.71226 xmax: 4.84864 ymax: 43.37637 #> Geodetic CRS: WGS 84 #> gml_id id country the_geom #> 1 mediseh_zostera_m_pnt.1 0 Spagna POINT (-2.61314 36.71681) #> 2 mediseh_zostera_m_pnt.2 0 Spagna POINT (-3.846598 36.75127) #> 3 mediseh_zostera_m_pnt.3 0 Spagna POINT (-3.957785 36.72266) #> 4 mediseh_zostera_m_pnt.4 0 Spagna POINT (-4.039712 36.74217) #> 5 mediseh_zostera_m_pnt.5 0 Spagna POINT (-4.100182 36.72331) #> 6 mediseh_zostera_m_pnt.6 0 Spagna POINT (-4.167154 36.71226) #> 7 mediseh_zostera_m_pnt.7 0 Spagna POINT (-1.268366 37.55796) #> 8 mediseh_zostera_m_pnt.8 0 Francia POINT (4.84864 43.37637) #> 9 mediseh_zostera_m_pnt.54 0 Spagna POINT (3.291868 42.29132) emodnet_get_layers( wfs = wfs, layers = \"mediseh_zostera_m_pnt\", cql_filter = \"country LIKE 'S%'\", reduce_layers = TRUE ) #> Simple feature collection with 16 features and 3 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: -4.167154 ymin: 36.71226 xmax: 13.73725 ymax: 45.58252 #> Geodetic CRS: WGS 84 #> First 10 features: #> gml_id id country the_geom #> 1 mediseh_zostera_m_pnt.1 0 Spagna POINT (-2.61314 36.71681) #> 2 mediseh_zostera_m_pnt.2 0 Spagna POINT (-3.846598 36.75127) #> 3 mediseh_zostera_m_pnt.3 0 Spagna POINT (-3.957785 36.72266) #> 4 mediseh_zostera_m_pnt.4 0 Spagna POINT (-4.039712 36.74217) #> 5 mediseh_zostera_m_pnt.5 0 Spagna POINT (-4.100182 36.72331) #> 6 mediseh_zostera_m_pnt.6 0 Spagna POINT (-4.167154 36.71226) #> 7 mediseh_zostera_m_pnt.7 0 Spagna POINT (-1.268366 37.55796) #> 8 mediseh_zostera_m_pnt.39 0 Slovenia POINT (13.73725 45.56948) #> 9 mediseh_zostera_m_pnt.40 0 Slovenia POINT (13.70701 45.58252) #> 10 mediseh_zostera_m_pnt.41 0 Slovenia POINT (13.71894 45.54535) emodnet_get_layers( wfs = wfs, layers = \"mediseh_zostera_m_pnt\", cql_filter = \"strToLowerCase(country) LIKE '%l%'\", reduce_layers = TRUE ) #> Simple feature collection with 40 features and 3 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: 11.71682 ymin: 33.07783 xmax: 14.4714 ymax: 45.72451 #> Geodetic CRS: WGS 84 #> First 10 features: #> gml_id id country the_geom #> 1 mediseh_zostera_m_pnt.9 0 Italia POINT (13.71831 45.70017) #> 2 mediseh_zostera_m_pnt.10 0 Italia POINT (13.16378 45.72451) #> 3 mediseh_zostera_m_pnt.11 0 Italia POINT (13.35982 45.70508) #> 4 mediseh_zostera_m_pnt.12 0 Italia POINT (12.26722 45.25975) #> 5 mediseh_zostera_m_pnt.13 0 Italia POINT (12.31285 45.362) #> 6 mediseh_zostera_m_pnt.14 0 Italia POINT (12.53509 45.53269) #> 7 mediseh_zostera_m_pnt.15 0 Italia POINT (12.48269 45.5065) #> 8 mediseh_zostera_m_pnt.16 0 Italia POINT (12.77334 43.96751) #> 9 mediseh_zostera_m_pnt.17 0 Italia POINT (13.62604 43.50809) #> 10 mediseh_zostera_m_pnt.18 0 Italia POINT (13.46398 43.60892)"},{"path":[]},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"filtering-numeric-variables","dir":"Articles","previous_headings":"Filtering by attributes","what":"Filtering numeric variables","title":"EQCL feature filtering","text":"number additional comparison operators, =, <>, >, >=, <, <= , arithmetic operators +, -, *, / well comparison math functions can used filtering numeric variables. time ’ll use mediseh_posidonia_nodata. can inspect , using interrogative functions get information layer attributes. can see values range 0.23 ~473 mean ~40. Let’s say interested values greater 400. can use operator > create filter: request range can use filter functions .","code":"layer_attributes_get_names( wfs, layer = \"mediseh_posidonia_nodata\" ) #> [1] \"id\" \"km\" \"the_geom\" layer_attribute_inspect( wfs, layer = \"mediseh_posidonia_nodata\", attribute = \"km\" ) #> Min. 1st Qu. Median Mean 3rd Qu. Max. #> 0.2371 6.0306 16.6190 40.1771 42.8958 472.9613 emodnet_get_layers( wfs = wfs, layers = \"mediseh_posidonia_nodata\", cql_filter = \"km > 400\", reduce_layers = TRUE ) #> Simple feature collection with 4 features and 3 fields #> Geometry type: MULTICURVE #> Dimension: XY #> Bounding box: xmin: -1.572609 ymin: 35.24538 xmax: 28.33243 ymax: 38.68017 #> Geodetic CRS: WGS 84 #> gml_id id km the_geom #> 1 mediseh_posidonia_nodata.8 0 456.3759 MULTICURVE (LINESTRING (2.3... #> 2 mediseh_posidonia_nodata.227 0 464.6573 MULTICURVE (LINESTRING (26.... #> 3 mediseh_posidonia_nodata.228 0 472.9613 MULTICURVE (LINESTRING (26.... #> 4 mediseh_posidonia_nodata.229 0 463.8207 MULTICURVE (LINESTRING (27.... emodnet_get_layers( wfs = wfs, layers = \"mediseh_posidonia_nodata\", cql_filter = \"km between 40 and 400\", reduce_layers = TRUE ) #> Simple feature collection with 120 features and 3 fields #> Geometry type: MULTICURVE #> Dimension: XY #> Bounding box: xmin: -2.1798 ymin: 30.26623 xmax: 34.59127 ymax: 45.35511 #> Geodetic CRS: WGS 84 #> First 10 features: #> gml_id id km the_geom #> 1 mediseh_posidonia_nodata.1 0 291.50323 MULTICURVE (LINESTRING (27.... #> 2 mediseh_posidonia_nodata.2 0 75.37950 MULTICURVE (LINESTRING (23.... #> 3 mediseh_posidonia_nodata.4 0 110.34480 MULTICURVE (LINESTRING (19.... #> 4 mediseh_posidonia_nodata.13 0 66.99746 MULTICURVE (LINESTRING (9.1... #> 5 mediseh_posidonia_nodata.5 0 222.44651 MULTICURVE (LINESTRING (8.6... #> 6 mediseh_posidonia_nodata.6 0 58.72822 MULTICURVE (LINESTRING (6.8... #> 7 mediseh_posidonia_nodata.7 0 192.50519 MULTICURVE (LINESTRING (6.4... #> 8 mediseh_posidonia_nodata.10 0 65.74354 MULTICURVE (LINESTRING (-1.... #> 9 mediseh_posidonia_nodata.11 0 138.68819 MULTICURVE (LINESTRING (4.8... #> 10 mediseh_posidonia_nodata.17 0 184.05959 MULTICURVE (LINESTRING (10...."},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"using-or-and-and-statements","dir":"Articles","previous_headings":"Filtering by attributes","what":"Using OR and AND statements","title":"EQCL feature filtering","text":"Filter conditions can also logical combination conditions using , . showed previously use list potential values match attribute . also achieved using statement. example, following query returns features country either Baltic Sea Bulgaria. Let’s say also want restrict features returned shape_length > 1. can include additional condition must met using statement. query returns features country Baltic Sea Bulgaria can see minimum value minimum set filter. ’s filter added country='Bulgaria', features shape_length > 1 returned country also Bulgaria, filter applied shape_length country Baltic Sea. add filter filters, can use parenthesis: Now minimum value indeed 1. However, get features country 'Bulgaria'. ’s single Baltic Sea feature shape_length value smaller 1 filtered . Finally filtering shape_length < 1 returns features shape_length values smaller 1 country values.","code":"wfs <- emodnet_init_wfs_client(service = \"geology_seabed_substrate_maps\") emodnet_get_layers( wfs = wfs, layers = \"seabed_substrate_1m\", cql_filter = \"country='Baltic Sea' OR country='Bulgaria'\", reduce_layers = TRUE ) filter_sf1 <- emodnet_get_layers( wfs = wfs, layers = \"seabed_substrate_1m\", cql_filter = \"country='Baltic Sea' OR country='Bulgaria' AND shape_length>1\", reduce_layers = TRUE ) filter_sf1 unique(filter_sf1$country) min(filter_sf1$shape_length) filter_sf2 <- emodnet_get_layers( wfs = wfs, layers = \"seabed_substrate_1m\", cql_filter = \"(country='Baltic Sea' OR country='Bulgaria') AND shape_length>1\", reduce_layers = TRUE ) min(filter_sf2$shape_length) unique(filter_sf2$country) filter_sf3 <- emodnet_get_layers( wfs = wfs, layers = \"seabed_substrate_1m\", cql_filter = \"(country='Baltic Sea' OR country='Bulgaria') AND shape_length<1\", reduce_layers = TRUE ) max(filter_sf3$shape_length) unique(filter_sf3$country)"},{"path":"https://emodnet.github.io/emodnet.wfs/articles/ecql_filtering.html","id":"advanced-use","dir":"Articles","previous_headings":"Filtering by attributes","what":"Advanced use","title":"EQCL feature filtering","text":"can accomplished using EMODnet WFS services downloading data. emodnet.wfs package built top ows4R library, meaning functionalities package available emodnet.wfs. ows4R returns special type R object called R6. can learn Hadley Wickham’s chapter R6 Objects Advance R book. instance: efficient read large dataset R just later subset part . requires longer waiting times bandwidth usage, large datasets simply possible. instance, occurrences data available EMODnet Biology portal stored one table: approximately 30 millions rows! case, suggest access EMODnet Biology occurrence data download toolbox eurobis R package instead.","code":""},{"path":"https://emodnet.github.io/emodnet.wfs/articles/emodnet.wfs.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Accessing and mapping EMODnet data","text":"package designed make EMODnet vector data layers easily accessible R. package allows users query information download data available EMODnet Web Feature Service (WFS) endpoints directly R working environment. Data managed sf objects currently state---art handling vector spatial data R. package also allows user specify coordinate reference system imported data.","code":""},{"path":[]},{"path":"https://emodnet.github.io/emodnet.wfs/articles/emodnet.wfs.html","id":"installation","dir":"Articles","previous_headings":"Data Product","what":"Installation","title":"Accessing and mapping EMODnet data","text":"can install development version emodnet.wfs GitHub :","code":"pak::pak(\"EMODnet/emodnet.wfs\")"},{"path":"https://emodnet.github.io/emodnet.wfs/articles/emodnet.wfs.html","id":"explore-the-emodnet-wfs-services-with-r","dir":"Articles","previous_headings":"Data Product","what":"Explore the EMODnet WFS services with R","title":"Accessing and mapping EMODnet data","text":"tutorial make use sf, dplyr mapview packages. simple features sf package well known standard dealing geospatial vector data. package dplyr strong library data manipulation. package also loads magrittr’s pipe operator %>% (also use base pipe), allows write pipelines R. visualize geometries, mapview create quick interactive maps. Run line install packages: emodnet.wfs package, can explore combine data served EMODnet lots OGC Web Feature Services WFS. Imagine interested seabed substrates. first step choose EMODnet lot can provide data. , can check services available emodnet_wfs() function. column service_name shows services available, service_url corresponding base url perform WFS request. Seabed portal data looking . WFS client can created passing corresponding service_name function emodnet_init_wfs_client(). layers available WFS client consulted emodnet_get_wfs_info(). layer explained abstract column. can see several layers information provided EU member states Habitats Directive 92/43/EEC reporting. select layers coastal lagoons, mudflats sandbanks respective layer_name. now ready read layers R emodnet_get_layers(). emodnet.wfs reads geometries simple features (See sf package) transformed 4326 default. Specifying another map projection possible passing EPGS code projection string emodnet_get_layers(crs = \"projection\"). argument reduce_layers = TRUE stack layers one single tibble. Default FALSE returns list sf objects, one per layer. Run following code quick look layers geometries EMODnet provides also physics, chemistry, biological bathymetry data. Explore layers available .","code":"install.packages(c(\"sf\", \"dplyr\", \"mapview\")) library(emodnet.wfs) library(mapview) library(dplyr) library(sf) emodnet_wfs() #> service_name #> 1 bathymetry #> 2 biology #> 3 biology_occurrence_data #> 4 chemistry_cdi_data_discovery_and_access_service #> 5 chemistry_cdi_distribution_observations_per_category_and_region #> 6 chemistry_contaminants #> 7 chemistry_marine_litter #> 8 geology_coastal_behavior #> 9 geology_events_and_probabilities #> 10 geology_marine_minerals #> 11 geology_sea_floor_bedrock #> 12 geology_seabed_substrate_maps #> 13 geology_submerged_landscapes #> 14 human_activities #> 15 physics #> 16 seabed_habitats_general_datasets_and_products #> 17 seabed_habitats_individual_habitat_map_and_model_datasets #> service_url #> 1 https://ows.emodnet-bathymetry.eu/wfs #> 2 https://geo.vliz.be/geoserver/Emodnetbio/wfs #> 3 https://geo.vliz.be/geoserver/Dataportal/wfs #> 4 https://geo-service.maris.nl/emodnet_chemistry/wfs #> 5 https://geo-service.maris.nl/emodnet_chemistry_p36/wfs #> 6 https://geoserver.hcmr.gr/geoserver/EMODNET_SHARED/wfs #> 7 https://www.ifremer.fr/services/wfs/emodnet_chemistry2 #> 8 https://drive.emodnet-geology.eu/geoserver/tno/wfs #> 9 https://drive.emodnet-geology.eu/geoserver/ispra/wfs #> 10 https://drive.emodnet-geology.eu/geoserver/gsi/wfs #> 11 https://drive.emodnet-geology.eu/geoserver/bgr/wfs #> 12 https://drive.emodnet-geology.eu/geoserver/gtk/wfs #> 13 https://drive.emodnet-geology.eu/geoserver/bgs/wfs #> 14 https://ows.emodnet-humanactivities.eu/wfs #> 15 https://prod-geoserver.emodnet-physics.eu/geoserver/ows #> 16 https://ows.emodnet-seabedhabitats.eu/geoserver/emodnet_open/wfs #> 17 https://ows.emodnet-seabedhabitats.eu/geoserver/emodnet_open_maplibrary/wfs seabed_wfs_client <- emodnet_init_wfs_client(service = \"seabed_habitats_general_datasets_and_products\") #> ✔ WFS client created successfully #> ℹ Service: \"https://ows.emodnet-seabedhabitats.eu/geoserver/emodnet_open/wfs\" #> ℹ Version: \"2.0.0\" emodnet_get_wfs_info(wfs = seabed_wfs_client) #> # A tibble: 72 × 9 #> # Rowwise: #> data_source service_name service_url layer_name title abstract class format layer_namespace #> #> 1 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… \"Gridde… WFSF… sf emodnet_open #> 2 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… \"Gridde… WFSF… sf emodnet_open #> 3 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… \"Gridde… WFSF… sf emodnet_open #> 4 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… \"Gridde… WFSF… sf emodnet_open #> 5 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… \"Gridde… WFSF… sf emodnet_open #> 6 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… \"Gridde… WFSF… sf emodnet_open #> 7 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… \"Gridde… WFSF… sf emodnet_open #> 8 emodnet_wfs seabed_habitats_general… https://ow… art17_hab… 2013… \"Gridde… WFSF… sf emodnet_open #> 9 emodnet_wfs seabed_habitats_general… https://ow… carib_eus… 2023… \"Output… WFSF… sf emodnet_open #> 10 emodnet_wfs seabed_habitats_general… https://ow… biogenic_… Biog… \"This l… WFSF… sf emodnet_open #> # ℹ 62 more rows habitats_directive_layer_names <- c(\"art17_hab_1110\", \"art17_hab_1140\", \"art17_hab_1150\") emodnet_get_layer_info( wfs = seabed_wfs_client, layers = habitats_directive_layer_names ) #> # A tibble: 3 × 9 #> # Rowwise: #> data_source service_name service_url layer_name title abstract class format layer_namespace #> #> 1 emodnet_wfs https://ows.emodnet-seab… seabed_hab… art17_hab… 2013… \"Gridde… WFSF… sf emodnet_open #> 2 emodnet_wfs https://ows.emodnet-seab… seabed_hab… art17_hab… 2013… \"Gridde… WFSF… sf emodnet_open #> 3 emodnet_wfs https://ows.emodnet-seab… seabed_hab… art17_hab… 2013… \"Gridde… WFSF… sf emodnet_open habitats_directive_layers <- emodnet_get_layers( wfs = seabed_wfs_client, layers = habitats_directive_layer_names, reduce_layers = TRUE ) class(habitats_directive_layers) #> [1] \"sf\" \"data.frame\" glimpse(habitats_directive_layers) #> Rows: 221 #> Columns: 9 #> $ gml_id \"art17_hab_1110.13\", \"art17_hab_1110.22\", \"art17_hab_1110.25\", \"art17_hab_11… #> $ habitat_code \"1110\", \"1110\", \"1110\", \"1110\", \"1110\", \"1110\", \"1110\", \"1110\", \"1110\", \"111… #> $ ms \"DK\", \"ES\", \"ES\", \"PT\", \"PT\", \"PL\", \"DK\", \"FR\", \"UK\", \"BE\", \"BE\", \"GR\", \"DE\"… #> $ region \"ATL\", \"MAC\", \"MMAC\", \"MMAC\", \"MATL\", \"MBAL\", \"MBAL\", \"MATL\", \"MATL\", \"ATL\",… #> $ cs_ms \"U2+\", \"U1+\", \"U1+\", \"XX\", \"U1-\", \"U1-\", \"U1-\", \"U1x\", \"U1x\", \"U1x\", \"U1x\", … #> $ country_code \"Denmark\", \"Spain\", \"Spain\", \"Portugal\", \"Portugal\", \"Poland\", \"Denmark\", \"F… #> $ habitat_code_uri \"http://dd.eionet.europa.eu/vocabulary/art17_2018/habitats/1110\", \"http://dd… #> $ habitat_description \"Sandbanks which are slightly covered by sea water all the time\", \"Sandbanks… #> $ geom MULTISURFACE (POLYGON ((420..., MULTISURFACE (POLYGON ((195...,… # Transform to Polygon geometry type from Multisurface if (unique(st_geometry_type(habitats_directive_layers)) == \"MULTISURFACE\") { habitats_directive_layers <- habitats_directive_layers %>% st_cast(to = \"GEOMETRYCOLLECTION\") %>% st_collection_extract(type = \"POLYGON\") } # Visualize map <- mapview(habitats_directive_layers, zcol = \"habitat_description\", burst = TRUE) map #> Error in loadNamespace(name): there is no package called 'webshot' emodnet_get_all_wfs_info()"},{"path":[]},{"path":"https://emodnet.github.io/emodnet.wfs/articles/emodnet.wfs.html","id":"references","dir":"Articles","previous_headings":"More information","what":"References","title":"Accessing and mapping EMODnet data","text":"Blondel, Emmanuel. (2020, May 27). ows4R: R Interface OGC Web-Services (Version 0.1-5). Zenodo. http://doi.org/10.5281/zenodo.3860330 Flanders Marine Institute (2019). Maritime Boundaries Geodatabase, version 11. Available online https://www.marineregions.org/. https://doi.org/10.14284/382. Hadley Wickham, Romain François, Lionel Henry Kirill Müller (2020). dplyr: Grammar Data Manipulation. R package version 1.0.2.https://CRAN.R-project.org/package=dplyr Pebesma E (2018). “Simple Features R: Standardized Support Spatial Vector Data.” R Journal, 10(1), 439–446. doi: 10.32614/RJ-2018-009, https://doi.org/10.32614/RJ-2018-009. R Core Team (2020). R: language environment statistical computing. R Foundation Statistical Computing, Vienna, Austria. URL https://www.R-project.org/. Tim Appelhans, Florian Detsch, Christoph Reudenbach Stefan Woellauer (2020). mapview: Interactive Viewing Spatial Data R. R package version 2.9.0. https://CRAN.R-project.org/package=mapview","code":""},{"path":"https://emodnet.github.io/emodnet.wfs/articles/emodnet.wfs.html","id":"code","dir":"Articles","previous_headings":"More information","what":"Code","title":"Accessing and mapping EMODnet data","text":"Please cite package : Anna Krystalli (2020). emodnet.wfs: Access EMODnet Web Feature Service data R. R package version 0.0.2. https://github.com/EMODnet/emodnet.wfs. Integrated data products created European Marine Observation Data Network (EMODnet) Biology project (EASME/EMFF/2017/1.3.1.2/02/SI2.789013), funded European Union Regulation (EU) 508/2014 European Parliament Council 15 May 2014 European Maritime Fisheries Fund.","code":""},{"path":"https://emodnet.github.io/emodnet.wfs/articles/request-params.html","id":"initialise-a-wfs-client","dir":"Articles","previous_headings":"","what":"Initialise a WFS client","title":"Using request parameters to limit query results","text":"Let’s start loading emodnet.wfs initialising WFS client human_activities WFS service.","code":"library(emodnet.wfs) wfs <- emodnet_init_wfs_client(\"human_activities\") #> Loading ISO 19139 XML schemas... #> Loading ISO 19115 codelists... #> ✔ WFS client created successfully #> ℹ Service: \"https://ows.emodnet-humanactivities.eu/wfs\" #> ℹ Version: \"2.0.0\""},{"path":"https://emodnet.github.io/emodnet.wfs/articles/request-params.html","id":"return-single-feature-using-feature-id","dir":"Articles","previous_headings":"","what":"Return single feature using feature ID","title":"Using request parameters to limit query results","text":"can restrict query single feature using featureID providing ID specific feature.","code":"emodnet_get_layers( wfs = wfs, layers = \"pipelines\", featureID = \"pipelines.1\", reduce_layers = TRUE ) #> Simple feature collection with 1 feature and 13 fields #> Geometry type: MULTILINESTRING #> Dimension: XY #> Bounding box: xmin: -5.87186 ymin: 35.99551 xmax: -5.836784 ymax: 36.12588 #> Geodetic CRS: WGS 84 #> gml_id id status medium operator size_in length_m year from_loc to_loc #> 1 pipelines.1 Active 15467.17 #> country_co country notes the_geom #> 1 ES Spain MULTILINESTRING ((-5.87186 ..."},{"path":"https://emodnet.github.io/emodnet.wfs/articles/request-params.html","id":"return-specific-number-of-features","dir":"Articles","previous_headings":"","what":"Return specific number of features","title":"Using request parameters to limit query results","text":"ID feature unknown still want limit number features returned, use count parameter WFS 2.0.0 maxFeatures parameter earlier WFS versions restrict number features returned. example restrict query first feature.","code":"emodnet_get_layers( wfs = wfs, layers = \"pipelines\", count = 1L, reduce_layers = TRUE ) #> Simple feature collection with 1 feature and 13 fields #> Geometry type: MULTILINESTRING #> Dimension: XY #> Bounding box: xmin: 24.98448 ymin: 60.19078 xmax: 25.01292 ymax: 60.19293 #> Geodetic CRS: WGS 84 #> gml_id id status medium operator size_in length_m year from_loc #> 1 pipelines.3463 n/a 1628.03 #> to_loc country_co country notes #> 1 FI Finland Finnish Transport Agency #> the_geom #> 1 MULTILINESTRING ((25.01292 ..."},{"path":"https://emodnet.github.io/emodnet.wfs/articles/request-params.html","id":"order-features","dir":"Articles","previous_headings":"","what":"Order features","title":"Using request parameters to limit query results","text":"Exactly features returned depends internal structure data. However, can sort returned selection based attribute value using sortBy parameter. Say wanted return 5 longest marine pipelines. following example, sort \"length_m\" attribute combine count parameter restrict number features returned. returns first 5 features data ordered \"length_m\". pipelines lengths recorded, skip CQL Filter. default sort operation sort ascending order. WFS servers require sort order specified. case, append +attribute character string passed sortBy. Conversely, add +D sort descending order.","code":"emodnet_get_layers( wfs = wfs, layers = \"pipelines\", sortBy = \"length_m+D\", count = 5L, reduce_layers = TRUE, cql_filter = \"length_m IS NOT NULL\" ) #> Simple feature collection with 5 features and 13 fields #> Geometry type: MULTILINESTRING #> Dimension: XY #> Bounding box: xmin: 2.249597 ymin: 51.04064 xmax: 28.14228 ymax: 60.52758 #> Geodetic CRS: WGS 84 #> gml_id id status medium operator size_in length_m #> 1 pipelines.3423 Active Gas Nord Stream AG 48 2443360.2 #> 2 pipelines.3424 Planned Gas Nord Stream 2 AG 48 1210867.9 #> 3 pipelines.52 PL0187_PR Active Gas Statoil ASA 42 836155.4 #> 4 pipelines.517 326374 Active Gas GASSCO AS 42 832197.9 #> 5 pipelines.53 PL0186_PR Active Gas Statoil ASA 40 807749.5 #> year from_loc to_loc country_co country notes #> 1 2011 Vyborg, RU Lubmin, GE DE, RU Germany, Russia Schematic Route #> 2 2021 Kurgalsky, RU Lubmin, GE DE, RU Germany, Russia Schematic Route #> 3 Draupner (N) Duinkerken (F) NL Netherlands #> 4 DRAUPNER E DUNKERQUE NO Norway #> 5 Sleipner (N) Zeebrugge (B) NL Netherlands #> the_geom #> 1 MULTILINESTRING ((18.00045 ... #> 2 MULTILINESTRING ((28.14228 ... #> 3 MULTILINESTRING ((2.249597 ... #> 4 MULTILINESTRING ((2.458616 ... #> 5 MULTILINESTRING ((3.298373 ..."},{"path":"https://emodnet.github.io/emodnet.wfs/articles/request-params.html","id":"return-blocks-of-features-from-specific-starting-point","dir":"Articles","previous_headings":"","what":"Return blocks of features from specific starting point","title":"Using request parameters to limit query results","text":"Finally WFS version 2.0.0 (also available earlier versions GeoServer) startIndex parameter introduced, allowing users specify starting index features returned. example, full \"pipelines\" layer contains 3951 features. Setting startIndex n_features - 4 (3947) returns last 4 features. can also combine startIndex count return specific blocks features. example, following query request features 5-9 supplying startIndex 4 count 5. Note startIndex uses 0 starting index (0 indicates first feature), hence set 4 order start 5th feature. combination , example, loop, can used download process large layer might able handled R smaller, manageable blocks features.","code":"#> [1] 3951 n_features <- layer_attributes_tbl(wfs = wfs, layer = \"pipelines\") %>% nrow() n_features startIndex <- n_features - 4L startIndex #> [1] 3947 emodnet_get_layers( wfs = wfs, layers = \"pipelines\", startIndex = startIndex, reduce_layers = TRUE ) #> Simple feature collection with 4 features and 13 fields #> Geometry type: MULTILINESTRING #> Dimension: XY #> Bounding box: xmin: 3.990801 ymin: 53.53329 xmax: 14.4857 ymax: 55.81712 #> Geodetic CRS: WGS 84 #> gml_id id status medium operator size_in length_m year #> 1 pipelines.3948 154802 Not in use Gas NA #> 2 pipelines.3949 154812 Not in use Gas NA #> 3 pipelines.3950 154982 Active Gas NA #> 4 pipelines.3951 155942 Active Gas NA #> from_loc to_loc country_co country notes the_geom #> 1 DE Germany MULTILINESTRING ((14.48506 ... #> 2 DE Germany MULTILINESTRING ((14.4857 5... #> 3 DE Germany MULTILINESTRING ((4.058202 ... #> 4 DE Germany MULTILINESTRING ((4.019116 ... emodnet_get_layers( wfs = wfs, layers = \"pipelines\", startIndex = 4L, count = 6L, reduce_layers = TRUE ) #> Simple feature collection with 6 features and 13 fields #> Geometry type: MULTILINESTRING #> Dimension: XY #> Bounding box: xmin: -8.336029 ymin: 51.19448 xmax: -7.947595 ymax: 51.8236 #> Geodetic CRS: WGS 84 #> gml_id id status medium operator size_in length_m year from_loc #> 1 pipelines.5 F43__3 n/a 10038.745 Kinsale #> 2 pipelines.6 F43__4 n/a 20011.185 Ballycotton #> 3 pipelines.7 F43__5 n/a 10853.853 Kinsale #> 4 pipelines.8 F43__6 n/a 5397.224 Kinsale #> 5 pipelines.9 F43__7 n/a 73853.753 Kinsale #> 6 pipelines.10 F43__8 n/a 56242.374 Seven Heads #> to_loc country_co country notes the_geom #> 1 IE Ireland MULTILINESTRING ((-8.186204... #> 2 IE Ireland MULTILINESTRING ((-8.017066... #> 3 IE Ireland MULTILINESTRING ((-8.017356... #> 4 IE Ireland MULTILINESTRING ((-8.179044... #> 5 IE Ireland MULTILINESTRING ((-7.947595... #> 6 IE Ireland MULTILINESTRING ((-8.217298..."},{"path":"https://emodnet.github.io/emodnet.wfs/articles/request-params.html","id":"return-data-for-specific-attributes","dir":"Articles","previous_headings":"","what":"Return data for specific attributes","title":"Using request parameters to limit query results","text":"Finally, can specify specific attributes want data returned using parameter propertyName. limit data returned single attribute \"country\" just 3 features, use parameters propertyName = \"country\" count = 3. Note limiting data specific attributes, columns returned NA (including spatial, case the_geom, column). limit multiple attributes, separate attribute name character string supplied propertyName comma.","code":"emodnet_get_layers( wfs = wfs, layers = \"pipelines\", propertyName = \"country\", count = 3L, reduce_layers = TRUE ) #> Simple feature collection with 3 features and 13 fields (with 3 geometries empty) #> Geometry type: GEOMETRYCOLLECTION #> Dimension: XY #> Bounding box: xmin: NA ymin: NA xmax: NA ymax: NA #> Geodetic CRS: WGS 84 #> gml_id id status medium operator size_in length_m year from_loc #> 1 pipelines.3463 NA #> 2 pipelines.3702 NA #> 3 pipelines.3707 NA #> to_loc country_co country notes the_geom #> 1 Finland GEOMETRYCOLLECTION EMPTY #> 2 Finland GEOMETRYCOLLECTION EMPTY #> 3 Finland GEOMETRYCOLLECTION EMPTY emodnet_get_layers( wfs = wfs, layers = \"pipelines\", propertyName = \"country,the_geom\", count = 3L, reduce_layers = TRUE ) #> Simple feature collection with 3 features and 13 fields #> Geometry type: MULTILINESTRING #> Dimension: XY #> Bounding box: xmin: 24.90736 ymin: 60.1819 xmax: 27.11348 ymax: 60.5359 #> Geodetic CRS: WGS 84 #> gml_id id status medium operator size_in length_m year from_loc #> 1 pipelines.3463 NA #> 2 pipelines.3702 NA #> 3 pipelines.3707