diff --git a/README.md b/README.md
index 89885b562210dc3e871564266db3a68d7f7671cc..1a3a491f682979a736fb5d0f100ea27a7e0bf298 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,4 @@
-# EJPSoil Data Publication Guidance
+# EJPSoil Data Assimilation Guidance
 
-This repository has been set up as a colaborative space for working on cookbooks for good practice guidance for Soil Data dissemination.
+This repository has moved to https://github.com/ejpsoil/soildata-assimilation-guidance
 
-Documentation is maintained in the [docs](docs) folder as [markdown](https://en.wikipedia.org/wiki/Markdown) and is published at an online location at intervals using [MKdocs](https://www.mkdocs.org). 
-
-In [docker](docker) docker compose files are kept for each of the cookbooks for which it is relevant. 
-
-[EJP Soil](https://ejpsoil.eu) is a research project led by INRAE (FR) which has received funding from the EU's Horizon 2020 research and innovation programme; Grant Agreement: 862696
\ No newline at end of file
diff --git a/docker/bridge-geoserver-geonetwork/docker-compose.yml b/docker/bridge-geoserver-geonetwork/docker-compose.yml
deleted file mode 100644
index 6bf4c39298c118728a4661c0bcb5a760d2fd7a14..0000000000000000000000000000000000000000
--- a/docker/bridge-geoserver-geonetwork/docker-compose.yml
+++ /dev/null
@@ -1,72 +0,0 @@
-# forked from https://github.com/geonetwork/docker-geonetwork/blob/main/4.2.2/docker-compose.yml
-# License GPLv2 GeoNetwork-opensource.org
-
-version: '3.1'
-
-volumes:
-  geonetwork:
-  pgdata:
-  pglog:
-  apachelog:
-  geoserver-data:
-
-
-networks:
-  gn-network:
-    driver: bridge
-
-services:
-
-  database:
-    image: postgis/postgis:11-2.5
-    environment:
-      POSTGRES_USER: geonetwork
-      POSTGRES_PASSWORD: geonetwork
-      POSTGRES_DB: geonetwork
-    command: [ "postgres",
-               "-c", "log_statement=all",
-               "-c", "logging_collector=true",
-               "-c", "log_file_mode=0644",
-               "-c", "log_directory=/var/log/postgresql",
-               "-c", "log_filename=postgresql.log" ]
-    volumes:
-      - pgdata:/var/lib/postgresql/data
-      - pglog:/var/log/postgresql
-    networks:
-      - gn-network
-
-  geoserver:
-    image: kartoza/geoserver:2.22.0
-    restart: always
-    ports:
-      - 8000:8080
-    volumes:
-        - geoserver-data:/opt/geoserver_data
-    environment:
-        GEOSERVER_DATA_DIR: /opt/geoserver_data
-        GEOSERVER_ADMIN_USER: admin
-        GEOSERVER_ADMIN_PASSWORD: geoserver
-    networks:
-      - gn-network
-
-  geonetwork:
-    image: geonetwork:3.12
-    restart: always
-    ports:
-      - 8001:8080
-    environment:
-      DATA_DIR: /catalogue-data
-      GEONETWORK_DB_TYPE: postgres
-      GEONETWORK_DB_HOST: database
-      GEONETWORK_DB_PORT: 5432
-      GEONETWORK_DB_NAME: geonetwork
-      GEONETWORK_DB_USERNAME: geonetwork
-      GEONETWORK_DB_PASSWORD: geonetwork
-
-    volumes:
-      - geonetwork:/catalogue-data
-    depends_on:
-      - database
-    networks:
-      - gn-network
-
diff --git a/docker/virtuoso-skosmos/config-docker.ttl b/docker/virtuoso-skosmos/config-docker.ttl
deleted file mode 100644
index 12327ae9e2b946e93715d74774f7bd09bdf08412..0000000000000000000000000000000000000000
--- a/docker/virtuoso-skosmos/config-docker.ttl
+++ /dev/null
@@ -1,86 +0,0 @@
-@prefix void: <http://rdfs.org/ns/void#> .
-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix ssn:   <http://www.w3.org/ns/ssn/> .
-@prefix sosa:  <http://www.w3.org/ns/sosa/> .
-@prefix glosis_cl: <http://w3id.org/glosis/model/codelists#> .
-@prefix glosis_proc: <http://w3id.org/glosis/model/procedure#> .
-@prefix owl: <http://www.w3.org/2002/07/owl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-@prefix dc: <http://purl.org/dc/terms/> .
-@prefix dct: <http://purl.org/dc/terms/> .
-@prefix schema: <http://schema.org/> .
-@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-@prefix wv: <http://vocab.org/waiver/terms/norms> .
-@prefix sd: <http://www.w3.org/ns/sparql-service-description#> .
-@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
-@prefix skosmos: <http://purl.org/net/skosmos#> .
-@prefix isothes: <http://purl.org/iso25964/skos-thes#> .
-@prefix mdrtype: <http://publications.europa.eu/resource/authority/dataset-type/> .
-@prefix : <#> .
-
-
-
-# Skosmos main configuration
-
-:config a skosmos:Configuration ;
-    # SPARQL endpoint
-    # a local Fuseki server is usually on localhost:3030
-    skosmos:sparqlEndpoint <https://localhost:2020/sparql> ;
-    # sparql-query extension, or "Generic" for plain SPARQL 1.1
-    # set to "JenaText" instead if you use Fuseki with jena-text index
-    skosmos:sparqlDialect "Generic" ;
-    # whether to enable collation in sparql queries
-    skosmos:sparqlCollationEnabled false ;
-    # HTTP client configuration
-    skosmos:sparqlTimeout 20 ;
-    skosmos:httpTimeout 5 ;
-    # customize the service name
-    skosmos:serviceName "ISRIC Vocabularies" ;
-    # customize the base element. Set this if the automatic base url detection doesn't work. For example setups behind a proxy.
-    # skosmos:baseHref "http://glosis.isric.org/glosis/" ;
-    # interface languages available, and the corresponding system locales
-    skosmos:languages (
-        [ rdfs:label "en" ; rdf:value "en_GB.utf8" ]
-    ) ;
-    # how many results (maximum) to load at a time on the search results page
-    skosmos:searchResultsSize 50 ;
-    # how many items (maximum) to retrieve in transitive property queries
-    skosmos:transitiveLimit 1000 ;
-    # whether or not to log caught exceptions
-    skosmos:logCaughtExceptions true ;
-    # set to TRUE to enable logging into browser console
-    skosmos:logBrowserConsole true ;
-    # set to a logfile path to enable logging into log file
-    # skosmos:logFileName "/var/log/skosmos.log" ;
-    # a default location for Twig template rendering
-    skosmos:templateCache "/tmp/skosmos-template-cache" ;
-    # customize the css by adding your own stylesheet
-    skosmos:customCss "resource/css/stylesheet.css" ;
-    # default email address where to send the feedback
-    skosmos:feedbackAddress "" ;
-    # email address to set as the sender for feedback messages
-    skosmos:feedbackSender "" ;
-    # email address to set as the envelope sender for feedback messages
-    skosmos:feedbackEnvelopeSender "" ;
-    # whether to display the ui language selection as a dropdown (useful for cases where there are more than 3 languages) 
-    skosmos:uiLanguageDropdown true ;
-    # whether to enable the spam honey pot or not, enabled by default
-    skosmos:uiHoneypotEnabled true ;
-    # default time a user must wait before submitting a form
-    skosmos:uiHoneypotTime 5 ;
-    # plugins to activate for the whole installation (including all vocabularies)
-    skosmos:globalPlugins () .
-
-# Skosmos vocabularies
-
-:glosis_cl a skosmos:Vocabulary, void:Dataset, owl:Ontology ;
-    dc:title "GLOSIS - Global Soil Information System"@en ;
-    skosmos:shortName "glosis_cl";
-    dc:subject :cat_general ;
-    void:uriSpace "http://w3id.org/glosis/model/codelists#";
-    skosmos:language "en";
-    skosmos:defaultLanguage "en";
-    void:sparqlEndpoint <https://virtuoso.isric.org/sparql> ;
-    skosmos:sparqlGraph <http://w3id.org/glosis/model/codelists#> ;
-    skosmos:mainConceptScheme  <http://w3id.org/glosis/model/codelists#physioChemicalPropertyCode> .
diff --git a/docker/virtuoso-skosmos/docker-compose.yml b/docker/virtuoso-skosmos/docker-compose.yml
deleted file mode 100644
index eb1a847b0d0a0a5095940e08ab2dd294cc4f129b..0000000000000000000000000000000000000000
--- a/docker/virtuoso-skosmos/docker-compose.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-version: '3.1'
-
-volumes:
-  virtuoso:
-
-services:
-
-# this needs a database?
-
-  virtuoso:
-    image: openlink/virtuoso-opensource-7:latest
-
-  skosmos:
-    image: ndslabs/skosmos:latest
-
-# we need to map a config file into the container as a volume, pointing to the local sparql endpoint
\ No newline at end of file
diff --git a/docs/QOS.md b/docs/QOS.md
deleted file mode 100644
index 5f8cd4bee709212c58055b28c3707d332d65cd8e..0000000000000000000000000000000000000000
--- a/docs/QOS.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-# **Quality of Service**
-
-Via the quality of service conventions data providers report about the quality of their services. Aspects which are monitored are:
-
-- Availability (how long was a service down or offline in a period)
-- Performance and capacity (a period in which performance and capacity requirements are not met, is considered downtime)
-- Usage (how much is the service used)
-
-There is no minimal, traditional or experimental approach on how to measure these quality indicators. Consult your IT department or hosting company which tools they are used to work with. Confirm with them to extend and/or share these measurements for the requested parameters.
-
-To know the availability of a service, it requires to permanently monitor the availability of the service (excluding the maintenance windows). A basic alive-test every 5 minutes is sufficient. Many software exists for availability monitoring, such as [Zabbix](https://zabbix.com/), [Nagios](https://nagios.org/), [CheckMK](https://checkmk.com/), [pingdom](https://www.pingdom.com/). A special mention for the Python based [GeoHealthCheck](https://geohealthcheck.org/) package, which includes the capability on WMS/WFS services to drill down to the data level starting from the GetCapabilities operation.
-
-To know the capacity and performance of the service it is optimal to perform some load tests prior to moving to production. A common mistake is to provide a WMS service to a big vector dataset. When requesting that dataset on a national level, the server runs into problems drawing all the features at once. An alternative approach to evaluate performance is to extract the access logs of the service into an aggregation tool like [Kibana](https://www.elastic.co/kibana) and evaluate the number of requests exceeding the limits.
-
-To capture the usage of a service you can extract the usage logs and import them in a tool like Kibana, [Splunk](https://www.splunk.com/) or [AW stats](https://awstats.sourceforge.io/). Defining rules to extract the requested layer name from a WMS request is useful. Mind that not all requests are GET requests, some WFS requests use POST, which may need some configuration on the webserver to enable POST parameter logging. Make sure the logging includes the 'Referer' and 'User-agent' parameters, which allows to differentiate types of uses. Finally consider there is a [GDPR](https://eur-lex.europa.eu/eli/reg/2016/679/oj) privacy aspect to collecting access logs. Consider to exclude the IP address of the user and define a maximal retention for access logs.
-
diff --git a/docs/acronyms.md b/docs/acronyms.md
deleted file mode 100644
index 708a70fc0d024a984d00fc9f9bda80deaaa833f1..0000000000000000000000000000000000000000
--- a/docs/acronyms.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# **List of acronyms and abbreviations**
-
-| acronym | definition |
-| --- | --- |
-| API | Application Programming Interface |
-| CSW | Catalogue Service for the Web |
-| DCAT | Data Catalogue Vocabulary |
-| ETL | Extract Transform Load (data integration) |
-| FAO | Food and agriculture organisation at United Nations |
-| FME | Feature Manipulation Engine (data integration platform) |
-| GP | Good Practice document |
-| HALE |  Humboldt Alignment Editor (data integration platform) |
-| INRAE |  French national agricultural research institute |
-| INSPIRE |  EU Directive for an SDI with impact on environment |
-| IR |  Implementation Rules |
-| ISO19139 |  Vocabulary for metadata of spatial datasets and services |
-| JRC | Joint Research Centre |
-| O&M | Observations and Measurements (OGC standard) |
-| OGC |  Open Geospatial Consortium (standardisation body) |
-| SAAS |  Software as a Service |
-| SDI | Spatial Data Infrastructure |
-| SIS | Soil Information System |
-| SKOS |  Simple Knowledge Organization System |
-| TG | Technical Guidelines Document |
-| WCS | Web Coverage Service |
-| WMS | Web Map Service |
-| WMTS |  Web Map Tile Service |
-| WAF | Web Accessible Folder |
-| WFS | Web Feature Service |
-| URI |  Universal Resource Identifier |
diff --git a/docs/codelists.md b/docs/codelists.md
deleted file mode 100644
index 9c0abcf1d880ba9d09444d0119051f703de04d2c..0000000000000000000000000000000000000000
--- a/docs/codelists.md
+++ /dev/null
@@ -1,32 +0,0 @@
-
-The adoption of INSPIRE code lists has three steps:
-
-- Collecting the code lists currently used
-- Evaluation of the differences between local and the INSPIRE code lists
-  - Some code lists are a full match
-  - Some INSPIRE code lists need to be extended, or values mapped
-  - Some code lists do not match with an INSPIRE code list
-- In cases where the INSPIRE code list cannot (fully) be adopted, the code list needs to be published in a local repository
-
-Adoption of a dedicated codelist is relevant for example for Soil classification. Many of the national soil classification systems have much more detail than the [World Reference Base](https://inspire.ec.europa.eu/codelist/WRBSpecifierValue), as suggested to be used by the [TG Soil](https://inspire.ec.europa.eu/id/document/tg/so).
-
-| Please note that the harmonisation meant here is harmonisation of the description of the data, for example describing a soil observation of pH KCl with dilution 1:10 in the same way across Europe. The harmonisation of the data itself, for example transforming pH KCl values to pH H2O values, is a separate step and not described in this wiki. More information on that harmonisation can be found in D6.1 chapter 3.5 page 122. |
-| --- |
-
-The soil theme has a large number of code lists, ranging from soil type to ranges of grain size. Many code lists originate from the FAO soil classification and are published in the [INSPIRE registry](https://inspire.ec.europa.eu/registry/).
-
-### Implementation options for extending a code list
-
-#### Minimal
-
-The most basic form of publishing an alternative or extended code list is to place a code list file on a web location and reference values in it as [http://example.com/codelist.xml#concept](http://example.com/codelist.xml#concept) (see for example [http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml](http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml))
-
-#### Traditional
-
-Extended code lists can be published in a local or national instance of the [Re3gistry](https://github.com/ec-jrc/re3gistry) software. This open source project is hosted by JRC to facilitate the INSPIRE registry.
-
-#### Experimental
-
-A standard for the definition of code lists is [Simple Knowledge Organization System](https://www.w3.org/TR/skos-reference/) (SKOS). Any SPARQL endpoint can be used to publish a code list based on SKOS. Software exists which facilitates the consumption of SKOS data from a SPARQL endpoint in a human friendly way. An example is [Skosmos](https://skosmos.org/).
-
-A powerfull aspect of SKOS is that you can link from a concept to existing concepts in other codelists using link relations such as: sameAs, Broader, Narrower.
diff --git a/docs/download.md b/docs/download.md
deleted file mode 100644
index c987c0d451103c10a33228a849ee0528de87994b..0000000000000000000000000000000000000000
--- a/docs/download.md
+++ /dev/null
@@ -1,50 +0,0 @@
-
-# **Download services**
-
-Download services facilitate the download of vector or grid data.
-
-### Minimal
-
-The INSPIRE Atom Service provides a minimal download service implementation on a series of downloadable files placed in a web accessible folder. For every file a 'dataset feed' document can be generated and linked to a service feed describing the 'service'. A metadata record points to the service feed to complete the implementation.
-
-Alternatively, products like [GeoNetwork](https://geonetwork-opensource.org/manuals/3.10.x/en/tutorials/inspire/download-atom.html) and Hale Connect (Annex 1) can provide an Atom interface on top of a set of registered datasets. The [TG download services](https://inspire.ec.europa.eu/documents/technical-guidance-implementation-inspire-download-services) also provides some PHP scripts which create an Atom OpenSearch interface for a series of files.
-
-| Cookbook | Software | Description |
-| --- | --- | --- |
-| [Webdav](tools/webdav.md) | [Wsgidav](https://wsgidav.readthedocs.io) | Setting up atom service using webdav |
-| [GeoNetwork Atom](tools/geonetwork-atom.md) | [GeoNetwork](https://geonetwork-opensource.org) | Atom download service from GeoNetwork |
-
-### Traditional
-
-[Web Feature Service](https://www.ogc.org/standards/wfs) (WFS) and [Web Coverage Service](https://www.ogc.org/standards/wcs) (WCS) are commonly used to download Featurecollections (vector) and Coverages (grids). Consider that most of the INSPIRE themes (including soil) require publication of hierarchical (app-schema) features, this aspect is not supported by many WFS server implementations. Some tools with this capability are listed in the table below. For WCS a [good practice](https://inspire-wcs.eu/) is available to facilitate implementation.
-
-| Cookbook | Software | Description |
-| --- | --- | --- |
-| [deegree](tools/deegree.md) | [deegree](https://deegree.org) | Java based feature server implementations which also includes WMS, WMTS, CSW, WCS interfaces, deegree facilitates on the fly transformation from relational data as well as publication of pregenerated xml fragments.|
-| Xtraserver | [XtraServer](https://www.interactive-instruments.de/en/xtraserver/) / [ArcGIS](https://enterprise.arcgis.com/en/inspire/) | Xtraserver, either standalone or as INSPIRE plugin for ArcGIS, facilitates on the fly transformation of relational data to INSPIRE GML as part of the WFS service definition. The developers of Xtraserver lead the GML working group at OGC |
-| [GeoServer](tools/geoserver.md) | [GeoServer](https://geoserver.org/) | The app-schema plugin extends the WFS implementation with support for hierarchical features. On the fly transformation is managed from a configuration file. Marcus Sen (Onegeology) create a [cookbook for this approach](http://www.onegeology.org/docs/technical/OneGeologyWFSCookbook_v1.4.pdf). |
-| [Get started with Hale Connect](https://help.wetransform.to/docs/getting-started/2018-04-28-quick-start) | [Hale Connect](https://www.wetransform.to/products/haleconnect/) | Optimized for performance, stores pregeneralised xml fragments in combination with an elastic search index for filtering |
-| [Good practice on coverage data](https://inspire.rasdaman.org/) | [Rasdaman](http://www.rasdaman.org/) | A Web Coverage Service implementation |
-
-Consider that a product advertising WFS support does not automatically qualify for INSPIRE, the product has to support hierarchical GML.
-
-### Experimental
-
-As described in the harmonization paragraph, Sensor Observation Service and SensorThings API offer an alternative download option for themes including much observation data, such as Soil.
-
-A good practice document has been adopted on the [use of OGC API Features as download service](https://inspire.ec.europa.eu/good-practice/ogc-api-%E2%80%93-features-inspire-download-service). With its 20 years of history WFS and GML are out of synch with current IT practices. OGC API is a new direction of standards within OGC adopting some of the latest IT conventions, such as Open API, Rest services, JSON encodings, content negotiation, etc. The use of OGC API will increase in coming years while OGC adopts more standards and good practice documents around these standards will be written and adopted by JRC. Various products exist implementing the final and/or draft specifications.
-
-A SPARQL endpoint is a typical endpoint for downloading data within the semantic web. In the table below some guidance on various approaches to the semantic web.
-
-GraphQL is an industry standard for queries on hierarchical data using modern api concepts. GraphQL is not frequently associated to Geospatial data, but it would be a good fit for soil data.
-
-| Cookbook | Software | Description |
-| --- | --- | --- |
-| [pygeoapi](tools/pygeoapi.md) | [pygeoapi](tools/pygeoapi.md) | A python based open source implementation of OGC APIs including OGC API Features. Configuration is managed from a configuration file. |
-| LDProxy | [ldproxy](tools/ldproxy.md) | A java based open source implementation of OGC APIs. Originally developed by Interactive Instruments as an easy way to consume API (proxy) on top of existing WFS. These experiments were a main driver for OGC in the direction of OGC API. Configuration is managed from a web interface. |
-| [GeoServer](tools/geoserver.md) | [GeoServer](https://geoserver.org) | OGC API is a community plugin of GeoServer, it publishes an alternative endpoint for the datasets published as WFS. |
-| [QGIS server](tools/qgis.md) | [QGIS](https://qgis.org) | QGIS Server includes the option to enable OGC API Features access to datasets published as WFS |
-| [Cookbook Semantic Web](https://doi.org/10.15454/YJLFZI/OGHA0V) | [Blazegraph](https://blazegraph.com/) / [Coby](https://forgemia.inra.fr/anaee-dev/coby) | INRAE prepared a linked data primer for semantic soil data
-| [Virtuoso & skosmos](tools/virtuoso.md) | [Virtuoso](https://virtuoso.openlinksw.com/) | Triple store providing a SPARQL endpoint |
-| [YARRRML](tools/yarrrml.md) | [yarrrml](https://rml.io/yarrrml) | Human readable declaritive mapping rules for semantic web |
-| [Postgraphile](tools/postgraphile.md) | [Postgraphile](https://www.graphile.org/postgraphile/) | Plugin offering graphile access to postgres databases |
diff --git a/docs/etl.md b/docs/etl.md
deleted file mode 100644
index 67a637086c03b63bef0ef86be77cd3c87424144b..0000000000000000000000000000000000000000
--- a/docs/etl.md
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-# Data harmonization (vector data)
-
-A main aspect of INSPIRE is the harmonization of environmental data throughout Europe. Alinging the format, structure and content of your data to match a common model, so the data can be integrated with other datasets in Europe. And to describe aspects of the data which differ from the common model in such a way, that the differences can be understood by others. INSPIRE does not require to restructure your work processes to fit the INSPIRE conventions, however in case your data infrastructure goes through a major refactor, INSPIRE conventions should be introduced.
-
-One of the most important activities related to harmonization is the adoption of INSPIRE code lists and extending those lists to capture regional conventions. The role of code lists is explained in a dedicated [codelists section](codelists.md). 
-
-This document lists various implementation options for data harmonization
-
-## Minimal
-
-The [good practice on GeoPackage](https://github.com/INSPIRE-MIF/gp-geopackage-encodings) describes a relational database format to share harmonised data. [GeoPackage](https://www.geopackage.org/) is a standardised format for storing relational data by the Open Geospatial Consorium, building on the SQLite database specification. Becuase many soil data is stored in the form of relational databases, the transformation to GeoPackage is relatively easy. The transformation process could for example be triggered by a series of database queries within a GIS Desktop client such as QGIS, in Python scripts or an ETL tool such as Hale Studio or FME. 
-
-Pro's and Con's:
-
-- The GeoPackage format is easy to consume by average users.
-- To capture the hierarchical structure of the INSPIRE datamodels, a lot of tables are needed, resulting in a complex data-model. 
-- The good practice is recent, so not a lot of community experience is available yet 
-- Users download a full dataset, no (filering) api's are defined for GeoPackages yet
-
-| Cookbook | Software | Description |
-| --- | --- | --- |
-| [Glosis as a database](glosis-db.md) | - | Harmonise soil data using GeoPackage |
-
-## Traditional
-
-Tools like Hale Studio and FME are typically used to configure a conversion from data in a relational data model to data in a GML based INSPIRE model. The output is a big GML file which can be published using a WFS server or Atom download service. Below table links to detailed pages on various relevant technologies.
-
-| Cookbook | Software | Description |
-| --- | --- | --- |
-| [FME & INSPIRE](https://www.safe.com/integrate/inspire-gml/) | (FME)[https://www.safe.com/fme/] | Feature Manipulation Engine is a visually oriented data integration platform |
-| [Hale Studio](tools/hale.md) | [Hale Studio](https://wetransform.to/halestudio/) | Humboldt Alignment Editor Studio is a Desktop tool to author 'data alignments'. |
-
-Alternatively some server tools offer on the fly transformation as part of the download service, the data mapping is defined within the service configuration.
-
-| Product | Software | Description |
-| --- | --- |
-| [GeoServer](tools/geoserver.md) | [GeoServer](https://geoserver.org)) | Java based server implementation |
-| [deegree](tools/deegree.md) | Java based server implementation |
-| [Xtraserver](tools/xtraserver.md) | Java based server implementation, also distributed as ArcGIS for INSPIRE Classic |
-
-Pro's and Con's:
-
-- The approach is well established, availability of documentation and validation tooling.
-- The model captures the richness of soil data well
-
-- Environment is hard to set up and maintain and is resource intensive (memory and cpu)
-- GML is difficult to consume by average users
-
-## Experimental
-
-Since the soil theme substantially depends on [Observations and Measurements](https://www.ogc.org/standards/om) (O&M), the use of [Sensor Observation Service](https://www.ogc.org/standards/sos) (SOS) as a download service is a proper alternative to WFS. Various tools offer SOS, or its follow-up, [SensorThings API](https://www.ogc.org/standards/sensorthings), directly on top of a relational database. Katharina Schleidt provides some interesting work on [setting up SensorThings API to provide INSPIRE data](http://www.datacove.eu/inspire/).
-
-| Product | Description |
-| --- | --- |
-| [52 north](https://52north.org/software/software-projects/sos/) | Java based open source SOS 2.0 implementation |
-| [Frost server](https://fraunhoferiosb.github.io/FROST-Server/) | Java based implementation of Sensorthings API |
-| [istSOS](http://istsos.org/) | Python based open source SOS 1.0 implementation |
-
-Various groups prefer to work with semantic web technology over UML/XSD to publish environmental data. Various tools exist which expose relational models as sematic graph. INRAE provides an interesting cookbook on how to [publish soil data using semantic technology](https://doi.org/10.15454/YJLFZI).
-
-| Product | Description |
-| --- | --- |
-| [Ontop](https://ontop-vkg.org/) | Exposes the content of arbitrary relational databases as knowledge graphs |
-| [D2RQ](http://d2rq.org/) | Accessing relational databases as virtual, read-only RDF graphs |
-| [TopBraid](https://www.topquadrant.com/doc/7.1/scripting/importing.html) | Desktop tool to manage graphs and relational data imports |
diff --git a/docs/identification.md b/docs/identification.md
deleted file mode 100644
index 3993434b2fda27743a51414790452a980aead37e..0000000000000000000000000000000000000000
--- a/docs/identification.md
+++ /dev/null
@@ -1,40 +0,0 @@
-
-# **Identification, namespaces and URI strategy**
-
-An important aspect of publication of data on the web is universal identification of objects within the European INSPIRE infrastructure. Identifiers are constant, unique and authoritative.
-
-Any identifier is typically combined with a namespace for that identifier, or both aspects are combined into a single Universal Resource Identifier (URI) for the object. Namespaces need to be authoritative but should not be sensible to change. For example, a project name is not a good namespace, because the project is bound to end after a certain period. Examples of good namespaces are: w3id.org, doi.org, data.gouv.fr.
-
-Some countries have a registry of national namespaces. Select a namespace from that registry, or consider to add your namespace to that registry if it relates to a national application.
-
-### Minimal implementation
-
-In a minimal implementation you can concatenate the database identifier, the featuretype and a namespace to create the INSPIRE identification for the object. For example:
-
-_https://data.gouv.fr/inrae/collections/{featuretype}/items/{id}_
-
-To facilitate users to use the INSPIRE identification to open the object in a web browser, you can set up a routing mechanism to forward the request to the location where the catalogue or feature server is located.
-
-An example of such a routing rule in Apache webserver:
-
-``` 
-RewriteRule
-  "https://data.gouv.fr/inrae/collections/(.\*)/items/(.\*)$"
-  "http://data.recover.inrae.fr:8081/geoserver/vulter/wfs?typeNames=$1&featureID=$2&request=GetFeature"
-```
-
-### Traditional
-
-The Technical Guidelines have a long section on identification within INSPIRE, including dates indicating the validity of a feature. An interesting blog about the use of Namespaces and Identifiers is written by Thorsten Reitz at [https://www.wetransform.to/news/2018/02/12/best-practices-for-inspire-ids/](https://www.wetransform.to/news/2018/02/12/best-practices-for-inspire-ids/).
-
-### Experimental
-
-These days the INSPIRE community recommends the use of URI's to identify things. This aspect is described in [https://inspire.ec.europa.eu/implementation-identifiers-using-uris-inspire-%E2%80%93-frequently-asked-questions/59309](https://inspire.ec.europa.eu/implementation-identifiers-using-uris-inspire-%E2%80%93-frequently-asked-questions/59309).
-
-The aspect of identification is one of the major benefits of the upcoming OGC API's over traditional WMS, WFS, WCS. By design any feature, coverage, record or tile in OGC API has a unique URI, including content negotiation to be able to request the object in one of the available encodings (xml, json, html, Geopackage)
-
-### Common mistakes
-
-In many cases catalogue records and service definitions are populated manually in separate locations. Verify that at each location the identification and namespace of links between metadata and services are correct. Initially JRC did not have testing procedures to test these linkages. In practice a lot of these links where not correct, causing users not to be able to download a dataset from a search result in the national and INSPIRE GeoPortal.
-
-Integrated data and metadata platforms, such as Hale Connect, prevent this type of mistakes. A helpful tool in this area is GeoCat Bridge (a plugin for QGIS or ArcGIS Desktop), which publishes data to a feature server and metadata to a catalogue, ensuring the bidirectional linkage is correct.
diff --git a/docs/index.md b/docs/index.md
deleted file mode 100644
index 6fdc3f084d7553e38bc57ca5222242aa7e1c9a72..0000000000000000000000000000000000000000
--- a/docs/index.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# **Introduction**
-
-The INSPIRE [implementation rules](https://inspire.ec.europa.eu/inspire-implementing-rules/51763) (IR) present approaches to publish data on the web. There is a number of conventions, tools and practices available to publish data according to the rules. Initially, the JRC published a series of [technical guidelines](https://inspire.ec.europa.eu/inspire-technical-guidance/57753)n(TG). These days [good practice documents](https://inspire.ec.europa.eu/portfolio/good-practice-library) (GP) are prepared by the community and adopted by JRC. By following these guidelines or good practices, you are facilitated to be compliant to the INSPIRE rules according to agreed upon procedures. However, you can still publish data in alternative ways, but in that case you need to declare how you comply to the rules with your implementation.
-
-This wiki lists a series of options for publishing data according to the Technical Guidelines and/or the Good Practices. For each option cookbooks on various technologies are provided. The practices are categorized at 3 levels:
-
-- Minimal, based on a minimal effort
-- Traditional, following initial technical guidelines
-- Experimental, following recent and upcoming good practices
-
-The practices cover 7 topics.
-
-- [Identification and namespaces](identification.md)
-- [Metadata and Discovery](metadata.md)
-- [Data harmonization](etl.md) for vector data
-- [Code lists](codelists.md)
-- [View services](view.md)
-- [Download services](download.md)
-- [Quality of service](QOS.md)
-
-| _ **Disclaimer** : References to products are examples, we do not aim to provide a complete listing, neither endorse a specific service provider. Please consult any alternative software provider to what extent INSPIRE is supported in their products. In that scenario consider to contribute your experiences to this document._ |
-
-## Reading guide
-
-While reading the document you may realize; if INSPIRE offers so many options, then consuming and combining data on the client side will be a challenge, a client needs to be aware of all these practices and conventions. But consider that despite the various technical options (which could also be bridged by intermediaries) there are certain aspects that are constant in any of the implementations; any implementation covers some form of data discovery, harmonization, view and download services. But also, aspects such as identifier persistence and adoption of code lists, as we will explain.
-
-When selecting one of the available options, consider the following aspects:
-
-- The minimal implementation will have limitations for end users (for example having to download the full dataset, if they are only interested in a small section). On the other hand, minimal implementations tend to be less complex in setup which makes understanding the implementation easier.
-- The traditional implementation has the most active users, so dedicated documentation and tooling is available with high Technical Readiness Level (TRL). However, the technology is based on conventions of almost 20 years ago, some conventions are outdated with current IT practices.
-- An experimental approach brings the risk of incomplete documentation and tools. Also there is less evidence on conformance to the directive. But it also gives opportunity to use current technologies and engage with the community to design the next iteration of INSPIRE.
-
-Before selecting an option evaluate the following aspects in your organization.
-
-- What are current IT tools and conventions used in the organization to understand which of the approaches fits best with the current knowledge and experience
-- Combine an implementation of INSPIRE with business cases that generate direct benefit for your organization or partners. For example, adoption of the open data directive, better documentation and reporting of service levels, improved archival of data, discoverability on search engines.
-- Assess the projected audience. Verify that the complexity and nature of the implementation matches with the expectations and capabilities of that audience.
-
-We recommend to start with a minimal implementation and validate it with the provided [compliance test tooling](https://inspire.ec.europa.eu/work-programme/validation-and-conformity-testing). From there, extend the implementation while continuing the tests with each iteration. In this scenario you are able to focus on the important aspects and prevent caveats early on in the process.
-
-For background reading on terminology and general principles described in this wiki (like data modelling, ontologies and the INSPIRE model), please see EJP Soil Deliverable 6.1 chapter 3.
diff --git a/docs/metadata.md b/docs/metadata.md
deleted file mode 100644
index 79e8392843730f8b0456f4fd64aaea3b78a06756..0000000000000000000000000000000000000000
--- a/docs/metadata.md
+++ /dev/null
@@ -1,35 +0,0 @@
-
-# **Metadata & discovery**
-
-As described in section 3.3.3. of the D6.1 report on harmonized procedures for creation of databases and maps, metadata discovery is important for potential users to be aware what data is available, evaluate if the data is relevant for them and how they can fetch it, or who to contact for more details. Essentially, the initial goal of any Spatial Data Infrastructure (SDI) is to describe its content. Metadata of datasets and services is described in documents, which are made accessible via a discovery service as records in a catalogue.
-
-In the soil domain we generally have 2 types of datasets, actual soil observations (calcium content in a horizon of a soil profile at a certain date or a soil profile field classification) and derived grids or polygon maps which represent parameter or soil type distribution for an area. For the second type of datasets describing the lineage (history) of the data is very important. Typically, you would describe the dataset with point observations in 1 document and link another document, describing the derived dataset, and link it as a parent-child relation. The document describing the derived dataset will contain 'processing-steps' describing the model that was used to calculate or derive the parameter or soil type distribution (D6.1 ch 5). This aspect is important for the usage of the derived dataset, to be able to evaluate if the estimate is valid for the envisioned use.
-
-_\<Maybe a short alinea on FAIR best practices (what it is, why it's important and a link)? This would probably be the most logical place for it?\>_
-
-### Minimal
-
-In a minimal implementation you can describe your dataset as well as your services in a single metadata document. This 'good practice' is described in [https://github.com/INSPIRE-MIF/gp-data-service-linking-simplification](https://github.com/INSPIRE-MIF/gp-data-service-linking-simplification). Basic metadata editors exist, of which the most basic is Notepad++. In the Python domain exists the pyGeoMeta and OWSLib projects, which offer capabilities to generate ISO19139 metadata from other formats.
-
-These metadata documents can be placed in a [Web Accessible Folder](https://ioos.github.io/catalog/pages/registry/waf_creation/). Products exist which are able to ingest documents from such a folder and expose it as a CSW discovery service. Such an ingest point could be installed at a national level, to facilitate the European INSPIRE GeoPortal (which currently only supports ingests via CSW).
-
-### Traditional
-
-The [TG metadata](https://inspire.ec.europa.eu/id/document/tg/metadata-iso19139) (Technical Guidelines metadata) defines 2 types of metadata; documents which describe a dataset which are linked to documents which describe the service via which the datasets are published.
-
-The [TG discovery](https://inspire.ec.europa.eu/documents/technical-guidance-implementation-inspire-discovery-services-0) describes how the metadata documents need to be published as a CSW discovery service. The table below lists some products which can be used to set up such a service. Mind that the TG extends the OGC CSW specification with some specific INSPIRE elements, for identification and multilingualism.
-
-| Product | Description |
-| --- | --- |
-| [GeoNetwork](https://www.geonetwork-opensource.org/) | A java based open source catalogue application widely used by member states for INSPIRE discovery. Provides a public portal application. Supports CSW, metadata authoring, validation and harvesting. |
-| [pyCSW](https://pycsw.org/) | A python based open source CSW server. Supports CSW, OGC API Records. Used in portal software such as [CKAN](https://github.com/ckan/ckanext-spatial)[Spatial](https://github.com/ckan/ckanext-spatial) and [GeoNode](https://geonode.org/). |
-| [ArcGIS Geoportal](https://github.com/Esri/geoportal-server) | A java based open source CSW implementation for the ArcGIS platform. A CSW client for ArcGIS desktop is included. Note that this package is not the same as ArcGIS Portal. |
-| [Hale Connect](https://www.wetransform.to/products/haleconnect/) | A metadata authoring and CSW interface is provided as part of the HALE Connect SAAS offering. |
-| [deegree](http://www.deegree.org/) | A java based CSW implementation for the datasets registered in this WMS/WFS server |
-| [GeoServer](https://geoserver.org/) | A java based CSW implementation for the datasets registered in this WMS/WFS server |
-
-### Experimental
-
-A good practice exists related to [Geo-DCAT-ap](https://inspire.ec.europa.eu/good-practice/geodcat-ap). It explains how to publish metadata using the Geo-DCAT-ap vocabulary as an additional metadata format. At present the use of ISO19139 is required by all guidelines. However, it is expected that it will soon be possible to offer metadata in a DCAT only. DCAT facilitates records to be discovered via google dataset search (and other search engines and semantic web platforms).
-
-Currently no 'good practice' exists to offer discovery services in alternative protocols then CSW. A good practice to adopt [OGC API Records](https://ogcapi.ogc.org/records/) is being prepared. OpenSearch, OData and SPARQL could be alternative discovery service protocols.
diff --git a/docs/tools/bridge-geoserver-geonetwork.md b/docs/tools/bridge-geoserver-geonetwork.md
deleted file mode 100644
index 814337e9338c8c8eae50ccbc486ec2e6175c4171..0000000000000000000000000000000000000000
--- a/docs/tools/bridge-geoserver-geonetwork.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# Metadata and View Service with GeoCat Bridge, GeoNetwork and GeoServer
-
-In this cookbook we use GeoCat Bridge to publish a View Service on a soil dataset in GeoServer, combined with connected metadata in a GeoNeonetwork instance. 
-
-
-[GeoCat Bridge](https://www.geocat.net/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](geoserver.md) is a server application providing OGC services on various database backends.
-
-[GeoNetwork](geonetwork.md) is a server application providing a search interface and various api's on a collection of metadata records.
-
-## Contents of the cookbook:
-
-- Deploy GeoServer and GeoNetwork using Docker
-- Install and configure the Bridge plugin
-- Publish the dataset
-
-## Deploy GeoServer and GeoNetwork using Docker
-
-This cookbook assumes you have docker installed, but you can also install each of the components directly on your system. We use the QGIS edition of Bridge, but an [edition for ArcMAP](https://geocat.net/bridge) 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. |
diff --git a/docs/tools/deegree.md b/docs/tools/deegree.md
deleted file mode 100644
index b651cc1e86629966933a55c82ea91264fca7b2c9..0000000000000000000000000000000000000000
--- a/docs/tools/deegree.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# deegree
-
-An open source java server implementation of WMS, WMTS, CSW, WCS, WFS, WPS.
-
-Maintained by companies called [LatLon](https://www.lat-lon.de/) and [IDGis](https://www.idgis.nl/nl/deegree)
-
-- Website: http://www.deegree.org/
-- Documentation: https://download.deegree.org/documentation/3.4.32/html/
-- Download: https://www.deegree.org/download/
-- Docker: https://hub.docker.com/r/deegree/deegree3-docker/
-
diff --git a/docs/tools/fme.md b/docs/tools/fme.md
deleted file mode 100644
index 1bb2b09e3ad6eb8ea26533ac692d95348d9abf26..0000000000000000000000000000000000000000
--- a/docs/tools/fme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# FME
-
-Safe software propides a proprietary solution for data harmonization, e.g. conversion to and from INSPIRE data models.
-An introduction to the topic is provided at https://www.safe.com/integrate/inspire-gml/
\ No newline at end of file
diff --git a/docs/tools/frost-server.md b/docs/tools/frost-server.md
deleted file mode 100644
index 96b8772aedd7cd9af7f136aef9314fad39e9e024..0000000000000000000000000000000000000000
--- a/docs/tools/frost-server.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# FROST server
-
-Frost is an open source server implementation of [OGC Sensorthings](https://www.ogc.org/standards/sensorthings), a modern data exchange standard for Sensor Data. 
-Because the INSPIRE Soil model is based on [Observations and Measurements](https://www.ogc.org/standards/om), the Sensorthings API can be used 
-to provide Soil related data download services. Sensorthings API is generally easier to set up for administrators and easier to consume by 
-clients then INSPIRE Soil data via WFS.
-
-- Github repository: https://github.com/FraunhoferIOSB/FROST-Server
-- Documentation: https://fraunhoferiosb.github.io/FROST-Server/
-- Workshop: https://datacoveeu.github.io/API4INSPIRE/dissemination/Workshop-2020-11-19.html
\ No newline at end of file
diff --git a/docs/tools/geohealthcheck.md b/docs/tools/geohealthcheck.md
deleted file mode 100644
index 2d127ec3b5363b93753474a99bd7fd72d794eb86..0000000000000000000000000000000000000000
--- a/docs/tools/geohealthcheck.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# GeoHealthCheck
-
-A tool to monitor availability of spatial services. The tool will query a list of configured spatial services at intervals and report on availability using charts. The tool can also send out notifications in case of disruptions.
-
-The tool can be compared to (and is often combined with) generic web availability tools such as Zabbix, Uptimerobot, Nagios. The generic tools are used to identify if the service is up, GeoHealthCheck will go a level deeper, identify which layers are available in a getcapabilities response and ask random maps to individual layers to identify if a service is properly running.
-
-## Cookbook
-
-The cookbook assunes docker desktop installed. Alternatively you can create a personal account at https://demo.geohealthcheck.org (click `register` in the login page). Start a local GeoHealthCheck container:
-
-```
-docker run --name ghc -p80:80 geopython/geohealthcheck
-```
-
-- Visit http://localhost
-- Login as user: `admin`, password: `admin`
-- Click `ADD +` on the top bar right, select `WMS`
-- Add a WMS url, for example `https://maps.isric.org/mapserv?map=/map/wrb.map`
-- On the next screen click `add` for `WMS Drilldown` (so all layers are validated)
-- Click `Save` and `test`
-- When finished, click `Details` to see the test result
diff --git a/docs/tools/geonetwork.md b/docs/tools/geonetwork.md
deleted file mode 100644
index 0520a4226b4497f8fa5922213eef64413ca4fd21..0000000000000000000000000000000000000000
--- a/docs/tools/geonetwork.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# GeoNetwork
-
-A catalogue for registering spatial datasets and services.
-
-- Website: https://geonetwork-opensource.org/
-- Github repository: https://github.com/geonetwork
-- Docker composition: https://github.com/geonetwork/docker-geonetwork/blob/main/4.2.1/docker-compose.yml
\ No newline at end of file
diff --git a/docs/tools/geoportal-server.md b/docs/tools/geoportal-server.md
deleted file mode 100644
index 1cb9f883acb49dc31de3098975b20f973df5b0e7..0000000000000000000000000000000000000000
--- a/docs/tools/geoportal-server.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Esri Geoportal server
-
-Esri Geoportal Server provides seamless communication with data services that use a wide range of communication protocols, and also supports searching, publishing, and managing standards-based resources.
-
-Website: https://enterprise.arcgis.com/en/inspire/10.8/get-started/introduction-to-geoportals.htm
-Github: https://github.com/Esri/geoportal-server-catalog/blob/master/docker/gpt_stack/geoportal/Dockerfile
\ No newline at end of file
diff --git a/docs/tools/geoserver.md b/docs/tools/geoserver.md
deleted file mode 100644
index 9adecd3103e32ea957272cd910fbd2c38fbe4523..0000000000000000000000000000000000000000
--- a/docs/tools/geoserver.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# GeoServer
-
-GeoServer is an open source java imlementation of WFS, WCS, WPS, WMS, CSW. Various OGC API endpoints are available via 
-a [OGCAPI community plugin](https://docs.geoserver.org/latest/en/user/community/ogc-api). WMTS is available via a default plugin called `GeoWebCache`.
-
-GeoServer is a popular server component because of the initial ease of setup and configuration in a webbased environment. It includes an authentication and authorisation system and advanced styling options. Configuration via a webinterface also has some negative aspects related to reproducability and scaling. GeoServer is able to provide INSPIRE data via the [appschema plugin](https://docs.geoserver.org/latest/en/user/data/app-schema/index.html) and (INSPIRE plugin)[https://docs.geoserver.org/stable/en/user/extensions/inspire].
-
-Onegeology has prepared [a workshop](https://onegeology.github.io/documentation/providingdata/server_setup/geoserver.html) on how to set up an appschema dataset in GeoServer. This is an advanced workshop. 
-
-At Foss4G 2022 in Florence one of the maintainers of GeoServer, [GeoSolutions](https://www.geosolutionsgroup.com/), announced a [new approach to appschema in GeoServer](https://speakerdeck.com/simboss/publishing-inspire-datasets-in-geoserver-made-easy-with-smart-data-loader-and-features-templating-foss4g-2022-edition), based on templating. I have not been able to test it yet, but it may resolve some of the challenges of the appschema approach.
\ No newline at end of file
diff --git a/docs/tools/hale-connect.md b/docs/tools/hale-connect.md
deleted file mode 100644
index 1c11383b2d4835e46a761f5d8c4a56b69c1e2640..0000000000000000000000000000000000000000
--- a/docs/tools/hale-connect.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Hale Connect
-
-Hale Connect is a [Software as a Service](https://en.wikipedia.org/wiki/Software_as_a_service) solution provided by [wetransform](https://wetransform.to) to provide view and download services with metadata for rich datasets, such as those following the INSPIRE data models. Transformations are prepared in [Hale Studio](hale-studio.md) and effectuated in the Hale Connect Solution.
-
-The services are  optimised for ease of use and performance, due to the cloud native setup of the data services. A data space connector is in preparation.
-
-- Website: https://wetransform.to/haleconnect
-- Get started at https://help.wetransform.to/docs/getting-started/2018-04-28-quick-start 
-
-You can benefit from a 14-day free trial period when signing up for the platform.
diff --git a/docs/tools/hale-studio.md b/docs/tools/hale-studio.md
deleted file mode 100644
index 6f10176a2d6801189cdcd67340b67a098097395b..0000000000000000000000000000000000000000
--- a/docs/tools/hale-studio.md
+++ /dev/null
@@ -1,220 +0,0 @@
-# HALE Studio
-
-HALE Studio aims to enable users to set up a harmonization workflow on datasets from a local model to a common model, such as INSPIRE. The user interface presents the model of the source dataset (derived from database) on the left and the target model on the right (derived from xml schema). Conversion rules are defined by selecting similar properties on both sides.
-
-The open source software has been developed in the scope of a European Research project, HUMBOLDT (2006) and is currently maintained by a company called [WeTransform](https://wetransform.to) in Darmstad Germany. WeTransform hosts the Hale Studio [user guide](http://help.halestudio.org/latest) and a [user forum](https://discuss.wetransform.to). The Git repository for Hale Studio is at https://github.com/halestudio/hale.
-
-This cookbook has been developed in the scope of a Masterclass on data assimilation within the [EJP Soil project](https://ejpsoil.eu/) and builds on harmonization work performed in the scope of the [eDanube project](https://www.isric.org/projects/soil-and-terrain-database-danube-basin).
-
-In this cookbook we'll harmonize a SOTER database to the INSPIRE model. Read more about the INSPIRE Soil model in the relevant [technical guidelines](https://inspire.ec.europa.eu/id/document/tg/so). 
-
-Contents of the cookbook
-
-- SOTER database
-- Proparing the data 
-- Install & get started with Hale Studio
-- Define harmonization rules
-- Export GML
-
-## SOTER Database
-
-For this cookbook we're going to use the SOTER database of Cuba. Download the zip file from https://data.isric.org/geonetwork/srv/eng/catalog.search#/metadata/f31ac19f-67a4-4f64-94cc-d4f063ea9add. 
-
-The [SOTER programme](https://www.isric.org/explore/soter) was initiated in 1986 by the Food and Agricultural Organization of the United Nations (FAO), the United Nations Environmental Programme and ISRIC, under the auspices of the International Soil Science Society. The aim of the programme was to develop a global SOTER database at scale 1:1 million that was supposed to be the successor of the FAO-UNESCO Soil Map of the World. A SOTER database with global coverage was never achieved, but SOTER databases were developed for various regions, countries and continents.
-
-The picture below shows the database structure of a SOTER database. The database structure allows to store terrain, soil profile up to wet chemistry results.
-
-![Soter schema](img/soter-schema.png)
-
-In this cookbook we're focussing on the `RepresentativeHorizonValues` table mostly, which contains observed properties for each horizon. 
-
-## Preparing the data
-
-Notice that, like many other soil databases, the observed soil property values are listed as columns for each horizon. The INSPIRE model instead uses the Observations and Measurments model, in which each observation is an individual entity which includes the feature of interest (e.g. `Horizon 2`), the observed property (e.g. `pH`), the result (e.g. `7.2`) and the process (e.g. `pHCaCl2`). 
-
-![Observations and measurements, source 52North](img/obsmes.png)
-
-A data transformation required for this step is challenging within Hale, but relatively easy within the database. So before starting up Hale we'll make an initial transformation within the database.
-
-The [SOTER zip file](https://files.isric.org/public/soter/CU-SOTER.zip) contains a SQLite as well as a Access version of the database. In this cookbook we'll work with Access, but you can also use the SQLite version, in that case install for example [SQLite browser](https://sqlitebrowser.org/) to interact with the database. Some of the queries may slightly vary between SQLite and Access.
-
-Run the query below, to create a new `OBSERVATIONS` table. 
-
-In Access create a new `query` in `design view`. 
-
-![Query design](img/query-design-view.png)
-
-Then open `SQL view`.
-
-![SQL view](img/sql-view.png)
-
-Run the query, by clicking `Run` in the `Query design` toolbar.
-
-```
-SELECT * INTO OBSERVATIONS
-FROM (Select HONU,PRID,'SCMO' as PARAM,SCMO as RESULT from RepresentativeHorizonValues where SCMO is not null union
-Select HONU,PRID,'SCDR' as PARAM,SCDR as RESULT from RepresentativeHorizonValues where SCDR is not null union
-Select HONU,PRID,'STGR' as PARAM,STGR as RESULT from RepresentativeHorizonValues where STGR is not null union
-Select HONU,PRID,'STSI' as PARAM,STSI as RESULT from RepresentativeHorizonValues where STSI is not null union
-Select HONU,PRID,'STTY' as PARAM,STTY as RESULT from RepresentativeHorizonValues where STTY is not null union
-Select HONU,PRID,'SDVC' as PARAM,SDVC as RESULT from RepresentativeHorizonValues where SDVC is not null union
-Select HONU,PRID,'SDCO' as PARAM,SDCO as RESULT from RepresentativeHorizonValues where SDCO is not null union
-Select HONU,PRID,'SDME' as PARAM,SDME as RESULT from RepresentativeHorizonValues where SDME is not null union
-Select HONU,PRID,'SDFI' as PARAM,SDFI as RESULT from RepresentativeHorizonValues where SDFI is not null union
-Select HONU,PRID,'SDVF' as PARAM,SDVF as RESULT from RepresentativeHorizonValues where SDVF is not null union
-Select HONU,PRID,'SDTO' as PARAM,SDTO as RESULT from RepresentativeHorizonValues where SDTO is not null union
-Select HONU,PRID,'STPC' as PARAM,STPC as RESULT from RepresentativeHorizonValues where STPC is not null union
-Select HONU,PRID,'CLPC' as PARAM,CLPC as RESULT from RepresentativeHorizonValues where CLPC is not null union
-Select HONU,PRID,'PSCL' as PARAM,PSCL as RESULT from RepresentativeHorizonValues where PSCL is not null union
-Select HONU,PRID,'BULK' as PARAM,BULK as RESULT from RepresentativeHorizonValues where BULK is not null union
-Select HONU,PRID,'ELCO' as PARAM,ELCO as RESULT from RepresentativeHorizonValues where ELCO is not null union
-Select HONU,PRID,'SSO4' as PARAM,SSO4 as RESULT from RepresentativeHorizonValues where SSO4 is not null union
-Select HONU,PRID,'HCO3' as PARAM,HCO3 as RESULT from RepresentativeHorizonValues where HCO3 is not null union
-Select HONU,PRID,'SCO3' as PARAM,SCO3 as RESULT from RepresentativeHorizonValues where SCO3 is not null union
-Select HONU,PRID,'EXCA' as PARAM,EXCA as RESULT from RepresentativeHorizonValues where EXCA is not null union
-Select HONU,PRID,'EXMG' as PARAM,EXMG as RESULT from RepresentativeHorizonValues where EXMG is not null union
-Select HONU,PRID,'EXNA' as PARAM,EXNA as RESULT from RepresentativeHorizonValues where EXNA is not null union
-Select HONU,PRID,'EXCK' as PARAM,EXCK as RESULT from RepresentativeHorizonValues where EXCK is not null union
-Select HONU,PRID,'EXAL' as PARAM,EXAL as RESULT from RepresentativeHorizonValues where EXAL is not null union
-Select HONU,PRID,'EXAC' as PARAM,EXAC as RESULT from RepresentativeHorizonValues where EXAC is not null union
-Select HONU,PRID,'CECS' as PARAM,CECS as RESULT from RepresentativeHorizonValues where CECS is not null union
-Select HONU,PRID,'TCEQ' as PARAM,TCEQ as RESULT from RepresentativeHorizonValues where TCEQ is not null union
-Select HONU,PRID,'GYPS' as PARAM,GYPS as RESULT from RepresentativeHorizonValues where GYPS is not null union
-Select HONU,PRID,'P2O5' as PARAM,P2O5 as RESULT from RepresentativeHorizonValues where P2O5 is not null union
-Select HONU,PRID,'PRET' as PARAM,PRET as RESULT from RepresentativeHorizonValues where PRET is not null union
-Select HONU,PRID,'FEDE' as PARAM,FEDE as RESULT from RepresentativeHorizonValues where FEDE is not null union
-Select HONU,PRID,'PHAQ' as PARAM,PHAQ as RESULT from RepresentativeHorizonValues where PHAQ is not null union
-Select HONU,PRID,'PHKC' as PARAM,PHKC as RESULT from RepresentativeHorizonValues where PHKC is not null union
-Select HONU,PRID,'SONA' as PARAM,SONA as RESULT from RepresentativeHorizonValues where SONA is not null union
-Select HONU,PRID,'SOCA' as PARAM,SOCA as RESULT from RepresentativeHorizonValues where SOCA is not null union
-Select HONU,PRID,'SOMG' as PARAM,SOMG as RESULT from RepresentativeHorizonValues where SOMG is not null union
-Select HONU,PRID,'SOLK' as PARAM,SOLK as RESULT from RepresentativeHorizonValues where SOLK is not null union
-Select HONU,PRID,'SOCL' as PARAM,SOCL as RESULT from RepresentativeHorizonValues where SOCL is not null union
-Select HONU,PRID,'FEPE' as PARAM,FEPE as RESULT from RepresentativeHorizonValues where FEPE is not null union
-Select HONU,PRID,'ALDE' as PARAM,ALDE as RESULT from RepresentativeHorizonValues where ALDE is not null union
-Select HONU,PRID,'CLAY' as PARAM,CLAY as RESULT from RepresentativeHorizonValues where CLAY is not null union
-Select HONU,PRID,'TOTC' as PARAM,TOTC as RESULT from RepresentativeHorizonValues where TOTC is not null union
-Select HONU,PRID,'TOTN' as PARAM,TOTN as RESULT from RepresentativeHorizonValues where TOTN is not null  
-);
-```
-
-Verify that a new table `OBSERVATIONS` is available and that it is populated.
-
-## Install Hale Studio
-
-Download and install Hale Studio from github. There are [installers for windows, linux and apple](https://github.com/halestudio/hale/releases/tag/4.1.0). 
-Kate Lyndegaard from WeTransform published a nice overview of Hale Studio at https://www.youtube.com/watch?v=BKNMV-Jp9HM&t=332s.
-
-- First create a new project 
-- Import the SOTER database as `source schema`. 
-- Import the same database file again as 'source data'. 
-- Repeat these 2 steps for the Cuba shapefile, available in the GIS folder of the zip file 
-- Load the INSPIRE Soil model as a target schema. Load the latest version of the model from https://inspire.ec.europa.eu/schemas/so/4.0/Soil.xsd (`from url` tab, click 
- `detect` after entering the url).
-
-![Load target](img/hale-load-target.png)
-
-
-## Define harmonization rules
-
-We'll go through some cases to highlight some of the features, we'll not produce a full mapping.
-
-
-
-### Join tables
-
-In order to link the geometries from the shapefile to the SOTER data, we'll use a table join.
-On the left column, select the shapefile as well as the `terrain`, `soils` and `soilscomponent` tables (ctrl-click). On the right colum select the SoilBody type.
-Now click the blue arrow in the middle and select the `join` method.
-
-### Link or embed and identification?
-
-XML allows to embed a property or to reference the value of the property elsewhere. An example; both snippets below have the same meaning, the first is easier to read, the second is easier to handle by software (prevent duplication).
-
-```xml
-<person role="student" name="Peter">
-    <memberOf>
-        <class name="2B">
-            <hasMember>
-                <person role="teacher" name="Cynthia">
-            </hasMember>
-        </class>
-    <memberOf>
-</person>
-```
-
-And
-
-```xml
-<person role="student" name="Peter" gml:id="#student-peter">
-    <memberOf xlink:href="#class-2b">
-</person>
-<person role="teacher" name="Cynthia" gml:id="#teacher-cynthia">
-    <memberOf xlink:href="#class-2b">
-</person>
-<class name="2B" gml:id="#class-2b"/>
-```
-
-A good practice is to add reverse links to the second snippet:
-
-```xml
-<class name="2B" gml:id="#class-2b">
-    <hasMember xlink:href="#teacher-cynthia"/ >
-    <hasMember xlink:href="#student-peter" />
-</class>
-```
-
-Both approaches are supported and can be combined in Hale Studio, but you have to consider upfront which approach to use when. The first approach becomes quite complex if the levels of nesting increase.
-
-A suggestion from our side; define Plot, Profile, OM_Observation and Laboratory as root types and embed other types.
-
-
-### Anytype in XSD
-
-XSD allows to leave the type of a property as `any`. From a standardisation perspective, this is not optimal, because every developer may implement a different type for that field. In the INSPRE Soil theme this challenge is very obvious because the type of the result property of an observation is defined as `any`.
-Hale Studio is not able to process `anytype` fields by default. Instead you have to add below snippet to the `eu.esdihumboldt.hale.io.schema.read.target` resource of the  `project.halex` file. 
-
-
-```
- <complex-setting name="customTypeContent">
-    <xsd:typeContentConfig xmlns:xsd="http://www.esdi-humboldt.eu/hale/io/xsd">
-        <core:list xmlns:core="http://www.esdi-humboldt.eu/hale/core">
-            <core:entry>
-                <xsd:association>
-                    <xsd:property>
-                        <core:list>
-                            <core:entry>
-                                <core:name namespace="http://www.opengis.net/om/2.0">OM_ObservationType</core:name>
-                            </core:entry>
-                            <core:entry>
-                                <core:name namespace="http://www.opengis.net/om/2.0">result</core:name>
-                            </core:entry>
-                        </core:list>
-                    </xsd:property>
-                    <xsd:config>
-                        <xsd:typeContent mode="elements">
-                            <xsd:elements>
-                                <core:list>
-                                    <core:entry>
-                                        <core:name namespace="http://www.isotc211.org/2005/gco">CharacterString</core:name>
-                                    </core:entry>
-                                </core:list>
-                            </xsd:elements>
-                        </xsd:typeContent>
-                    </xsd:config>
-                </xsd:association>
-            </core:entry>
-        </core:list>
-    </xsd:typeContentConfig>
-</complex-setting>
-```
-
-
-![Hale join](img/hale-join.png)
-
-
-
-
-
-## Export GML
-
diff --git a/docs/tools/img/bridge-mapfile-styler.png b/docs/tools/img/bridge-mapfile-styler.png
deleted file mode 100644
index 07e5af26c6f4f32fc7baba66877c8eeb61ab2b12..0000000000000000000000000000000000000000
Binary files a/docs/tools/img/bridge-mapfile-styler.png and /dev/null differ
diff --git a/docs/tools/img/hale-join.png b/docs/tools/img/hale-join.png
deleted file mode 100644
index 516c4f3e4bc40ceb7c69ddd2c957f5d2f6ead1a7..0000000000000000000000000000000000000000
Binary files a/docs/tools/img/hale-join.png and /dev/null differ
diff --git a/docs/tools/img/hale-load-target.png b/docs/tools/img/hale-load-target.png
deleted file mode 100644
index be74c7c52d72a3f268bd6180ad0b841849b16343..0000000000000000000000000000000000000000
Binary files a/docs/tools/img/hale-load-target.png and /dev/null differ
diff --git a/docs/tools/img/obsmes.png b/docs/tools/img/obsmes.png
deleted file mode 100644
index f92aac5bc299ec145744eae6589870f7eed9e830..0000000000000000000000000000000000000000
Binary files a/docs/tools/img/obsmes.png and /dev/null differ
diff --git a/docs/tools/img/query-design-view.png b/docs/tools/img/query-design-view.png
deleted file mode 100644
index 2663387cb77710b01e91243e6a3ad565d07a2515..0000000000000000000000000000000000000000
Binary files a/docs/tools/img/query-design-view.png and /dev/null differ
diff --git a/docs/tools/img/soter-schema.png b/docs/tools/img/soter-schema.png
deleted file mode 100644
index 71b44730a7ae873f255c1e945bab61aa646e4ca6..0000000000000000000000000000000000000000
Binary files a/docs/tools/img/soter-schema.png and /dev/null differ
diff --git a/docs/tools/img/sql-view.png b/docs/tools/img/sql-view.png
deleted file mode 100644
index b4e68ce9c546d3bc05f724f3ced8b9241dc24100..0000000000000000000000000000000000000000
Binary files a/docs/tools/img/sql-view.png and /dev/null differ
diff --git a/docs/tools/inspire-geoportal.md b/docs/tools/inspire-geoportal.md
deleted file mode 100644
index 198f49daeda28f0bb869d131a6b8c41be006b022..0000000000000000000000000000000000000000
--- a/docs/tools/inspire-geoportal.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# INSPIRE Geoportal
-
-The [INSPIRE Geoportal](https://inspire-geoportal.ec.europa.eu/) is the central European access point to the data provided by EU Member States and several EFTA countries under the INSPIRE Directive.
-
-- Website: https://inspire-geoportal.ec.europa.eu/
-- Github: https://github.com/INSPIRE-MIF/helpdesk-geoportal
-
-## Harvesting metadata
-
-`Harvest` is the process of copying metadata from a remote source (catalogue) to the european GeoPortal. 
-
-For each memberstate a contact point is assigned, which is responsible for registering the national endpoint(s) to be harvested by the geoportal. The national contact point also triggers the harvest and validates the result before publishing it. At the [harvest status page](
-https://inspire-geoportal.ec.europa.eu/harvesting_status.html). In case you're interested to have a resource harvested into the INSPIRE GeoPortal you best contact the national contact point to understand the INSPIRE practices in your country. A list of national contact points is available at https://inspire.ec.europa.eu/contact-points/57734. A quick look into the contents of the portal and the harvest status page indicates that countries have quite varying practices on accepting datasets in the geoportal.
-
-## Metadata Guidelines
-
-The [TG Metadata](https://inspire.ec.europa.eu/id/document/tg/metadata-iso19139) indicates that INSPIRE datasets and services are described using [ISO19139:2007](https://www.iso.org/standard/32557.html). [Discussion](https://inspire.ec.europa.eu/good-practice/geodcat-ap) is ongoing if the allowed encodings should be extended to include for example [DCAT](https://www.w3.org/TR/vocab-dcat-2/) (used by [European data portal](https://data.europa.eu/)) or [DataCite](https://schema.datacite.org/) (used by Zenodo, dataverse, etc). 
-
-## Describe datasets using iso19139:2007
-
-Various tools exist to support describing datasets using iso19139:2007.
-
-- GeoNetwork is a webbased application presenting forms and tools to assist in describing datasets.
-- ArcMap and QGIS include an embedded metadata editor, which is able to export to iso19139:2007 
-- pygeometa is a python library which exports ISO19139:2007 (and other metadata encodings) from a YML encoded format called `metadata control file` (mcf)
-
-## Validate records in the INSPIRE validator
-
-
-
-## Validate links in the Link Checker
-
-Operational links are an important aspect in metadata. It determines for example if a user is able to view or download a file after having discovered its metadata. The INSPIRE Geoportal applies some link checks while harvesting the metadata and adds the link check result as tags to the metadata. To optimize your links beforehand the GeoPortal offers the option to run the link checker on an arbitrary metadata record. The Link checker is available at https://inspire-geoportal.ec.europa.eu/linkagechecker.html.
-
-## Multilingual metadata
-
-Metadata harvested from a national catalogue is usually available in a local language only. To offer users a better user experience, the INSPIRE geoportal translates some key elements of the metadata to english. An automated service is used, which in some cases gives a unexpected translation result. For this reason we encourage you to use the multilingual options of ISO19139:2007 to provide the metadata at least in a local language and english.
\ No newline at end of file
diff --git a/docs/tools/ldproxy.md b/docs/tools/ldproxy.md
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/docs/tools/link-checker.md b/docs/tools/link-checker.md
deleted file mode 100644
index e90e505f60d61ad425d461112eb88c09ee0f63e7..0000000000000000000000000000000000000000
--- a/docs/tools/link-checker.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# INSPIRE Link Checker
-
-A tool to verify links in metadata
-
-- Website: https://inspire-geoportal.ec.europa.eu/linkagechecker.html
\ No newline at end of file
diff --git a/docs/tools/mapserver.md b/docs/tools/mapserver.md
deleted file mode 100644
index 5d64613dd19518aada1ada23b5c045a252a7d4c4..0000000000000000000000000000000000000000
--- a/docs/tools/mapserver.md
+++ /dev/null
@@ -1,129 +0,0 @@
-# Mapserver
-
-Mapserver, originally UMN Mapserver, is an open source server component which provides OWS services on a variety of data sources.
-Mapserver is commonly used to set up INSPIRE View Services. A detailed guidance on how to use Mapserver to set up INSPIRE View Services is available at https://mapserver.org/ogc/inspire.html.
-
-MapServer supports WFS and WCS as data exchange mechanisms. Mapserver is not prepared to publish datasets having a hierarchical structure, as common in many INSPIRE datasets, which makes MapServer less suitable to provide INSPIRE download Services using WFS. Stored queries are supported. MapServer can be used to set up a WCS Download service.
-
-Mapserver runs as a [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) executable. The progream will start up as soon as a request arrives at the server. This makes mapserver very suitable for situations where many datasets are incidentally queried.
-
-## View services from data specification on Soil
-
-The View services relevant for INSPIRE Soil are described in [INSPIRE Data Specification on Soil – Technical Guidelines](https://inspire.ec.europa.eu/id/document/tg/so) in [chapter 11](https://github.com/INSPIRE-MIF/technical-guidelines/blob/2022.2/data/so/dataspecification_so.adoc#layers-to-be-provided-by-inspire-view-services). 3 types of layers can be distinguished:
-- Soil body, Soil profile and Soil Site are vector datasets indicating the location of research area's.
-- Soil properties as vector provide a map view of soil observations on soil profiles or the distribution of a soil property in soil bodies, derived from observations in the area and/or expert judgement.
-- Soil properties as coverage, coverage (grid) is a common output of statistical models which calculate the distribution of a soil property.
-
-## The Mapserver Mapfile
-
-For this cookbook we'll prepare a WMS view service on a Soil Body dataset. For each Soil Body some derived soil properties of the top soil are available.
-
-Mapserver is configured using [map files](https://www.mapserver.org/mapfile/). These mapfiles contain metadata for each layer, connection details to the datasource and styling rules for the vizualisation. In a typical configuration a user 'calls' the mapserver executable via the web, while indicating the relevant mapfile. For example: 
-
-```
-https://example.com/mapserv.cgi?map=/data/soilbody.map&service=WMS&request=GetCapabilities
-```
-
-Various tools exist which create mapfiles automatically, from for example a QGIS layer. See https://plugins.qgis.org/plugins/geocatbridge/.
-
-In this case we'll assemble the mapfile in a text editor. For some of the more advanced text editors, such as [Visual Studio Code](https://code.visualstudio.com/), mapfile editing plugins are available, which provide validation and syntax highlighting.
-
-A generic mapfile Quick Start is provided at https://live.osgeo.org/en/quickstart/mapserver_quickstart.html. The quickstart is based on [OSGEO Live](http://live.osgeo.org/), a virtual DVD, which offers a preinstalled mapserver and has data from [Natural Earth](https://www.naturalearthdata.com/downloads/). 
-
-Within the mapfile, created in the Quickstart, let's replace some metadata and update the natural earth layer to point to our soil body dataset.
-
-``` 
-MAP
-  NAME "SOILBODY_QUICKSTART"
-  EXTENT -180 -90 180 90
-  UNITS DD
-  SHAPEPATH "/home/user/data/"
-  SIZE 800 600
-
-  IMAGETYPE PNG24
-
-  PROJECTION
-    "init=epsg:4326"
-  END
-
-  WEB
-    METADATA
-      ows_title "Soil Body Quickstart"
-      ows_enable_request "*"
-      ows_srs "EPSG:4326 EPSG:25832 EPSG:25833"
-    END
-  END
-
-  LAYER
-    NAME "Soilbody"
-    STATUS ON
-    TYPE POLYGON
-    DATA "soilbody"
-    CLASS
-      STYLE
-        COLOR 246 241 223
-        OUTLINECOLOR 0 0 0
-      END
-    END
-  END
-
-END
-```
-
-## Mapserver via Docker
-
-Mapserver requires a number of dependencies, which may be hard to install on some systems, that's why this cookbook suggests to work with Docker containers which are prepared to run mapserver.
-
-The [camp2camp mapserver image](https://hub.docker.com/r/camptocamp/mapserver) is a commonly used mapserver container image. While starting the container we provide a number of parameters so the container is able to locate the mapfile and the data files.
-
-```
-docker run -p=80:80 \
-    -v=$(PWD)/soilbody.map:/etc/mapserver/wms.map \
-    -v=$(PWD)/data:/home/user/data/ \
-    camptocamp/mapserver
-```
-
-## Testing a mapfile
-
-Sometimes mapserver reports an error while generating a map response.
-If the logs of the container do not provide enough information, mapserver provides an interesting utility [map2img](https://mapserver.org/utilities/map2img.html) to validate a mapfile. To run the utility, you have to open bash on the container: 
-
-```
-docker exec -it <container> /bin/bash 
-```
-
-and then run the utily:
-
-```
-map2img -m local.map -o test2.png
-```
-
-- -m references the mapfile
-- -o references an output file to be generated
-
-
-
-## WRB layer with GeoCat Bridge 
-
-The technical guidance provides quite detailed instructions on how to style the relavant soil layers. For example a SO.SoilBody.WRB is described with dedicated colors for each WRB Soil type.
-
-| WRB RSG Code | WRB RSG Name | Colour RGB code | Colour HEX code |
-| --- | --- | --- | --- |
-| AC | Acrisol | (247, 152, 4) | #F79804 |
-| AB | Albeluvisol | (254, 194, 194) | #FEC2C2 |
-| AL | Alisol | (255, 255, 190) | #FFFFBE |
-| .. | .. | .. | .. |
-
-If many style rules are involved (or if your project already has styling) a tool like GeoCat Bridge is helpfull. Read more about GeoCat Bridge in the [Cookbook Bridge and GeoServer](bridge-geoserver-geonetwork.md). On QGIS, with the GeoCat Bridge plugin installed, load a SoilBody dataset and assign some of the colors. In the web > bridge menu, activate the Style viewer panel. Notice the various tabs in the panel which represent the layer style in various encodings. The first tab contains [Styled Layer Descriptor](https://www.ogc.org/standards/sld) (SLD), a standardised styling format, used for example in GeoServer. The second tab presents the mapfile syntax, you can copy the value into your mapfile (or let Bridge generate a full mapfile).
-
-![Mapfile styler Geocat Bridge](img/bridge-mapfile-styler.png)
-
-## Mapserver and WMTS
-
-Mapserver does not provide tile services (WMTS) itself, but is often combined with a separate tool, [mapcache](https://mapserver.org/mapcache/), which provides tile service on top of a MapServer instance. Tile services are generally a safer option with respect to Quality of Service, but less dynamic in update and styling options. An interesting option is to use the WMS option of Mapcache, which uses a cache of tiles as a source to provide WMS services.
-
-Read more at:
-
-- Website: https://mapserver.org
-- Docker: https://hub.docker.com/r/camptocamp/mapserver
-- Support: https://geographika.net
\ No newline at end of file
diff --git a/docs/tools/postgraphile.md b/docs/tools/postgraphile.md
deleted file mode 100644
index 6047e2160de24ad269098b47ade124eead8aaa0f..0000000000000000000000000000000000000000
--- a/docs/tools/postgraphile.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# GraphQL with Postgraphile
-
-[GraphQL](https://graphql.org) is a defacto standard for self describing api's on hierarchical data. Graphql provides via its api specification capabilities to query datasets using filters, but also indicate which properties to be returned. The GraphQL website provides a [quick start on Graphql](https://graphql.org/graphql) based on NodeJS.
-
-GraphQL is currently not endorsed as an INSPIRE Good Practice, but it fits many aspects of an INSPIRE download service. GraphQL is a good fit to disseminate measurement and observation data from soil profiles.
-
-At ISRIC we use GraphQL (along WMS/WFS) to disseminate the [WOSIS soil profile database](https://www.isric.org/explore/wosis).
-
-## Postgraphile
-
-[Postgraphile](https://www.graphile.org/postgraphile/) is a NodeJS server application which creates a GraphQL api on any postgres database. For this cookbook we've prepared a docker orchestration which includes a postgres database and a postgraphile container. Also included is PGadmin, which provides a webbased user interface to the database.
-
-## Load some data into the database
-
-## Query a GraphQL endpoint
-
-
-Website: https://www.graphile.org/postgraphile/
\ No newline at end of file
diff --git a/docs/tools/pycsw.md b/docs/tools/pycsw.md
deleted file mode 100644
index 2b1411ca1553940cd5e16bcb2cbf9d99f9a0840a..0000000000000000000000000000000000000000
--- a/docs/tools/pycsw.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# pycsw
-
-An open source python catalogue implementation, used within [CKAN-spatial](https://github.com/ckan/ckanext-spatial) and [GeoNode](https://geonode.org).
-
-Lightweight implementation of CSW and OGC API Records. 
-
-- Website: https://pycsw.org/
-- Github: https://github.com/geopython/pycsw
-- Docker: https://hub.docker.com/r/geopython/pycsw
-- Demo: https://demo.pycsw.org/cite/collections
-
-## Cookbook
-
-```
-docker run -d -name pycsw -p 8000:8000 geopython/pycsw
-```
-
-- Visit https://localhost
-- Prepare a folder of iso19139 files, mount it on the container and load it with pycsw-admin.py
\ No newline at end of file
diff --git a/docs/tools/pygeoapi.md b/docs/tools/pygeoapi.md
deleted file mode 100644
index af9ab98b1517bf95d05774522d2752b14248316b..0000000000000000000000000000000000000000
--- a/docs/tools/pygeoapi.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# pygeoapi
-
-An open source python server implementation of OGCAPI Features, Tiles, Records and Processes.
-
-- Website: https://pygeoapi.io/
-- Github: https://github.com/geopython/pygeoapi
-- Docker: https://hub.docker.com/r/geopython/pygeoapi
-- Demo: https://demo.pygeoapi.io/master
-
-## Cookbook
\ No newline at end of file
diff --git a/docs/tools/qgis.md b/docs/tools/qgis.md
deleted file mode 100644
index 62c74a798ed0646c90bc3ebc5693956b2eb3cf17..0000000000000000000000000000000000000000
--- a/docs/tools/qgis.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# View services with QGIS server
-
-QGIS started as a GIS desktop application. In recent years the community prepared a server edition of QGIS. The server provides WMS, WFS and since recently OGC API Features. 
-
-The advantage of using QGIS both as a desktop and server component is that the maps generated on the server will be exactly the same as those prepared on a desktop client.
-
-## Prepare a map service in QGIS Desktop
-
-Name your project project.qgs
-
-On project settings, open the WMS properties to add relevant metadata
-
-## Publish a map service
-
-We're running QGIS server as a docker container based on https://hub.docker.com/r/camptocamp/qgis-server
-
-```
-docker run -p 8080:80 --volume=$PWD:/etc/qgisserver camptocamp/qgis-server
-```
-
-Try the service via
-
-```
-http://localhost:8080/?SERVICE=WMS&REQUEST=GetCapabilities
-```
-
-## QGIS Desktop as a client for INSPIRE services
-
-It can act as a client for WMS, WMTS, WCS, Sensorthings API and OGC API Features.
-
-QGIS data model is based on data layers and is therefore less optimal for hierachical vector data as used in INSPIRE. There have been initiatives to bring hierarchical data to QGIS, such as [GMLAS](https://plugins.qgis.org/plugins/gml_application_schema_toolbox/) but adoption has been limited. The Application Schema functionality has been introduced in GDAL/OGR, the QGIS plugin builds on top of it. OGR converts the contents of the GML to a relational database. Individual tables from that database are loaded in the QGIS interface.
-
-
-
diff --git a/docs/tools/re3gistry.md b/docs/tools/re3gistry.md
deleted file mode 100644
index 2ec777234632142dddd945cdf176660d119328a5..0000000000000000000000000000000000000000
--- a/docs/tools/re3gistry.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Re3gistry
-
-A system for publishing codelists
-
-- Github: https://github.com/ec-jrc/re3gistry
-- Manual: https://github.com/ec-jrc/re3gistry/blob/master/documentation/user-manual.md
\ No newline at end of file
diff --git a/docs/tools/skosmos.md b/docs/tools/skosmos.md
deleted file mode 100644
index 6d8003f92feb41047c5af51306e94473fba56394..0000000000000000000000000000000000000000
--- a/docs/tools/skosmos.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# skosmos
-
-An interface to browse through codelists published as RDF.
-
-- Website: https://skosmos.org
-- Github: https://github.com/NatLibFi/Skosmos
-- Docker: https://hub.docker.com/r/ndslabs/skosmos
-
diff --git a/docs/tools/sql.md b/docs/tools/sql.md
deleted file mode 100644
index 44a0824ad850fd24785add398e5a763b595a2c72..0000000000000000000000000000000000000000
--- a/docs/tools/sql.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Cookbook SQL & python
-
-This cookbook implements the GeoPackage Good Practice for Soil Data by converting a sample soil database to GeoPackage based on the INSPIRE Soil Model using SQL statements from a Python environment.
-
-REQUIREMENTS
-- basic understanding of python and sql concepts
-- running environment python, pip, virtualenv (or alternative)
-
-Setup a python environment
-
-```
-virtualenv soildata
-cd soildata
-. bin/activate
-```
-
-Clone the workshop environment and install python requirements
-
-```
-git clone 
-pip install -r requirements.txt
-```
-
-As a soil database we use the [SOTER database of Cuba](https://data.isric.org/geonetwork/srv/eng/catalog.search#/metadata/f31ac19f-67a4-4f64-94cc-d4f063ea9add) which is available as Microsoft Access mdb as well as SQLite. 
-
-
diff --git a/docs/tools/validator.md b/docs/tools/validator.md
deleted file mode 100644
index d5785ce93dd937bb7f60c53cc3c5f9d6b45d0106..0000000000000000000000000000000000000000
--- a/docs/tools/validator.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# INSPIRE validator
-
-A validator for INSPIRE services and data
-
-Website: https://inspire.ec.europa.eu/validator/home/index.html
-Github: https://github.com/INSPIRE-MIF/helpdesk-validator
-
-## Cookbook
-
-In this cookbook we're testing (and improving) an INSPIRE Soil dataset.
\ No newline at end of file
diff --git a/docs/tools/virtuoso.md b/docs/tools/virtuoso.md
deleted file mode 100644
index c037d2f026e1382da380abfa104e5c70f3e5494d..0000000000000000000000000000000000000000
--- a/docs/tools/virtuoso.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# Virtuoso & Skosmos
-
-This cookbook presents steps to publish a soil codelists using the SKOS ontology in Virtuoso and Skosmos.
-
-Virtuoso is an open source Triple store providing a SPARQL endpoint. 
-
-- Website: https://virtuoso.openlinksw.com/
-- Github: https://github.com/openlink/virtuoso-opensource
-- Docker: https://hub.docker.com/r/openlink/virtuoso-opensource-7
-- Virtuoso at ISRIC: https://virtuoso.isric.org/
-
-Skosmos is an open source web application providing a human friendly browse interface for skos thesauri stored in a triple store.
-
-- Website: https://skosmos.org/
-- Github: https://github.com/NatLibFi/Skosmos
-- Docker: https://hub.docker.com/r/ndslabs/skosmos
-- Skosmos examples: https://glosis.isric.org/, https://agrovoc.fao.org, https://agclass.nal.usda.gov/
-
-The [skos ontology](https://www.w3.org/2004/02/skos/) supports the use of knowledge organization systems such as thesauri, 
-classification schemes, subject heading lists and taxonomies within the framework of the Semantic Web (and beyond). For any concept (identified by a uri) a definition in multiple languages is modeled. For each concept a range of relation types is available to capture it's relation to other concepts, e.g. SameAs, Broader, Narrower, Affect, hasComponent, etc.
-
-## Preparing the codelist
-
-Excel is often used to create lists of concepts with their definition. But consider that tabular systems are less optimal when defining relations between concepts. For that reason the [Glosis codelists](https://github.com/rapw3k/glosis/blob/master/glosis_cl.ttl) are maintained as Turtle RDF files on Github.
-
-For this cookbook we assume the codelist to be published is available as a CSV. A range of tools is available to transform an excel to a skos RDF document. [Skos play](https://skos-play.sparna.fr/play/convert) offers for example a webbased conversion tool.
-
-## Load SKOS RDF to virtuoso
-
-We're using a docker compose orchestration to deploy virtuoso and skosmos locally. Copy the [compose file](../../docker/virtuoso-skosmos/docker-compose.yml) into an empty folder. Navigate to the folder with a shell and run
-
-```
-docker compose up
-```
-
-## Setup Skosmos
-
-
-
-## Extending an existing codelist
-
-
-
diff --git a/docs/tools/webdav.md b/docs/tools/webdav.md
deleted file mode 100644
index 688af7f0880f654591af3b6f388fd72d0e30ed39..0000000000000000000000000000000000000000
--- a/docs/tools/webdav.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Cookbook webdav
-
-This cookbook presents a procedure for setting up INSPIRE download service based on Atom using webdav software.
-
-Various webdav implmentations exist, apache webdav, wsgidav, ... In this workshop we'll work with wsgidav.
-
-
diff --git a/docs/tools/xtraserver.md b/docs/tools/xtraserver.md
deleted file mode 100644
index af992b2c5fc9677c48f6895b681b0d2656a2ec29..0000000000000000000000000000000000000000
--- a/docs/tools/xtraserver.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Xtra server
-
-A proprietary java implementation of WFS, WMS. The package is also distributed as [ArcGIS for INSPIRE Classic server extension](https://enterprise.arcgis.com/en/inspire/10.8/get-started/arcgis-for-inspire-server-extension.htm). The team at interactive-instruments is and has been heavily involved in the definition of GML and the INSPIRE download specifications. They developed [ShapeChange](https://www.interactive-instruments.de/en/shapechange/) which is commonly used to export UML diagrams to XSD. Another product is [LDProxy](https://github.com/interactive-instruments/ldproxy) an open source java implementation of the OGC API suite of standards.
-
-- Website: https://www.interactive-instruments.de/en/xtraserver/
diff --git a/docs/tools/yarrrml.md b/docs/tools/yarrrml.md
deleted file mode 100644
index 297758715579fe6421c462ed36f1eed001d49932..0000000000000000000000000000000000000000
--- a/docs/tools/yarrrml.md
+++ /dev/null
@@ -1,138 +0,0 @@
-# YARRRML
-
-This cookbook provides a quickstart on using YARRRML to convert arbitrary soil data to RDF following the [glosis ontology](https://github.com/rapw3k/glosis) using a YARRRML approach. This work has initially been developed in the scope of the [Soils for Africa](https://www.soils4africa-h2020.eu/) project.
-
-[YARRRML](https://rml.io/yarrrml/) is a human readable text-based representation for declarative Linked Data generation rules. YARRRML is encoded in [YAML](https://en.wikipedia.org/wiki/YAML), a widely used data serialization language designed to be human-friendly. YARRRML is an initiative of the [RML.io](https://rml.io) community which provides a set of tools to generate knowledge graphs.
-
-## Glosis
-
-The [glosis ontology](https://github.com/rapw3k/glosis) has been developed in the scope of the [SIEUSOIL project](https://www.sieusoil.eu), which aims at implementing and testing a shared China-EU Web Observatory platform that will provide Linked (Open) Data to monitor status and threats of soil and land resources. The GloSIS ontology enables the representation of soil related data in semantic format. The ontology has been derived from the UML GLOSIS data model v1.0, which itself is based on ISO28258 and is similar to the INSPIRE soil model. The ontology has been created in line with best practices and methodologies, reusing existing standard models and ontologies, including [sosa/ssn](https://www.w3.org/TR/vocab-ssn/) for the representation of observations and measurements, or [skos](https://www.w3.org/2004/02/skos/) for the representation of codelists.
-
-## Matey
-
-A basic point of entry is the YARRRML editor `Matey` available online at https://rml.io/yarrrml/matey/. The standard view of the editor has 4 sections
-- a section for input data
-- a section to define YARRRML rules
-- a section to display RDF output
-- a section to visualize exported RML.io rules from YARRRML
-
-YARRRML provides a Quickstart tutorial at https://rml.io/yarrrml/tutorial/getting-started to get acquainted with the interface and YARRRML encoding rules. I recommend to follow the tutorial if you want to proceed after the cookbook, for example with you own data.
-
-## Soil data
-
-We start our cookbook with some typical soil sample analyses data from Africa. Soil samples at location (x_coord,ycoord) at depth (Upper_Depth_Val,Lower_Dept_Val) at a date (datedescribed, YYMM) with a list of observed properties (coSa,meSa,fiSa,vfiSa,coSi,...).
-
-Let's load some data into the first panel of Matey. Note that you can switch between data files with the pull down on the top-left of the panel. The pull down also offers the option to `create new source` or `load a remote source`. Create a new source and name it `soil.csv`. Copy the content below in the panel.
-
-```csv
-datedescribed,xcoord,ycoord,SSN,Upper_Depth_Val,Lower_Dept_Val,coSa,meSa,fiSa,vfiSa,coSi,fiSi,Clay,CEC,Carbon,pH_H2O,PH_CaCl2,AWR,Cat_Na,Cat_K,Cat_Ca,Cat_Mg,Micro_Zn,Micro_Mn,Micro_Cu,Micro_Co
-7611,28.36,-25.9533333333333,C3975,0,310,11.2,21.1,38.1,,,7.4,20,4,0.5,5.1,4.4,1.899999976,0,0.100000001,0.400000006,0.100000001,0.189999998,14,1.24000001,0.790000021
-7611,28.36,-25.9533333333333,C3981,0,280,7.8,11.3,21.2,,,12.7,47,11.7,1.5,6.2,5.4,13.5,0.100000001,0.699999988,2.599999905,3.299999952,1.110000014,175,13.10000038,14.01000023
-7611,28.62333333,-25.82666667,C3984,0,180,7.2,32.3,48.2,,,3.5,10,3.7,0.8,5.9,4.9,3,0,0.200000003,0.600000024,0.400000006,0.620000005,4.300000191,0.75999999,0.356999993
-7611,28.62333333,-25.8266666666667,C3986,0,380,10.1,33.7,44.9,,,1.6,9.6,2.8,0.6,5.1,4.3,2.099999905,0,0.100000001,0.100000001,0,0.180000007,2.799999952,0.579999983,0.037999999
-7611,28.62666667,-25.9766666666667,C1488,0,200,12.7,24.2,34.3,,,31,19.6,3.6,0.47,4.9,4.4,2.599999905,0,0.800000012,0.409999996,0.409999996,0.119999997,75,1.450000048,2.25
-7611,28.62666667,-25.9766666666667,C1408,0,250,6.9,15.5,29.1,11.9,4.5,10.4,19.6,4.8,0.84,5.7,4.9,2.299999952,0,0.800000012,1.100000024,0.5,0.310000002,248.5,1.519999981,2.380000114
-7611,28.62666667,-25.9766666666667,C3988,0,370,2.8,5,13.6,,,19.9,54.2,21.4,1.63,6.9,5.9,26.5,0.400000006,1.899999976,10.69999981,6.099999905,0.400000006,229.8999939,6.909999847,15.31000042
-7611,28.85666667,-25.8566666666667,C3991,0,350,2.1,6.5,13.9,7.9,4.8,13.7,51.4,11.7,1.25,6.1,5.4,8.399999619,0.100000001,0.5,4.800000191,3,0.620000005,189.5,4.909999847,18.03000069
-7611,28.85666667,-25.8566666666667,C3995,0,310,7.8,40.4,37.2,,,2.1,12,2.5,0.5,5.4,4.5,2.299999952,0.100000001,0.200000003,0.5,0.300000012,0.159999996,5.25,0.479999989,0.125
-7611,29.12,-25.86,C3998,0,270,1.7,20.6,55.6,,,4.9,16,4.4,0.6,5.6,4.5,5.099999905,0,0.300000012,0.600000024,0.100000001,0.159999996,12,0.850000024,0.43900001
-7205,29.64638889,-25.6211111111111,C1416,0,300,5.4,12,16.8,6.9,6,11.3,49,11.7,2,5.7,4.9,9.5,0.100000001,1.200000048,3.700000048,2,1.139999986,616.0999756,5.059999943,8.899999619
-7208,29.66861111,-25.6905555555556,C1410,0,400,41,34.3,16.3,,,0,5,1.2,0.25,4.8,4.4,2,0,0.100000001,0,0,0.109999999,12.89999962,0.209999993,0.061999999
-7611,28.39444444,-25.4405555555556,C4001,0,300,10.9,28.1,40.4,,,4.3,11.9,3.7,0.8,6.4,5.5,4.900000095,0.100000001,0.400000006,1.200000048,0.699999988,0.550000012,14.30000019,1.309999943,0.610000014
-7611,28.39444444,-25.4405555555556,C4003,0,310,10.7,14.9,39.6,,,5.5,24.2,3.7,0.6,5.3,4.3,2.700000048,0,0.400000006,0.200000003,0.600000024,0.280000001,9.300000191,0.74000001,0.474000007
-7611,28.60194444,-25.4791666666667,C2751,0,300,0.6,2.4,77.7,,,3.7,14.6,4.4,0.4,7,6.1,3.099999905,0.100000001,0.600000024,1.600000024,1,0.219999999,275.2999878,2.279999971,4.599999905
-7611,28.60194444,-25.4791666666667,C2735,0,300,0.8,20.9,62.4,,,2.5,12.9,5.1,0.5,6.9,6.2,2.5,0.100000001,0.699999988,1.799999952,1.600000024,0.970000029,144.1000061,1.149999976,2.059999943
-7312,26.04444444,-29.0941666666667,C2721,0,330,1,12.5,74.2,,,2.4,9.1,4.5,0.4,6.9,6,2.299999952,0.100000001,0.400000006,1.899999976,1.399999976,0.170000002,101.0999985,0.839999974,1.299999952
-7305,26.38194444,-29.0666666666667,C2707,0,450,0.7,2.4,36.3,,,6.9,51.3,23.1,1,8.7,7.6,166.5,0.800000012,0.300000012,20.39999962,5.300000191,0.200000003,276.2000122,3.339999914,3.450000048
-7305,26.38333333,-29.125,C2718,0,350,0.9,9,72.1,,,3.5,14.2,4,0.4,7.1,6.2,1.799999952,0.100000001,0.600000024,1.899999976,1.5,0.340000004,176.6999969,1.389999986,2.200000048
-7305,26.29111111,-29.2755555555556,C2715,0,350,2,5.5,72.3,,,3.3,15.6,4.8,0.6,6.7,5.9,3.900000095,0.100000001,0.800000012,2.299999952,1.399999976,0.159999996,113.4000015,1.600000024,1.50999999
-7305,26.3525,-29.3083333333333,C2739,0,150,1.1,2.9,64.4,,,7.1,24,9.5,1,6.9,6.3,6,0.200000003,1,4.099999905,3.200000048,0.370000005,181.1999969,2.819999933,2.680000067
-7212,26.04111111,-29.9866666666667,C2883,0,200,0.2,1.4,66.9,,,10.1,16.3,5.7,0.5,6.7,5.9,2.400000095,0.100000001,0.699999988,2.400000095,1.399999976,1.419999957,200.1999969,1.639999986,2.400000095
-7212,26.03055556,-29.9963888888889,C2872,0,150,0.3,1.2,38.9,34.9,8.6,4.3,10.7,4.6,0.3,8.1,7.3,2.299999952,0.100000001,0.400000006,5.5,1,0.340000004,138.5,1.470000029,2.230000019
-7303,26.81861111,-29.7008333333333,C2842,0,250,0.9,4.2,48,21.7,8.3,4.8,11.7,4.3,0.4,6.2,5,3.400000095,0.100000001,0.400000006,1.799999952,1.399999976,0.5,106.6999969,1.059999943,1.139999986
-7303,26.76222222,-29.6647222222222,C2845,0,280,0.2,1.3,35.9,34.6,8.2,5.6,12.1,5.1,0.6,6.8,5.7,3.200000048,0.100000001,0.699999988,2,1.200000048,1.429999948,164,2.019999981,1.340000033
-7207,26.57527778,-29.4588888888889,C1991,0,400,0.5,0.4,37,,,12.5,50.3,25.2,1.2,7.1,6.3,,0.699999988,0.5,19.70000076,6.900000095,0.469999999,362.3999939,3.819999933,4.300000191
-7207,26.67388889,-29.4505555555556,C1993,0,250,4.6,1.6,57.8,,,15.7,20.3,8.9,1,6,5.4,3.700000048,0.300000012,0.600000024,3.299999952,2.099999905,0.870000005,234.6000061,2.579999924,3.220000029
-7207,26.77722222,-29.3152777777778,C1989,0,300,0.3,2.9,69.2,,,10.7,18.9,7.3,0.7,6.4,5.4,2.799999952,0.200000003,0.400000006,3.700000048,2.099999905,0.419999987,73.5,1.809999943,1.870000005
-7207,26.78,-29.1319444444444,C1982,0,300,1.6,1.2,68.4,,,11.1,16,5.3,0.6,6.7,5.6,3.5,0.100000001,0.5,2.599999905,1.299999952,0.600000024,225.6000061,2.49000001,1.970000029
-7207,26.92222222,-29.1233333333333,C1954,0,300,1.8,0.8,54.5,,,16,21.3,8,0.65,5.9,4.6,8.100000381,0.400000006,0.200000003,2.799999952,1.899999976,0.200000003,222.6000061,2.180000067,2.640000105
-7207,27.14,-29.0133333333333,C1972,0,300,2.9,2.7,72.9,,,9.5,8.4,4.5,0.5,6.6,5.7,2.700000048,0.100000001,0.5,2.099999905,1,0.300000012,124.8000031,1.659999967,1.580000043
-7207,27.02444444,-29.2325,C1995,0,350,1.4,2.6,65.7,,,9.2,16.4,5.7,0.5,5.7,5.3,2.5,0.100000001,0.400000006,3.099999905,1,0.219999999,133.1000061,2.359999895,1.350000024
-7207,27.01666667,-29.2647222222222,C2001,0,300,0.2,3,34.5,25.3,14.2,8.1,12.2,4.5,0.5,5.7,5.2,22.29999924,0.100000001,0.100000001,2.200000048,1.200000048,0.49000001,57.29999924,2.089999914,1.019999981
-7207,26.99055556,-29.3361111111111,C2006,0,300,0.8,2,78,,,5.6,10.2,4,0.5,5.9,5.3,72.38,0.100000001,0.300000012,2.200000048,0.800000012,0.439999998,123.3000031,2.059999943,2.079999924
-7207,26.99083333,-29.3447222222222,C2004,0,280,0.8,3.4,70.5,,,10.4,12.3,5.7,0.7,5.7,5.2,28,0.200000003,0.300000012,2.5,1.600000024,0.419999987,108.3000031,2.140000105,1.919999957
-7207,27.03333333,-29.4180555555556,C1998,0,250,2,1,54.8,,,22.4,16.5,5.7,0.8,5.8,5.3,1.700000048,0.100000001,0.600000024,2.299999952,1.200000048,1.139999986,300.7999878,2.599999905,1.649999976
-7406,24.1025,-28.9644444444444,C3315,0,300,3.4,25,65.3,,,0.4,5.8,2.7,0.9,7.2,6.4,1.700000048,0,0.200000003,1.600000024,0.899999976,0.02,55.5,0.25,0.660000026
-7406,24.20194444,-28.9486111111111,C3320,0,400,2.9,28.6,61.9,,,0.3,4.6,1.8,0.1,7.2,6.4,1.600000024,0,0.200000003,1.200000048,0.600000024,0.114770003,55.5,0.229509994,0.680000007
-7406,24.62638889,-28.9102777777778,C3318,0,250,2.7,9.6,77.5,,,3.3,6.1,4.6,0.2,7,6.2,2.299999952,0.100000001,0.5,2.599999905,1.100000024,0.059999999,88.69999695,0.920000017,2.279999971
-7406,24.86027778,-28.6508333333333,C3323,0,350,3.4,29.6,60.4,,,0.1,6.3,2.9,0.1,7.4,6.5,2.5,0.100000001,0.200000003,1.200000048,1.200000048,0.029999999,89.30000305,0.370000005,0.980000019
-7406,24.46666667,-28.5133333333333,C3313,0,300,5.6,15,64.4,,,4.2,10.5,4.6,0.2,7.4,6.5,2.299999952,0,0.300000012,3.5,0.800000012,0.479999989,105.8000031,1.74000001,5.039999962
-7406,24.48055556,-28.4327777777778,C3308,0,300,9.8,19.2,59.8,,,2.5,7.4,3.9,0.2,8,7.1,2.599999905,0,0.200000003,3.200000048,0.5,0.039999999,201.5,1.24000001,3.190000057
-7302,25.33694444,-28.0905555555556,C2813,0,420,0.5,19.9,73,,,0.9,4.5,2,0.2,6.6,5.7,1.100000024,0.100000001,0.400000006,1.100000024,0.5,0.090000004,70.30000305,0.400000006,0.493420005
-7302,25.47361111,-28.1827777777778,C2804,0,350,3.9,29,55.8,,,1.6,9.3,4.5,0.3,7.5,6.6,1.299999952,0.100000001,0.5,2.900000095,1.700000048,0.100000001,78.90000153,1.120000005,3.059999943
-7302,25.47777778,-28.2077777777778,C2807,0,350,0.7,22.9,68.8,,,0.5,5,1.7,0.1,6.7,6,1.399999976,0.100000001,0.400000006,1.100000024,0.899999976,0.140000001,60.79999924,0.360000014,0.680000007
-7302,25.41722222,-28.225,C2810,0,350,1.4,26.8,60.9,,,1.4,7.4,3.2,0.3,7.6,7,1.700000048,0.100000001,0.600000024,3,1.100000024,0.219999999,105.0999985,0.439999998,1.5
-7306,25.92277778,-28.8738888888889,C2748,0,300,0.8,11.1,61.2,,,5.4,20.1,7.5,0.6,7,6.5,5.5,0.100000001,0.400000006,4.400000095,2.099999905,0.150000006,149.3999939,1.960000038,2.25
-7302,25.89444444,-28.7016666666667,C2793,0,350,0.6,15.5,76.7,,,0.5,7.9,3,0.2,7.3,6.4,1.299999952,0.100000001,0.300000012,1.899999976,0.800000012,0.239999995,11.60000038,0.589999974,1.25
-7302,25.51666667,-28.5672222222222,C2795,0,320,1,7.9,66.3,,,5.4,17.8,8.1,0.6,6.8,5.9,3.900000095,0.100000001,0.400000006,4.900000095,3,0.300000012,378.1000061,3.450000048,5.019999981
-7302,25.59,-28.5072222222222,C2819,0,400,0.9,23.2,67.7,,,0.9,7.5,2.8,0.2,6.8,5.6,1.299999952,0.100000001,0.5,1.600000024,0.800000012,0.189999998,129.1000061,0.460000008,0.860000014
-```
-
-In the second panel we're going to write our YARRRML rules. We start by defining the GLOSIS prefixes.
-
-```
-prefixes:
- glosis_lh: "http://w3id.org/glosis/model/layerhorizon#"
- iso28258: "http://w3id.org/glosis/model/iso28258/2013#"
- sosa:  "http://www.w3.org/ns/sosa/"
- s4a: "http://data.soils4africa-h2020.eu#"  
-```
-
-Then continue with the mapping of horizons. Add the section below under the prefices section. Then click `Generate LD` and notice some RDF is shown representing our horizons in Turtle RDF.
-
-```
-mappings:
-  horizon:
-    sources:
-      - ['soil.csv~csv']
-    s: http://data.soils4africa-h2020.eu/horizon#$(SSN)
-    po:
-      - [a, glosis_lh:GL_Horizon]
-      - [iso28258:upperDepth, $(Upper_Depth_Val)]
-      - [iso28258:lowerDepth, $(Lower_Dept_Val)] 
-```
-
-Notice how for each record in the csv a GL_Horizon entity is created with a unique identification and an upper and lower property.
-
-Next are the actual observations. Unfortunately our data does not provide any information on the procedures used to produce the measurement result. We start with mapping the Cation Exchange Capacity.
-
-```
-  observation:
-    sources:
-       - ['soil.csv~csv']
-    s: http://data.soils4africa-h2020.eu/observation/CEC#$(SSN)
-    po:
-      - [a, glosis_lh:EffectiveCec]
-      - [sosa:observedProperty, glosis_lh:EffectiveCecProperty]
-      - [sosa:hasResult,  $(CEC)]
-      - p: sosa:hasFeatureOfInterest
-        o: 
-          mapping: horizon
-          condition:
-            function: equal
-            parameters:
-              - [str1, $(CEC), s]
-              - [str2, $(CEC), o]
-```
-
-You can extend the mapping by adding additional rules.
-
-## Publishing RDF into a triple store
-
-A typical mechanism to publish RDF generated with YARRRML to a triple store is to convert the YARRRML rules to RML rules and use these in a data workflow in which data is transformed and loaded on a triplestore in an automated way. For example with the [RMLMapper](https://github.com/RMLio/rmlmapper-java) or [RMLStreamer tool](https://github.com/RMLio/RMLStreamer) which can be triggered as a docker image for example in a workflow step.
-
-```
-docker run -v $PWD:/data --rm rmlio/rmlstreamer toFile -m /data/mapping.ttl -o /data/output
-```
-
-An interesting initiative using this approach is the [data to services](https://github.com/MaastrichtU-IDS/data2services-pipeline) pipeline project by Maastricht University.
diff --git a/docs/view.md b/docs/view.md
deleted file mode 100644
index 5e3d351c6bd76a49ccb232091b0d51e2ff96a9e6..0000000000000000000000000000000000000000
--- a/docs/view.md
+++ /dev/null
@@ -1,37 +0,0 @@
-
-# **View services**
-
-The [TG View services](https://inspire.ec.europa.eu/documents/technical-guidance-implementation-inspire-view-services-1) prescribes the adoption of view services, which offer the capability of visualization of spatial data, possibly in a portal, GIS software or webpage. The service provides a quick view on the data, without the need to transfer the data itself to the client. The [TG Soil](https://inspire.ec.europa.eu/id/document/tg/so) prescribes that for each measured soil parameter a view service `layer` is made available online. Layers can relate to actual site observations (soil profiles) as well as parameter distribution grids or vector maps.
-
-### Minimal
-
-In a minimal implementation the Web Map Tiling Service (WMTS) standard is used to provide view services. Tile services have little risk with respect to the Quality of Service requirements. The alternative option, Web Map Service (WMS), is quite prone to exceed the performance limits in cases when it has to 'draw' a lot of data at once.
-
-Tile services are however not optimal for dynamic data and may require a large (tile) storage. Also consider that the adoption of WMTS is less wide spread then WMS in GIS clients.
-
-The getFeatureInfo (gfi) operation is not mandatory for INSPIRE (however useful for end users). Without getFeatureInfo, data used as a source for the view service can be minimal (geometry only).
-
-| Cookbook | Software | Description |
-| --- | --- | --- |
-| [mapserver](tools/mapserver.md) [Mapserver](https://mapserver.org/) | C based FastCGI WMS/WFS/WCS server implementation configured using 'mapfiles' |
-| [Bridge & GeoServer](tools/bridge-geoserver-geonetwork.md) | [Bridge](https://geocat.net/bridge) [GeoServer](https://geoserver.org) | The cookbook describes how to publish view services from QGIS ArcMAP using GeoCat Bridge |
-| [INSPIRE](https://mapproxy.org/docs/latest/inspire.html) | [Mapproxy](https://mapproxy.org/) | Python based tile (cache) server implementation, delegates on the fly rendering to a WMS server |
-| [WMS from QGIS](https://docs.qgis.org/3.22/en/docs/training_manual/qgis_server/wms.html) | [QGIS server](https://docs.qgis.org/3.22/en/docs/server_manual/index.html#qgis-server-manual) | The open source desktop GIS client deployed as a server application |
-
-### Traditional
-
-Most current view services are based on the Web Map Service (WMS) standard. These services are usually easy to set up on top of an existing traditional Web Feature Service or Web Coverage service implementation.
-
-Examples are in the [download services](download.md) section.
-
-### Experimental
-
-OGC API Tiles is an upcoming standard for map visualization. The Open Geospatial Consortium (OGC) is preparing the final standardization documents, however initial implementations are available in. There is no good practice document for adoption of OGC API Tiles within INSPIRE in preparation yet.
-
-| Cookbook | Software | Description |
-| --- | --- | --- |
-| [GeoServer](tools/geoserver.md) | [GeoServer](https://geoserver.org/) | OGC API Tiles is available via the OGC API community plugin |
-| [Dive into pygeoapi](https://dive.pygeoapi.io/) | [pygeoapi](http://pygeoapi.io/) | Python package which exposes a cache of tiles as OGC API Tiles |
-| LDProxy | [LDProxy](https://github.com/interactive-instruments/ldproxy) | Java based opensource OGC API implementation |
-
-Within the sector there is a shift to the use of Vector tiles for vector map visualization. Vector tiles usually require less bandwidth and provide a sharper view on the data, especially on mobile devices with high resolution. INSPIRE does not provide Guidance on the use of vector tiles yet. The [MapBox Vector tiles specification](https://github.com/mapbox/tilejson-spec) is a common API used to publish vector tiles.