Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop and release mregions2 #1

Closed
salvafern opened this issue Apr 25, 2022 · 3 comments
Closed

Develop and release mregions2 #1

salvafern opened this issue Apr 25, 2022 · 3 comments
Assignees

Comments

@salvafern
Copy link
Collaborator

salvafern commented Apr 25, 2022

This package will superseed mregions.

Reasoning: since 2021, the geometries of the marine regions gazetteer are available directly from the gazetteer as WKT using Open Linked Data Event Streams. Previously, they were just a WMS link, in many cases coming form the marine regions OGC webservices hosted at the VLIZ geoserver. Therefore, the functions of mregions didn't use the MRGID in an effort to unify the geometries that were in geoserver and the gazetteer.

This method is not needed anymore since the geometries are in the Gazetteer. We will make a very clear distinction between the Gazetteer database and the products created by marine regions that are hosted in geoserver.

We finally decided to create a new package to not break compatibility. We will continue to maintain mregions but we won't add new developments.

@lottepohl and I will be developing mregions2 during the following months.

This issue follows up ropensci-archive/mregions#62

@salvafern
Copy link
Collaborator Author

salvafern commented Apr 25, 2022

Introduction

The Marine Regions Gazetteer is a standard list of marine georeferenced place names.

Gazetteer: a dictionary of geographical names.

https://www.thefreedictionary.com/gazetteer

All geographic objects of the Marine Regions Gazetteer database have a unique ID, called the MRGID

Syntax http://marineregions.org/mrgid/<number>

E.g. https://marineregions.org/mrgid/14

In addition to the Marine Regions Gazetteer, the Marine Regions Team (currently: @LennertSchepers , @brittlnv, @salvafern and @bart-v) creates and hosts data products, being the most popular one the Marine Regions Maritime Boundaries.

140389_marineregions-v11---eez

(By @brittlnv. Source: https://www.vliz.be/en/news?p=show&id=8160)

These data products can be accessed via direct download, but also by using OGC WFS web services. They are hosted at the VLIZ geoserver:

http://geo.vliz.be/geoserver/MarineRegions/wfs?service=WFS&request=GetCapabilities

What's new?

During 2021, new webservices were developed to access the Marine Regions Gazetteer. In essence, two major changes happened:

  • The database can be accessed now through Open Linked Data standards: JSON-LD and TTL.
  • The geometry associated to each gazetteer record is now available through RESTful services.

More information in:

Lonneville B. et al. (2021) Publishing the Marine Regions Gazetteer as a Linked
Data Event Stream. S4BioDiv 2021. http://ceur-ws.org/Vol-2969/paper8-s4biodiv.pdf

We want to update the mregions package to use these two new functionalities.

How?

Gazetteer webservices

We noticed that not all the gazetteer webservices were being used in the package. We want to add all them now, specifically:

  • getGazetteerRecordByMRGID
  • getGazetteerGeometry
  • getGazetteerGeometries
  • getGazetteerTypes
  • getGazetteerRecordsByName
  • getGazetteerRecordsByNames
  • getGazetteerRecordsByType
  • getGazetteerRecordsBySource
  • getGazetteerRelationsByMRGID
  • getGazetteerWMSes
  • getGazetteerRecordsByLatLong
  • getGazetteerSources
  • getGazetteerNamesByMRGID

The list of the Gazetteer webservices is in: https://www.marineregions.org/gazetteer.php?p=webservices

Functions naming

We think that the names of the functions should reflect very clearly what is the service you are using to avoid any confusion. For instance: mr_geo_code() uses getGazetteerRecordsByName. We will change this name to something more similar like: mr_gaz_records_by_name().

RESTful formats

You can get gazetteer records in four formats: json, xml, json-ld and turtle. We will get json-ld for the geometries and getGazetteerRecordByMRGID, and plain json for the rest of the gazetteer webservices.

R packages to be used

To access the Gazetteer webservices, we will use httr . To parse json, we will use jsonlite. We have to look for packages that deal with json-ld.

To access WFS, we will use ows4R .

R data types

The output from the functions in R either tibbles (no geometry) or sf objects (with geometry). Depending on the function it might make sense to use lists instead.

To do:

Gazetteer webservices

  • Create new functions to access all the gazetteer webservices
  • Write automated tests with testthat
  • Write documentation: Get Started vignette and README

OGC webservices

  • Create new functions to access the Marine Regions data products via WFS
  • Write automated tests with testthat
  • Write documentation: Get Started vignette and README

Other

@salvafern
Copy link
Collaborator Author

@salvafern
Copy link
Collaborator Author

salvafern commented Sep 7, 2023

TODO:

Editor:

  • docs: Write better contributing guidelines

Review 1:

  • [ ]
    ...

Review 2:

  • chore: Add maintainer to About section
  • chore: Add maintainer to About
  • docs: Info about Marine Regions on top of README
  • docs: Update examples of gaz_search()
  • docs: Modify ?mrp_view() to explain the helpers more explicitely 18696d1
  • docs: Add vignette explaining each column name and type List definitions of each attribute of each data product #20
  • docs: Add related packages to README
    ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant