Metadata and View Service with GeoCat Bridge, GeoNetwork and GeoServer

In this recipe we use GeoCat Bridge to publish a View Service on a soil dataset in GeoServer, combined with connected metadata in a GeoNetwork instance.

GeoCat Bridge is a plugin for QGIS or ArcMap developed by GeoCat in Bennekom, the Netherlands. Its goal is to facilitate the complex process of data publication from a well known desktop environment. An introductionary video is available at https://www.youtube.com/watch?v=f-sZCVnR9dc

GeoServer is a server application providing OGC services on various database backends. See the relevant recipe for a more detailed description.

GeoNetwork is a server application providing a search interface and various api’s on a collection of metadata records. See the relevant recipe for a more detailed description.

Contents of the recipe:

  • Deploy GeoServer and GeoNetwork using Docker
  • Install and configure the Bridge plugin
  • Publish the dataset

Deploy GeoServer and GeoNetwork using Docker

This recipe is based on Docker, but you can also install each of the components directly on your system. New to Docker? Read the Docker recipe.

We use the QGIS edition of Bridge, but an edition for ArcMAP is also available.

Download the file https://github.com/ejpsoil/ejpsoil-data-publication-guidance/docker/bridge-geoserver-geonetwork/docker-compose.yml into an empty folder. Navigate to the folder using a shell client (windows powershell or Linux/Apple shell) and run:

docker compose up

The above statement will download and deploy docker containers for GeoServer, GeoNetwork, PostGreSQL and Elastic Search. When finished (it may take a long time), you can access GeoServer at https://localhost:8000/geoserver and GeoNetwork at https://localhost:8001/geonetwork.

GeoNetwork starts with an error, because the database is empty. Navigate to http://localhost:8001/geonetwork/srv/eng/admin.console#/metadata, login as user: admin, password: admin. Select the iso19139:2007 profile and click Load templates and Load samples.

Install and configure the Bridge plugin

With QGIS, open the QGIS plugins repository and search for the GeoCat Bridge plugin. Install it.

After succesfull installation, we will configure our GeoServer and GeoNetwork instances.

Find the Bridge module on the toolbar or in the Web > GeoCat Bridge > Publish menu. From the publish window, open the Servers tab.

In the bottom left click the New server option and select GeoServer. Populate the fields.

Click New server again and select GeoNetwork. Populate the fields.

You are now ready to publish your first dataset from QGIS.

Publish the dataset

Open the dataset to be published. Configure the layer with relevant styling and labels.

Open the publish window from the menu (or toolbar).

Select the layer to be published. A metadata editor will open in which you can configure some metadata. You can also import embedded metadata (use the button with a downward arrow, top right).

Select the target servers for the publisation and click the publish button.

When returning to the publish panel, you will notice an icon behind each layer indicating the publication status. You can now right click on the layer to preview the wms layer or the metadata.

Note that the styling options in QGIS and GeoServer are not a full match. Some styling transformations are applied which may impact the final result on GeoServer. A common caveat is the availability of certain fonts, used for labeling or icons, on the client and the server. Make sure all used fonts are available on the server as well. |

Validate the view service

The INSPIRE Validator provides a validation of view services. It will mainly test if metadata elements are available and the service is reachable.

The docker containers run locally, so the services can not be tested by the INSPIRE Validator. In Local Tunnel an approach is suggested to temporarily host a local service online, so you can run the validation.

We have not yet installed the INSPIRE plugin on GeoServer and optimized the configuration of GeoNetwork, so expect some tests to fail