Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Implementing INSPIRE Download Services
1. Demonstrating how to Implement
INSPIRE Download Services
Debbie Wilson
Sunday 24th June – 16:00
Beylerbeyi Hall 1
2. Workshop Objectives
• Provide overview of requirements of INSPIRE Download
Service Technical Guidance v3.0 (12th June 2012)
• http://inspire.jrc.ec.europa.eu/documents/Network_Services/Technical_Guid
ance_Download_Services_3.0.pdf
• Practical Demonstration how to create and publish EEA
Natura 2000 data (reported 2009) via each option:
– ATOM Feed for pre-defined datasets
– WFS for pre-defined datasets
– WFS for pre-defined datasets and spatial objects (features)
4. What is an INSPIRE Download Service?
“mechanism by which users can access the information contained
within the spatial data set related to an Annex theme”
…enabling copies of spatial data sets, or parts of such sets,
to be downloaded and, where practicable, accessed
directly (INSPIRE Directive)
5. Types of INSPIRE Download Service
1. Pre-Defined Download Service
– One or more files representing either the full dataset or subsets
– These files are accessed via a file or data repository (e.g. FTP)
– Downloaded in their entirety and the content cannot be changed (i.e. encoding,
CRS)
2. Direct Access Download Service
– Users define a set of request criteria that subsets the data to return only the
features needed:
• Select all data within a bounding box
• Select only feature type x and y
• Select feature by identifier
• Select all features that are valid between T1 and T2 within and area of interest
6. Non-Interoperable vs Interoperable Download
Services
1. Non-Interoperable : Provide access to your data as you provide it today
2. Interoperable : Data provided conforms to relevant INSPIRE data
specification(s)
Deadline for Implementation
Annex I & II: 28th Dec 2012
Annex III: 3rd Dec 2013
9. Legal Requirements for Download Services
Mandatory Operations:
Operation Type of Download Service
Get Download Service Metadata All
Get Spatial Dataset All
Describe Spatial Dataset All
Link Download Service All
Get Spatial Object* Direct Access
Describe Spatial Object Type Direct Access
• Get Spatial Object operation should support the following request criteria:
• Unique Resource Identifier
• CRS
• Filter expressions: logical, comparison, spatial (bbox), temporal
10. Legal Requirements for Download Services
Quality of Service requirements:
QoS Operation Requirement
Performance Get Download Service Initial response ≤ 10 seconds
Metadata
Get Spatial Data Set/ Initial response ≤ 30 seconds
Get Spatial Object Then sustained response > 0.5 Mb/s or > 500
(BBOX request) objects/sec.
Describe Spatial Data Set/ Initial response ≤ 10 seconds
Describe Spatial Object Then sustained response > 0.5 Mb/s or > 500
objects/sec.
Capacity > 10 simultaneous requests per second.
The number of requests processed in parallel may be limited to 50.
Availability Shall be available 99 % of the time.
11. Options for INSPIRE Download Services
• 3 options for implementing INSPIRE Download Services*:
1. ATOM Feed providing access to pre-defined datasets
2. OGC WFS 2.0 serving pre-defined datasets
3. OGC WFS 2.0 serving features (Direct Access)
Conformance Class Obligation
1. Atom Feed C
(M, if WFS (Predefined) is not
conformed to)
2. Pre-defined WFS C
(M, if Atom Feed is not
conformed to)
3. Direct access WFS O
4. Quality of Service M
* Additional service types (e.g. OGC WCS/SOS) will be added once Annex II & III themes published
13. Scenario
• Publish Natura 2000 data reported to EEA in 2009
• Data transformed into INSPIRE
Annex I – Protected Sites Full
Application Schema
Oracle XE
• Demonstrate full process for
implementing INSPIRE Download
Service
14. Publishing data via INSPIRE Download Services
• Configure INSPIRE Download Service:
• Define chunking scheme for generating pre-defined datasets, if applicable (e.g. Country)
• Update schema transformation mapping
Step 1 • Capabilities metadata
• Output format/deployment
• Create INSPIRE ISO metadata:
• Update dataset metadata and create series metadata
Step 2 • Create service metadata
• Deploy Download Service and associated metadata
Step 3
• Publish metadata into INSPIRE Discovery Service
Step 4
15. Publishing data via INSPIRE Download Services
• Configure INSPIRE Download Service:
• Define chunking scheme for generating pre-defined datasets, if applicable (e.g. Country)
• Update schema transformation mapping
Step 1 • Capabilities metadata
• Output format/deployment
• Create INSPIRE ISO metadata:
Step 2 • Update dataset metadata and create service metadata
• Deploy Download Service and associated metadata
Step 3
• Publish metadata into INSPIRE Discovery Service
Step 4
16. Publishing data via INSPIRE Download Services
• Configure INSPIRE Download Service:
• Define chunking scheme for generating pre-defined datasets, if applicable (e.g country)
• Update schema transformation mapping
Step 1 • Capabilities metadata
• Output format/deployment
• Create INSPIRE ISO metadata:
Step 2 • Update dataset metadata and create service metadata
• Deploy INSPIRE Download Service and associated resources
Step 3
• Publish metadata into INSPIRE Discovery Service
Step 4
17. Publishing data via INSPIRE Download Services
• Configure INSPIRE Download Service:
• Define chunking scheme for generating pre-defined datasets, if applicable (e.g Country)
• Update schema transformation mapping
Step 1 • Capabilities metadata
• Output format/deployment
• Create INSPIRE ISO metadata:
Step 2 • Update dataset metadata and create service metadata
• Deploy INSPIRE Download Service and associated resources
Step 3
• Publish metadata into INSPIRE Discovery Service
Step 4
18. GO Publisher
ATOM ATOM Pre-defined Direct Access
Feed Feed WFS WFS
describes
Metadata Dataset Data & metadata Dataset Feature
GO Publisher Desktop GO Publisher Agent GO Publisher WFS
Schema Transformation
Legacy Database Schema
or
INSPIRE Database Schema
19. GO Publisher
ATOM
Feed
describes
Metadata Dataset
GO Publisher Desktop
Schema Transformation
Legacy Database Schema
or
INSPIRE Database Schema
20. GO Publisher
ATOM ATOM
Feed Feed
describes
Metadata Dataset Data & metadata
GO Publisher Desktop GO Publisher Agent
Schema Transformation
Legacy Database Schema
or
INSPIRE Database Schema
21. GO Publisher
ATOM ATOM Pre-defined Direct Access
Feed Feed WFS WFS
describes
Metadata Dataset Data & metadata Dataset Feature
GO Publisher Desktop GO Publisher Agent GO Publisher WFS
Schema Transformation
Legacy Database Schema
or
INSPIRE Database Schema
23. ATOM Feeds
• XML based web content and metadata syndication
format
• Application-level protocol for publishing and editing web
resources belonging to periodically updated websites
• ATOM feeds push links to updated content to subscribed
users
• Removes need for user to repeatedly return to source to
check for updates
• Minimal implementation cost and complexity
24. Feed readers
• To subscribe to ATOM Feeds you will need either:
1. Web Browser (e.g. Firefox, Opera, IE, Safari, Chrome)
• Automatically check for feeds when you visit a website
• Add feeds as a browser favourite or bookmark folder, automatically
updating them with the latest content
2. Web-based feed reader (e.g. Google Reader, Hootsuite)
• User subscribes to feeds
• Displays any new content as they are added
3. Desktop feed reader
• Typically integrated into email (e.g. MS Outlook)
• Displays any new content as they are added
25. Content of an ATOM Feed
• An ATOM feed contains:
1. Descriptive metadata describing the feed itself
2. One or more entries that describes the content (i.e. pre-defined
dataset)
27. Elements required to describe the feed
Basic Descriptive Metadata:
Rights
Title ID Author Update
(Top feed)
GeoRSS polygon
Subtitle
(Dataset Feed)
Links to related metadata and resources:
Self Referencing Link
INSPIRE ISO Metadata
Service Dataset Optional link to alternate
(Top Feed) (Top Feed) representations of feed
(language, format)
OpenSearch Description Spatial object description
(Top Feed) (Dataset Feed)
28. Elements required to describe the feed
Basic Descriptive Metadata:
Rights
Title ID Author Update
Each link requires the following attributes: (Top feed)
• @href: URL of resource
GeoRSS polygon
Subtitle
• @rel: relationship of resource
(Dataset Feed)
• @type: mime type
Links to related metadata and content:
• @title: title use to describe linked resource (optional)
• @hreflang: language used in resource (optional)
Self Referencing Link
INSPIRE ISO Metadata
Service Dataset Optional link to alternate
(Top Feed) (Top Feed) representations of feed
(language, format)
OpenSearch Description Spatial object description
(Top Feed) (Dataset Feed)
31. Elements required to describe entries
Title ID Update Category (CRS)
(Dataset Feed)
Link(s) to Content
URL for Dataset Feed URL for Dataset
(Top Feed) (Dataset Feed)
GeoRSS
Subtitle Author Rights
polygon
40. OGC Web Feature Service
• Web Feature Service is a much more sophisticated web
service for downloading and directly access data online
• Supports the ability for users to retrieve only the data
they are interested in
• An OGC Web Feature Service provides access to
features (aka INSPIRE spatial objects) not datasets.
OGC WFS must support Get Spatial Dataset operation
Must support Get DataSet By ID Stored Query
Optional support for ad hoc queries for user-defined
queries
41. Conformance Classes for OGC WFS
• INSPIRE Pre-Defined WFS Conformance Class :
– Implement ISO 19142 ‘Simple WFS’
– Implement HTTP Get
– Implement GetDatasetByID Stored Query
– Implement INSPIRE Extended Capabilities
• Optionally support INSPIRE Direct Access Conformance
Class:
– Implement ISO 19142 ‘Basic WFS’
– Separate endpoint shall be established for each INSPIRE dataset
43. Workflow for WFS INSPIRE Download Service
Configure Configure
Generate WFS
mapping GetCapabilities
Create ISO19139
Service metadata
Create Stored
Deploy WFS Test
Query
44. Configuring the WFS
• It’s really easy to configure the WFS to serve individual
features
• Much more of a challenge to get the WFS to serve pre-
defined datasets
• What should be the payload of response to the pre-
defined dataset Stored Query within WFS?
• Protected Sites? Or
• INSPIRE SpatialDataSet?
Awaiting clarification as no guidance in TG
45. Configuration Options
Option 1: Set up the WFS as a Pre-Defined Download
Service only
• Update mapping to publish Protected Sites contained within the
INSPIRE SpatialDataset
Pro’s Con’s
• Easy to set up • Cannot retrieve individual features
• GetCapabilities feature list contains
on SpatialDatasets
46. Configuration Options
Option 2: Configure WFS to serve both datasets and
features (Pre-defined & Direct Access WFS)
• Protected Sites are configured as individual features
• INSPIRE SpatialDataSet contains pre-defined set of Protected
Sites (via Xlink not inline)
Pro’s Con’s
• Supports ability to • SpatialDataSet contains a list of identifiers
request both individual to the individual features
features and pre-defined • This list must be resolved in the response
datasets
• WFS should support resolve
• Resolve should be a default parameter in
the GetDataSetByID stored query
47. Configuration Options
Option 3: Configure WFS to serve only features
• Define GetDatasetByID Stored Query to retrieve pre-defined subset
of features based on common property such as country code or
geographic extent
Pro’s
• Supports ability to request both individual features and pre-
defined datasets
• Easy to set up
• Doesn’t require any complex WFS request parameters
• By publishing each dataset as a separate endpoint ensure dataset
id are unique for each dataset
49. Conclusion
• There are currently three options for INSPIRE Download
Services:
– Pre-defined Atom Feeds
– Pre-defined WFS
– Pre-defined WFS (& Direct Access WFS)
• Deadlines are soon for implementing your INSPIRE
Download Service(s):
– Annex I & II: 28th Dec 2012 (6 mths)
– Annex III: 3rd Dec 2013 (18 mths)
• Tools are available now that implement the INSPIRE
Download Service Technical Guidance
So before we dive into the technical details of how to implement each of the different types of INSPIRE Download Services as defined in the recently published, version 3.0 of INSPIRE Download Services Technical Guidance I shall provide you with an overview of what is required and when and we shall look at the different options that are available
The legal definition of an INSPIRE Download Service from the INSPIRE Directive states that a download service is the mechanism by which users can access the data.More precisely an INSPIRE Download service allows users to download or directly access the complete dataset or specific parts of the dataset.
Within the Technical Guidance two types of INSPIRE Download Service are defined:Download Services that provide access to pre-defined datasets: these allow the user to download one ore more files that represent the dataset or a subset of the dataset. The data contained in the file or data repository are pre-defined by the data provider: they define the encoding format, coordinate reference system, content of file. These files are downloaded in their entirety and the user cannot change the content. Direct access download service: this is a more sophisticated service that gives the user much more freedom to request only the data that meets their requirements which they can either download or directly use the data within their application.
The Technical Guidance also recognises that there is a need to further categorise pre-defined or direct access download services as interoperable or non-interoperable.A non-interoperable INSPIRE Download Service is a service where the user accesses your data in the encoding format and data model you use todayAn interoperable INSPIRE Download Service is a service where the user can access the data that has been transformed so that it conforms to the relevant data specifications.So why are there these two categories of an INSPIRE Download Service?The implementation timelines for establishing INSPIRE Download Services and providing access to data transformed to conform to the INSPIRE data specifications differ.For Annex I and II data providers, you must establish an download service that conforms to the requirements as stated in the Network Services Implementing Rule and INSPIRE Download Services technical guidance by 28th December 2012 and 3rd December 2013 for Annex III data providers. So you only have 6 months to set up download services for your Annex I and II datasets and 18 months for Annex III datasets!!However, for these deadlines the download services only need to provide access to the data as you provide it today (if it is a dataset that existed before the 15th May 2007, when the INSPIRE Directive entered into force). You have until 2017 and 2020 before the data needs to be transformed and made accessible via the INSPIRE Download Service.But, If you have a dataset that was newly created or extensively restructured on or after the 15th May 2007, the download service must provide access to data that has been transformed to conform to the relevant INSPIRE data specification.
So now we know the deadlines we now need to understand so what are the technical requirements that we must implement
The technical requirements are defined in two documents:Legally binding Implementing Rule: which shall define the mandatory requirements that must be implemented in order to conform to the INSPIRE Directive. As these are legislative instruments they define these requirement in an abstract specification (so they are implementation agnostic).Technical Guidelines: convert these abstract requirements into implementation specific requirements bound to the specific technologies that are in use now. These technical guidelines also include some additional requirements that should be implemented to ensure interoperability. These will be defined as TG requirements and conformance classes shall be defined for these – but they do not need to be implemented to legally comply with the requirements. As long as the IR Requirements are implemented then you have met the requirements but you may not have a usable service!So to understand exactly what you need to do you need to read both the Implementing Rule and technical Guidance document.
To start with I’ll take you through the legal requirements for any Download Service.So any type of INSPIRE Download Service must support 4 abstract operations:Get Download Service metadata: this operation requires that a metadata record describing the INSPIRE Download Service is published in an INSPIRE Download Service. This allows users to discover and evaluate the service before use to understand its capabilities and datasets it provides access too.Get Spatial Dataset: this operation allows a user retrieve the spatial dataset or a pre-defined subset/part of the spatial datasetDescribe Spatial Dataset: this operation returns a description of all the spatial objects that are contained in the spatial dataset Link Download Service: this operation allows the data provider upload the metadata record describing the Download Service to an INSPIRE Discovery Service.In addition to these, if the download service allows users to select the data they want to download or directly access the download service must also support:Get Spatial Object: this operation allows users to request data based on user-defined request criteria. The INSPIRE Directive states that this operation should allow users to submit requests to get one or more spatial objects by their identifier, define the coordinate reference system for the downloaded data and select features based on the property values using logical, comparison, spatial and temporal filter expressions.Describe Spatial Object Type: this operation returned the definition of the specified spatial object(s).
The table defines that Quality of service requirements for INSPIRE Download Services. The key requirements are that: Data retrieval using GetSpatialDataset or GetSpatialObject request containing a bounding box should respond within 30 seconds for the initial response and then maintain a sustained response of 0.5Mb/sec or 500 objects/sec/ The service shall support at least 10 simultaneous requests/sec and shall be available 99% of the time in normal situation.
So those are the legal technical requirements but what are the options for implementing an iNSPIRE Download Service? In version 3 of the technical guidelines for INSPIRE Download Services, implementation guidance have been defined for three types of download service:ATOM feeds that provide access to pre-defined datasetsOGC WFS 2.0 serving pre-defined datasetsOGC WFS 2.0 serving features (aka INSPIRE Spatial Objects) which is a Direct Access Download ServiceNote, these technical guidelines will be extended once the Annex II and III data specifications are published to cover other types of download service such as OGC WCS and SOS.Of these services, you are free to implement any one of these types of INSPIRE Download Services. But if you are publishing pre-defined datasets you must published them via either a ATOM feed or WFS.
We are going to look at the technical requirements for each of these options in the next few sections. But before this, I shall introduce you to the demonstration data and tools that we shall use.
For the demos we shall be using the Natura 2000 dataset that was reported to the EEA in 2009. This data covers 25 Member States and can be freely download from the EEA website.This original data is an ESRI shapefile and an access database. These were integrated into an Oracle XE database and the necessary schema transformations to publish the data into INSPIRE Annex I – Protected Sites Full Application Schema were configured using GO Publisher Desktop. So now we are ready to publish this data back out via an INSPIRE Download Service.
To publish data via an INSPIRE Download Service, irrespective of which option(s) you chose follows 4 common steps:Step 1: Configure the INSPIRE Download ServiceThe initial schema transformation mapping may need updating to enable the data to be published appropriately within the INSPIRE Download Service (for example, different services may provide data in different XML root (container) elements)You will need to configure the service metadata for the Download Service and define the output format (compressed/uncompressed XML) and configure how service will be deployed Step 2: Create INSPIRE ISO MetadataThe second step is to update the dataset metadata to include the links to the Download Services, update the lineage statement to state that it has been transformed and add contact information for service provider (as different to data provider). This information also needs to be published as series metadata where the dataset is made available via multiple files in a Pre-defined Download Service.A service metadata record
Step 2: Create INSPIRE ISO MetadataThe second step is to update the dataset metadata to include the links to the Download Services, update the lineage statement to state that it has been transformed and add contact information for service provider (as different to data provider). This information also needs to be published as series metadata where the dataset is made available via multiple files in a Pre-defined Download Service.A service metadata record also needs to be created describing the INSPIRE Download Service. These INSPIRE ISO metadata records are now ready to be published into an INSPIRE Discovery Service
Step 3: Deploy the INSPIRE Download ServiceOnce everything has been configured and generated the INSPIRE Download Service is ready to be deployed and go live.
The final step now the service is live is to publish its available within the INSPIRE Network by uploading the INSPIRE ISO metadata into an INSPIRE Discovery Service.
We are going to show you how to go through these steps to generate each of the 3 types of INSPIRE Download Serviceusing our GO Publisher software suite. The GO Publisher product suite is comprised of three products:GO Publisher DesktopGO Publisher AgentGO Publisher WFSAll three products have internal on-the-fly schema transformation capabilities so we are able to publish data into any data specification from existing data specifications or from database schemas aligned to specifically to the output data specification. This capability makes GO Publisher unique in the current market-place.
GO Publisher Desktop: this is an affordable, entry level tool used to configure the schema transformations necessary to transform your data into the relevant INSPIRE data specifications and can publish individual files, metadata and ATOM feeds. This is suitable for publishing small datasets where the complete dataset can be published within a single file.
GO Publisher Agent: is an enterprise-level data publishing web service. It is used for publishing large datasets and highly dynamic data (e.g. meteorological/air quality data). GO Publisher Agent is configured to publish both the data and any associated metadata (such as ISO metadata, Atom feeds) simultaneously.It is designed for automated, batch publishing of data. Each of the files that comprise a dataset can either be then be loaded into a flat file data repository (e.g. FTP) or into a database from where the data can retrieved via a RESTful API. The forthcoming release of GO Publisher Agent is a very powerful data publishing tool. It is a comprehensive data publishing workflow, incorporating data validation which has been designed to meet to the complex data publishing requirements of NMAs and INSPIRE.
GO Publisher WFS: this is an OGC compliant implementation of the WFS specification (supporting all versions of the WFS specification). It can be configured to provide access to pre-defined datasets or features. The following demos shall demonstrate the capabilities of GO Publisher Desktop and GO Publisher WFS for implementing INSPIRE Download Services.
The first demo shall take you through the INSPIRE requirements for publishing data via an ATOM feed.
Atom is an XML-based web content and metadata syndication format, which is an application-level protocol for publishing and editing Web resources belonging to periodically updated websites. It is a relatively recent specification and is much more robust and feature-rich than RSS. ATOM Feeds push updated content to subscribed users. By pushing the latest content as soon as it is published, it removes the need for users to keep returning to the source to check whether the resource is changed. ATOM feeds are much easier and safer to use than publishing notifications of updates via email for example, as users do not have to disclose any personal information (such as email addresses) so there is less risk of spam, phishing and identity theft.They are also simple to unsubscribe from as you simply delete the subscriptions from your Feed reader.Finally they can be implemented with minimal cost and complexity as they do not require any sophisticated software for end users or providers
For the end-user, by making data accessible via an Atom Feed, it also removes the need for them to use sophisticated software tools to access the data. All they need is a feed reader.There are three options for feed readers. The most basic is a web browser such as Firefox, Opera, Internet Explorer etc. When a user views a website they automatically check for feeds. If a feed is discovered you can add this feed to your browser favourites list or bookmark folder and it the feed with automatically update it with the latest content.Alternatively the user can use a dedicated feed reader: this could either be a web-based feed reader such as Google Reader or a desktop reader (e.g. email applications). Using a feed reader a user can subscribe one or more feeds and they aggregate new content as they feeds as updated. Feed readers are a great way for users to quickly identify new content from all sources they are interested in.
An ATOM Feed is composed of two parts:Descriptive metadata that describes the feed itselfOne or more entries that describes some the content. For INSPIRE, each entry should contain a link to a pre-defined dataset.
The INSPIRE Technical Guidance recommends that to develop an INSPIRE Download Service based on ATOM feeds the feeds shall have a hierarchical structure.The INSPIRE Download Service is described by a Top Atom Feed. The Top Atom feed contains:Descriptive information describing the download service (i.e. title, authority responsible for feed)Links to the INSPIRE Metadata records within an INSPIRE Discovery Service that describes the service.An open search description document which defines the service capabilities One or more entries which contains a link to a dataset atom feed and its INSPIRE ISO metadata record. The link to the dataset is defined in this atom feed not the top level atom feedA hierarchical structure to the atom feeds is required to allow multiple representations of the each pre-defined dataset that comprises a dataset to be defined. In this example, the INSPIRE Download Service contains two datasets. The dataset feed A allows the dataset to be downloaded in only one encoding but two different ETRS89 coordinate reference systems whereas dataset feed B allows the dataset to be downloaded in different encodings and CRS.
To create an atom feed you need to provide the following mandatory and optional elements.You need to provides some basic descriptive metadata the describes the feed:There are 4 of these apply to both the top feed and the dataset feed. These are:title – name assigned to the feedID – which is a unique identifier assigned to the feedAuthor – contact information for the organisation publishing the feed. This consists of the organisation name and email. Update – this is the dateTime when the feed was last updated.Finally for the top feed, you must also provide some rights information relating to access constraints.In additional to these mandatory elements you can also chose to include a subtitle (which acts as an abstract) and an bounding box describing the extent of the dataset contained in the dataset feed. This is implemented as a GeoRSS polygon.Finally you must define a set of links to related metadata and resources such as:- Alternate representations of the feed if defined in other languagesOpenSearch Description (top feed) – which fulfils the GetSpatial Dataset Set and Describe Spatial Dataset operations which ATOM doesn’t support Spatial object description (dataset feed) which is a link to a document describing the data model for the spatial object. For non-INSPIRE data this could be a data dictionary, for INSPIRE data this is a link to the INSPIRE Feature Catalogue.
When defining each of the link, each link shall contain upto 5 attributes.@href: URL of resource@rel: relationship of resource @type: mime type @title: title use to describe linked resource (optional) @hreflang: language used in resource (optional)
So in this feed you can see we have created a feed containing all of the required elements describing the feed:Title and subtitleLinks: we have 4 links: one to self and another to alternate representation of the same feed in german. And links to the service metadata and open search description.Finally there is the ID which is a HTTP URI which shall resolve to the feed if it is typed into a web browser. And Information about rights when it was updated and author
The same basic metadata is repeated on the feed. The key difference is that the links – reference:Dataset metadataDescription of the spatial objects – which for the INSPIRE data, is a reference to the INSPIRE Feature CatalogueFinally a link to download dataset.
Both types of atom feed must also include at least one entry that links to the content.To describe an entry requires 5 mandatory elements: title, id and update.It also requires a category element which is used to describe the CRS’s that data is available within.Finally you must include a link to the content. For the Top feed this is the URL for the dataset feed and for the dataset feed this is the link to the dataset feed.You can also include 4 optional elements to the entry as well, of these only the georss bounding box extent is useful as the others are defined on the feed.
So here you can see that the amount of information required to create the entry in the feed is quite small.In the top level feed the entry defines the links to each of the dataset feeds, one for each pre-defined dataset.
In the dataset feed, the entry contains a bit more information as it links to the dataset.As we can see the link to the dataset contains more information such as the size of the dataset and the coordinate reference system used to encode the geometry in the dataset.
So I’m now going to show you how we have developed an INSPIRE Download Service based on Atom Feeds for the EEA Natura 2000 dataset using GO Publisher.
There are severalsteps in the workflow that we undertook to develop the Atom Feed INSPIRE Download Service. Unfortunately we won’t have time to show you them all in this demo. Thefirst step in the workflow is to define how the pre-defined dataset shall be published. Publishing the pre-defined data: here you have several options to considerHow are you going to publish the data (via web service or flat file)What CRS are you going to make your data available inDo you want to serve the data compressed or uncompressedFor this part of the demo we are going to publish the data as flat file (but the atom feed can equally be configured to provide access to the dataset accessible via a WFS)Create ISO 19139 Metadata describing both the dataset and serviceCreate the Atom feed and its associated Open Search descriptionIn the demo, I will go through each of these steps to create each of the resources and save them the relevant directory, which shall be deployed onto my application server.
Once you have created your metadata you should validate it, before publishing to ensure it meets the requirements of the metadata IR.
Once you have discovered the download service feed you can subscribe to it using generic feed readers such as Google Reader.
Now you know how to set up an Atom feed we are now going to look at setting up an OGC WFS as an INSPIRE Download Service.
Web Feature Service is a much more sophisticated web service for downloading and directly access data onlineas it supports the ability for users to retrieve only the data they are interested in and not have to download all of the data, then remove any data they do not need.A WFS also allows users to directly connect to the data within their application, removing the need to hold data locally.However, a WFS is designed to provide access to feature not datasets, but the WFS must support the mandatory INSPIRE GetSpatial Dataset operation. Thankfully the stored query operations in the WFS specification allow users to defined a stored query to get a dataset by its id.
The INSPIRE Download Services Technical Guidance requires an OGC to support the following conformance classes:All WFS must support the INSPIRE Pre-defined WFS Conformance class which states that a WFS must implement:ISO 19142 Simple WFS conformance class – which requires all WFS to implement the Stored Query operations (list and describe stored query) and basic WFS operations, GetCapabilities, DescribeFeatureType and GetFeatureHTTP Get Each instance must support the GetDataSetByID stored queryImplement the INSPIRE extended capabiltiies that allows you to link to the dataset metadata and list the spatial datasets available in the service in a same way as within the ATOM feedOptionally support INSPIRE Direct Access Conformance Class:Implement the WFS Basic WFS Conformance Class, which requires you to support the ability for ad hoc querying using all of the logical, comparison, temporal filter expressions and the minimum spatial filter (BBOX) as required by INSPIREIt also states that for each dataset a separate endpoint shall be established.
Now onto the practical demonstration where we shall set up an INSPIRE Download Service where we shall create the GetDataSetBy ID stored query
The steps involved are similar to the ATOM feed. Configure mapping to publish data via WFSConfigure GetCapabilities metadata for WFSCreate ISO 19139 metadata for serviceDeploy INSPIRE Download Service Create GetDataSetByID stored queryTest the INSPIRE Download Service
But before I embark on the demo – we shall look at some of the challenges I faced when configuring the WFS asits really easy to configure the WFS to serve individual features but’s harder to get the WFS to serve pre-defined datasets.The big issue I struggled with was – what should be the payload of the response to a GetDataSetByID request.Is it:Pre-defined set of Protected Sites features? orAre the set of Protected Sites features contained within an INSPIRE SpatialDataSet feature?I’ve asked for clarifcation as there is no guidance in the TGSo I looked at 3 different options for configuring the WFS
Option 1: Set up the WFS as a Pre-defined download serviceHere we wrapped the set of Protected Site features within an INSPIRE SpatialDataSet feature.The pro’s of this approach is that it is easy to set up. However, you cannot retrieve individual features and when you load the data into a client there will only be a single feature.Also the GetCapabilities feature list will only contain the INSPIRE SpatialDataset feature – you will not be able to identify what features it contains from the Capabilities.
Option 2: Configure the WFS to serve both datasets and features.Here we have configured the server to provide access to protected sites as individual features and also publish an INSPIRE SpatialDataset which contains a pre-defined set of protected sites that are encoded as xlink references to the individual features and not inline (as you cannot encode the features twice within a WFS as it will result in invalid data being returned).The big advantage of this approach is that it supports ability to request both individual features and pre-defined datasetsThe disadvantage is the SpatialDataset contains a list of idenitifiers not the features. This list must be resolved in the response.Therefore the WFS should support resolve and the resolve should be a default parameter in the GetDataSetByID stored query
Finally configure the WFS to serve only features or pre-defined sets of features. There is no INSPIRE SpatialDataSet.So we need to define the GetDataSetByID stored query to retrieve the pre-defined set of features based on either:Common property (e.g. country code) Assign each feature a DataSet IDThe benefits of this approach is that its easy to set up as you are configuring the WFS to work as designed.Supports the ability for users to easily request individual features and pre-defined datasets and doesn’t requires the WFS to support complex WFS request parameters.We couldn’t find any disadvantages to this approach as by publishing each dataset as a separate endpoint ensures that the dataset ids are unique for each dataset.
There are currently three options for INSPIRE Download Services: Pre-defined Atom FeedsPre-defined WFSPre-defined WFS (& Direct Access WFS)We would advocate either option 1 or 3 (or both).Deadlines are soon for implementing your INSPIRE Download Service(s):Annex I & II: 28th Dec 2012 (6 mths)Annex III: 3rd Dec 2013 (18 mths)But don’t panic, despite the TG only being published 2 weeks ago - tools are available now that implement the INSPIRE Download Service Technical Guidance.