Flexible Identifier
Introduction
The
flexible identifier extension offers the possibility to return
human readable names as identifiers instead of the sometimes cryptic identifiers. Of course, it is also possible to use the human readable identifiers in the requests. The elements that this extension concerns are
offering,
procedure,
observableProperty and
featureOfInterest.
In the
requirements section you can find more information about the requirements to support flexible identifier.
In the
global settings and
requesting sections you can find information how to enable/disable the felxible identifier globally or for each request.
Requirements
As previously mentioned, the elements that this extension concerns are
offering,
procedure,
observableProperty and
featureOfInterest.
To provide flexible identifiers it is necessary that the
name
column in each related table contains a
human readable name which is than used as identifier.
To avoid problems it is recommended that the values in the
name
columns of each element are unique.
If the name column is empty, the identifier is used.
Global settings
The usage of
human readable names can be set globally in the settings of the SOS. Next to the enabling/disabling of the generally usage you can define whether this should be applied to each element.
The element specific
human readable name dis-/enabling can only be defined globally.
Requesting
It is also possible to add a flag to the SOS request to return
human readable names as identifier or not. This flag overruled the global setting so that you can get
human readable names as identifier if the global setting is
false
and the requested flag is
true
.
This flag in requests is supported for all SOS 2.0 reqests and for SOS 1.0.0 KVP requests. SOS 1.0.0 XML requests are not supported because of the missing
extension element.
The element specific
human readable name dis-/enabling si not supported in the requests.
KVP requests
- key =
returnHumanReadableIdentifier
- value =
true
or false
For example:
&returnHumanReadableIdentifier=true
or
&returnHumanReadableIdentifier=false
XML requests
In SOS 2.0 XML encoded requests the
human readable name flag should be encoded as a
swe:Boolean
element with the key
returnHumanReadableIdentifier
as value of
gml:identifier
or=definition= attribute. The
swe:Boolean
element should be contained in a
sos:extension
(
GetCapabilities) or
swes:extension
(
other requests).
The XML code examples contains the
gml:identifier element and the
definition attribute but only one of the two is required.
GetCapabilities
After all other elements.
1 <sos:extension>
2 <swe:Boolean definition="returnHumanReadableIdentifier">
3 <swe:identifier>returnHumanReadableIdentifier</swe:identifier>
4 <swe:value>true</swe:value>
5 </swe:Boolean>
6 </sos:extension>
other requests
As first element.
1 <swes:extension>
2 <swe:Boolean definition="returnHumanReadableIdentifier">
3 <swe:identifier>returnHumanReadableIdentifier</swe:identifier>
4 <swe:value>true</swe:value>
5 </swe:Boolean>
6 </swes:extension>