29.2.3. MetaSearch Catalog Client

29.2.3.1. Introduction

MetaSearch is a QGIS plugin to interact with metadata catalog services, supporting both the OGC API - Records and OGC Catalog Service for the Web (CSW) standards.

MetaSearch provides an easy and intuitive approach and user-friendly interface to searching metadata catalogs within QGIS.

../../../../_images/metasearch-splash.png

Fig. 29.8 Search and results of Services in MetaSearch

29.2.3.2. Working with Metadata Catalogs in QGIS

MetaSearch is included by default in QGIS, with all of its dependencies, and can be enabled from the QGIS Plugin Manager.

OGC API - Records

OGC API - Records is an OGC (Open Geospatial Consortium) standard for the discovery of geospatial resources on the Web.

CSW (Catalog Service for the Web)

CSW (Catalog Service for the Web) is an OGC (Open Geospatial Consortium) specification that defines common interfaces to discover, browse and query metadata about data, services, and other potential resources.

Startup

To start MetaSearch, click the metasearch icon or select Web ► MetaSearch ► MetaSearch via the QGIS main menu. The MetaSearch dialog will appear. The main GUI consists of three tabs: Services, Search and Settings.

Managing Catalog Services

../../../../_images/metasearch-services.png

Fig. 29.9 Managing Catalog Services

The Services tab allows the user to manage all available catalog services. MetaSearch provides a default list of Catalog Services, which can be added by pressing the Add Default Services button.

To find all listed Catalog Service entries, click the dropdown select box.

To add a Catalog Service entry:

  1. Click the New button

  2. Enter a Name for the service, as well as the URL (endpoint). Note that for OGC CSW 2.0.2 Catalogs, only the base URL is required (not a full GetCapabilities URL). For OGC API - Records Catalogs, the URL should be the path to the collection endpoint

  3. If the Catalog requires authentication, enter the appropriate User name and Password credentials.

  4. Click OK to add the service to the list of entries.

To edit an existing Catalog Service entry:

  1. Select the entry you would like to edit

  2. Click the Edit button

  3. And modify the Name or URL values

  4. Click OK.

To delete a Catalog Service entry, select the entry you would like to delete and click the Delete button. You will be asked to confirm deleting the entry.

MetaSearch allows loading and saving connections to an XML file. This is useful when you need to share settings between applications. Below is an example of the XML file format.

<?xml version="1.0" encoding="UTF-8"?>
<qgsCSWConnections version="1.0">
    <csw type="OGC CSW 2.0.2" name="Data.gov CSW" url="https://catalog.data.gov/csw-all"/>
    <csw type="OGC CSW 2.0.2" name="Geonorge - National CSW service for Norway" url="https://www.geonorge.no/geonetwork/srv/eng/csw"/>
    <csw type="OGC CSW 2.0.2" name="Geoportale Nazionale - Servizio di ricerca Italiano" url="http://www.pcn.minambiente.it/geoportal/csw"/>
    <csw type="OGC CSW 2.0.2" name="LINZ Data Service" url="http://data.linz.govt.nz/feeds/csw"/>
    <csw type="OGC CSW 2.0.2" name="Nationaal Georegister (Nederland)" url="http://www.nationaalgeoregister.nl/geonetwork/srv/eng/csw"/>
    <csw type="OGC CSW 2.0.2" name="RNDT - Repertorio Nazionale dei Dati Territoriali - Servizio di ricerca" url="http://www.rndt.gov.it/RNDT/CSW"/>
    <csw type="OGC CSW 2.0.2" name="UK Location Catalogue Publishing Service" url="http://csw.data.gov.uk/geonetwork/srv/en/csw"/>
    <csw type="OGC CSW 2.0.2" name="UNEP/GRID-Geneva Metadata Catalog" url="http://metadata.grid.unep.ch:8080/geonetwork/srv/eng/csw"/>
</qgsCSWConnections>

To load a list of entries:

  1. Click the Load button. A new window will appear.

  2. Click the Browse button and navigate to the XML file of entries you wish to load.

  3. Click Open. The list of entries will be displayed.

  4. Select the entries you wish to add from the list and click Load.

Click the Service Info button to display information about the selected Catalog Service such as service identification, service provider and contact information. If you would like to view the raw API response, click the Raw API Response button. A separate window will open displaying server information in raw JSON or XML format.

Searching Catalog Services

../../../../_images/metasearch-search.png

Fig. 29.10 Searching catalog services

The Search tab allows the user to query Catalog Services for data and services, set various search parameters and view results.

The following search parameters are available:

  • Keywords: free text search keywords;

  • From: the Catalog Service to perform the query against;

  • Bounding box: the spatial area of interest to filter, defined by Xmax, Xmin, Ymax, and Ymin. Click Set Global to do a global search, click Map Extent to do a search in the visible area, or enter values manually.

Clicking the Search button will search the selected Metadata Catalog. Search results are displayed in a list, and can be sorted by clicking on the column header. You can navigate through search results with the directional buttons below the search results.

Select a result and:

  • Click the View Raw API Response button to open a window with the service response in raw JSON or XML format.

  • If the metadata record has an associated bounding box, a footprint of the bounding box will be displayed on the map.

  • Double-click the record to display the record metadata with any associated access links. Clicking a link opens the link in the user’s web browser.

  • If the record is a supported web service (WMS/WMTS, WFS, WCS, ArcGIS REST Service, etc.) or a GIS File, the Add Data button will be enabled. When clicking this button, MetaSearch will verify if this is a valid OWS. The service will then be added to the appropriate QGIS connection list, and the appropriate connection dialog will appear. If you choose Add GIS File the linked GIS file will be added to the current project.

../../../../_images/metasearch-record-metadata.png

Fig. 29.11 Metadata record display

Settings

../../../../_images/metasearch-settings.png

Fig. 29.12 MetaSearch settings

You can fine tune MetaSearch with the following Settings:

  • Server Timeout: when searching metadata catalogs, the number of seconds for blocking connection attempt. Default value is 10.

  • Disable SSL verification: option to switch off ssl verification.

  • Results paging: when searching metadata catalogs, the number of results to show per page. Default value is 10.

29.2.3.3. Catalog Server Errors

In some cases, the Catalog will work in a web browser, but not in MetaSearch. This may be due to the Catalog server’s configuration/setup. Catalog server providers should ensure URLs are consistent and up to date in their configuration (this is common in HTTP -> HTTPS redirection scenarios). Please see the pycsw FAQ item for a deeper explanation of the issue and fix. Although the FAQ item is pycsw specific it can also apply in general to other Catalog servers.