Ordering Extensions; a link from metadata to environmental data
All of the existing scientific data formats don’t provide instructions which allow to combine request for data gathering, they only describe data. At the same time data services providing similar instructions can deliver metadata in different formats, that is extremely inconvenient for cataloguing sources.
VOprovidesstandardsection for describing data request variations which we call Ordering Extensions (OE). The record in OE can be used as a basis for request form generation to data service (interface to data resource). The result of the order is a data object, which is stored in VO user space and it can be accessed for further processing.
Usage of OE format allows to register data resources and send them user requests for data processing and visualization. Doing this, VO users approach to data through metadata. At the same time, description of the sources in a uniform format facilitates aggregation of data, coming from different sources (data fusion), and metadata independent sources search (data discovery). OE format allows to describe request to web map service (WMS), OGSA-DAI grid service or to OPeNDAP data streams.
Besides listed, OE provides data access restriction function. In OE format parameter lists and values requested from resource can be restricted aside the most interesting to the given subject domain.Some arguments can be made "hidden", thus establishing the filter on the data obtained through VO (For example, to limit the list of possible formats of returned data to one for which VO has visualization tools).
Ordering ExtensionsXML schema“DataSource.xsd”
Element – name of the XMLelement
Type – element value type
Value – possible element values
Function – general function of the element
Usage – how the element is used within VO
Element / Type / Value / Function / UsageDataSource / Complex / Root element
SourceId / String / Data source ID
SourceInformation / Complex / Data source info
Query / Complex / Data query capabilities / Information needed to build a data query form
OutputFormats / Complex / Export data format / Information needed to specify data export format
FuzzySearch / Complex / Fuzzy search capabilities / Information needed to build environmental scenario search request
Element / Type / Value / Function / Usage
SourceInformation / Complex / Data source info
ResourceId / String / Data resource ID / Select different data resources from the same data service
ProductId / String / Data product ID / Select different data products from the same data resource
ProductShortName / String / Data product short name / Menu lists
ProductDisplayName / String / Data product full (display) name / Title in the product list
ProductDescription / String / Data product description / Abstract in the product list
ProductIconUrl / URI / URL to the data product icon / To show icon in the data product list
DataTypes / Complex / Data type list
Middleware / Complex
Element / Type / Value / Function / Usage
Query / Complex
Map / Complex / Spatial query part
ParameterList / Complex / Parameter list
StationList / Complex / Station list / Can be used with map (ground stations) or as a list (satellites)
QueryFormAdditions / Complex / Hidden parameters / Additional query form elements (flags, keys, identifiers)
QueryActions / Complex / Query action list / Actions like get, save, view, etc.
TimeInterval / Complex / Time interval / Query time interval
Element / Type / Value / Function / Usage
OutputFormats / Complex / Export format list
Variant / String / List of possible values
Element / Type / Value / Function / Usage
Map / Complex / Spatial query part
MapImage / String / Background map layer name / Default name is“global” for the world map
Used / Logical / Flag / Is the spatial part used in the query form?
MapCoverage / Complex / Region of interest
StationMap / Complex / Station locations map
PointsMap / Complex / Points (probes) map
GridMap / Complex
AreaMap / Complex
Element / Type / Value / Function / Usage
ParameterList / Complex / Parameter list
Used / Logical / Flag / Is the parameter selection list in the query form?
MultipleSelect / Logical / Flag / Is multiple parameters selection possible?
VerticalCoord / Complex / Vertical coordinate system / Select same parameter at different levels
Parameter / Complex / Environmental parameter
Element / Type / Value / Functioin / Usage
StationList / Complex / Station list / Can be used with map (ground stations) or as a list (satellites)
Used / Logical / Flag / Is the station selection part (map and/or list) present on the query form
MultipleSelect / Logical / Flag / Is multiple stations selection possible?
FormElementId / String / Query form element ID / ?
Station / Complex / Station
Id / String / Station ID
Display / String / Station name / Title in the station list
Info / String / Station description / Abstract in the station list
Location / String / Station location / Used for station map
TimeInterval / String / Time interval / When station was active?
Element / Type / Value / Function / Usage
QueryFormAdditions / Complex / Hidden parameters / Additional query form elements (flags, keys, identifiers)
Additional / Complex / Additional parameters
AdditionalName / String / Additional name
AdditionalValue / String / Additonal value
Element / Type / Value / Function / Usage
QueryActions / Complex / Query action list / Actions like get, save, view, etc.
QueryAction / Complex / Single action item
ActionDisplayName / String / Action name
Action / String / ?
Element / Type / Value / Function / Usage
FuzzySearch / Complex / Fuzzy search capabilities / Information needed to build environmental scenario search request
Database / String / ? / Fuzzy search can be performed over another data source
Parameter / Complex / Parameter list
ParamKey / String / Parameter ID
Display / String / Parameter display name
Info / String / Parameter info
Name / String / Parameter name / Short name used
Units / String / Units of measurement
Values / Complex
Scale / Decimal
Offset / Decimal
Mapping / Complex
MultipleSelect / Logical / Flag / Is multiple selection possible?
Value / Complex
Id / String / Identifier
Description / String / Description
Lat / String
Lon / String
Time / Date
Elementvalues andrequirements
1. Parameters of the data request are controlled by a web form and preliminary validated by embedded Java Script functions:
- Date is formatted like “….”, empty date values are not allowed, time step is controlled by a selection list. Daterangeisnotrequired (controlledbythe“…”flag).
- Probe (point) locationcoordinatesaresetbyaJavaApplet (defaultlocationvalueis“0-0”).
- Station and parameter lists can be empty. Java Script functions on the web form can block requests with the empty lists.
2. Possible ranges of the web form selections are controlled by the OE record:
- Time step in the TimeInterval can be set in the OE element.
- If the probe (location) should be snapped to grid, the grid parameters (lat/lon ranges and steps) are set by the OE element.
- Stations and parameters are selected from the OE lists.
- Whether the form element is required or not is defined by the true/false value of the Required element (in future).
- Whether or not a group of elements should be used at all (e.g. station selection) is controlled by the value of the Usage element.
For example, required multiple selection list of parameters on the web form is described in the following OE part:
<Parameters>
<Used>true</Used>
<MultipleSelect>true</MultipleSelect>
<Required>true</Required>
<Parameter>
<Id>@0</Id>
<Display>E layer frequency</Display>
<Info>Jan 1, 1942 - Feb 28, 2006</Info>
</Parameter>
…..
</Parameters>
Station, parameter, time interval, map parts of the data query form are controlled by a set of flags (element values). These flags say which element must be present in the request (Required), can have multiple values (MultipleSelect), is present at all on the web form and in the data request (Used).
How OE elements are rendered on the web form?
EachblockofОЕXMLelements isvisualized on the web form by means ofan XSL transformation. Currently we have a single XSLT file to render any of available OE records.
Time interval
Time interval is rendered as a table of scroll-down lists for the start/end year – month – day – hour – minute values:
Location
Spatial part of the data request currently is controlled by Java applet. It can be a rectangle region, an arbitrary point, or a grid point. In each case Java applet is loaded on the page with a special set of parameters derived from the OE elements.
If station locations should be mapped, then applet sends back to the web form a list of selected station IDs instead of location coordinate pairs.
Station list is presented as a scrollable list with multiple or single selection options controlled by OE.
Parameters
Parameterlistcanberendered on the web form intwoways:1) as a table of check boxes grouped by vertical levels (e.g. “temperature”) or 2) as a selection list (e.g. “orbit type: day/night”).
Multiple data request forms
Onedataresource (e.g. SPIDR) canhavedifferentdatasources(SPIDR-iono, SPIDR-indices, etc.), each with a separate OE metadata record. Moreover, every data source OE record can rendered in different ways with specific functionality (say, only one satellite or subset of stations). These data query “filters” can be set by hidden parameters of the OE record and corresponding web form.