adding parser for Sensor Observation Service (SOS) GetCapabilities interface, r=ahocevar (closes #2337)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9897 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -264,6 +264,9 @@
|
||||
"OpenLayers/Format/WMSCapabilities/v1_3.js",
|
||||
"OpenLayers/Format/WMSCapabilities/v1_3_0.js",
|
||||
"OpenLayers/Format/WMSGetFeatureInfo.js",
|
||||
"OpenLayers/Format/OWSCommon/v1_1_0.js",
|
||||
"OpenLayers/Format/SOSCapabilities.js",
|
||||
"OpenLayers/Format/SOSCapabilities/v1_0_0.js",
|
||||
"OpenLayers/Layer/WFS.js",
|
||||
"OpenLayers/Control/GetFeature.js",
|
||||
"OpenLayers/Control/MouseToolbar.js",
|
||||
|
||||
187
lib/OpenLayers/Format/OWSCommon/v1_1_0.js
Normal file
187
lib/OpenLayers/Format/OWSCommon/v1_1_0.js
Normal file
@@ -0,0 +1,187 @@
|
||||
/* Copyright (c) 2006-2009 MetaCarta, Inc., published under the Clear BSD
|
||||
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
|
||||
* full text of the license. */
|
||||
|
||||
/**
|
||||
* @requires OpenLayers/Format/XML.js
|
||||
*/
|
||||
|
||||
OpenLayers.Format.OWSCommon = {};
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Format.OWSCommon.v1_1_0
|
||||
* Parser for OWS Common version 1.1.0 which can be used by other parsers.
|
||||
* It is not intended to be used on its own.
|
||||
*
|
||||
* Inherits from:
|
||||
* - <OpenLayers.Format.XML>
|
||||
*/
|
||||
OpenLayers.Format.OWSCommon.v1_1_0 = OpenLayers.Class(OpenLayers.Format.XML, {
|
||||
|
||||
/**
|
||||
* Property: namespaces
|
||||
* {Object} Mapping of namespace aliases to namespace URIs.
|
||||
*/
|
||||
namespaces: {
|
||||
ows: "http://www.opengis.net/ows/1.1",
|
||||
xlink: "http://www.w3.org/1999/xlink"
|
||||
},
|
||||
|
||||
/**
|
||||
* Property: readers
|
||||
* Contains public functions, grouped by namespace prefix, that will
|
||||
* be applied when a namespaced node is found matching the function
|
||||
* name. The function will be applied in the scope of this parser
|
||||
* with two arguments: the node being read and a context object passed
|
||||
* from the parent.
|
||||
*/
|
||||
readers: {
|
||||
"ows": {
|
||||
"ServiceIdentification": function(node, obj) {
|
||||
obj.serviceIdentification = {};
|
||||
this.readChildNodes(node, obj.serviceIdentification);
|
||||
},
|
||||
"Title": function(node, serviceIdentification) {
|
||||
serviceIdentification.title = this.getChildValue(node);
|
||||
},
|
||||
"Abstract": function(node, serviceIdentification) {
|
||||
serviceIdentification.abstract = this.getChildValue(node);
|
||||
},
|
||||
"Keywords": function(node, serviceIdentification) {
|
||||
serviceIdentification.keywords = {};
|
||||
this.readChildNodes(node, serviceIdentification.keywords);
|
||||
},
|
||||
"Keyword": function(node, keywords) {
|
||||
keywords[this.getChildValue(node)] = true;
|
||||
},
|
||||
"ServiceType": function(node, serviceIdentification) {
|
||||
serviceIdentification.serviceType = {
|
||||
codeSpace: node.getAttribute('codeSpace'),
|
||||
value: this.getChildValue(node)};
|
||||
},
|
||||
"ServiceTypeVersion": function(node, serviceIdentification) {
|
||||
serviceIdentification.serviceTypeVersion = this.getChildValue(node);
|
||||
},
|
||||
"Fees": function(node, serviceIdentification) {
|
||||
serviceIdentification.fees = this.getChildValue(node);
|
||||
},
|
||||
"AccessConstraints": function(node, serviceIdentification) {
|
||||
serviceIdentification.accessConstraints =
|
||||
this.getChildValue(node);
|
||||
},
|
||||
"ServiceProvider": function(node, obj) {
|
||||
obj.serviceProvider = {};
|
||||
this.readChildNodes(node, obj.serviceProvider);
|
||||
},
|
||||
"ProviderName": function(node, serviceProvider) {
|
||||
serviceProvider.providerName = this.getChildValue(node);
|
||||
},
|
||||
"ProviderSite": function(node, serviceProvider) {
|
||||
serviceProvider.providerSite = this.getAttributeNS(node,
|
||||
this.namespaces.xlink, "href");
|
||||
},
|
||||
"ServiceContact": function(node, serviceProvider) {
|
||||
serviceProvider.serviceContact = {};
|
||||
this.readChildNodes(node, serviceProvider.serviceContact);
|
||||
},
|
||||
"IndividualName": function(node, serviceContact) {
|
||||
serviceContact.individualName = this.getChildValue(node);
|
||||
},
|
||||
"PositionName": function(node, serviceContact) {
|
||||
serviceContact.positionName = this.getChildValue(node);
|
||||
},
|
||||
"ContactInfo": function(node, serviceContact) {
|
||||
serviceContact.contactInfo = {};
|
||||
this.readChildNodes(node, serviceContact.contactInfo);
|
||||
},
|
||||
"Phone": function(node, contactInfo) {
|
||||
contactInfo.phone = {};
|
||||
this.readChildNodes(node, contactInfo.phone);
|
||||
},
|
||||
"Voice": function(node, phone) {
|
||||
phone.voice = this.getChildValue(node);
|
||||
},
|
||||
"Address": function(node, contactInfo) {
|
||||
contactInfo.address = {};
|
||||
this.readChildNodes(node, contactInfo.address);
|
||||
},
|
||||
"DeliveryPoint": function(node, address) {
|
||||
address.deliveryPoint = this.getChildValue(node);
|
||||
},
|
||||
"City": function(node, address) {
|
||||
address.city = this.getChildValue(node);
|
||||
},
|
||||
"AdministrativeArea": function(node, address) {
|
||||
address.administrativeArea = this.getChildValue(node);
|
||||
},
|
||||
"PostalCode": function(node, address) {
|
||||
address.postalCode = this.getChildValue(node);
|
||||
},
|
||||
"Country": function(node, address) {
|
||||
address.country = this.getChildValue(node);
|
||||
},
|
||||
"ElectronicMailAddress": function(node, address) {
|
||||
address.electronicMailAddress = this.getChildValue(node);
|
||||
},
|
||||
"Role": function(node, serviceContact) {
|
||||
serviceContact.role = this.getChildValue(node);
|
||||
},
|
||||
"OperationsMetadata": function(node, obj) {
|
||||
obj.operationsMetadata = {};
|
||||
this.readChildNodes(node, obj.operationsMetadata);
|
||||
},
|
||||
"Operation": function(node, operationsMetadata) {
|
||||
var name = node.getAttribute("name");
|
||||
operationsMetadata[name] = {};
|
||||
this.readChildNodes(node, operationsMetadata[name]);
|
||||
},
|
||||
"DCP": function(node, operation) {
|
||||
operation.dcp = {};
|
||||
this.readChildNodes(node, operation.dcp);
|
||||
},
|
||||
"HTTP": function(node, dcp) {
|
||||
dcp.http = {};
|
||||
this.readChildNodes(node, dcp.http);
|
||||
},
|
||||
"Get": function(node, http) {
|
||||
http.get = this.getAttributeNS(node,
|
||||
this.namespaces.xlink, "href");
|
||||
},
|
||||
"Post": function(node, http) {
|
||||
http.post = this.getAttributeNS(node,
|
||||
this.namespaces.xlink, "href");
|
||||
},
|
||||
"Parameter": function(node, operation) {
|
||||
if (!operation.parameters) {
|
||||
operation.parameters = {};
|
||||
}
|
||||
var name = node.getAttribute("name");
|
||||
operation.parameters[name] = {};
|
||||
this.readChildNodes(node, operation.parameters[name]);
|
||||
},
|
||||
"AllowedValues": function(node, parameter) {
|
||||
parameter.allowedValues = {};
|
||||
this.readChildNodes(node, parameter.allowedValues);
|
||||
},
|
||||
"AnyValue": function(node, parameter) {
|
||||
parameter.anyValue = true;
|
||||
},
|
||||
"Value": function(node, allowedValues) {
|
||||
allowedValues[this.getChildValue(node)] = true;
|
||||
},
|
||||
"Range": function(node, allowedValues) {
|
||||
allowedValues.range = {};
|
||||
this.readChildNodes(node, allowedValues.range);
|
||||
},
|
||||
"MinimumValue": function(node, range) {
|
||||
range.minValue = this.getChildValue(node);
|
||||
},
|
||||
"MaximumValue": function(node, range) {
|
||||
range.maxValue = this.getChildValue(node);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
CLASS_NAME: "OpenLayers.Format.OWSCommon.v1_1_0"
|
||||
|
||||
});
|
||||
82
lib/OpenLayers/Format/SOSCapabilities.js
Normal file
82
lib/OpenLayers/Format/SOSCapabilities.js
Normal file
@@ -0,0 +1,82 @@
|
||||
/* Copyright (c) 2006-2009 MetaCarta, Inc., published under the Clear BSD
|
||||
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
|
||||
* full text of the license. */
|
||||
|
||||
/**
|
||||
* @requires OpenLayers/Format/XML.js
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Format.SOSCapabilities
|
||||
* Read SOS Capabilities.
|
||||
*
|
||||
* Inherits from:
|
||||
* - <OpenLayers.Format.XML>
|
||||
*/
|
||||
OpenLayers.Format.SOSCapabilities = OpenLayers.Class(OpenLayers.Format.XML, {
|
||||
|
||||
/**
|
||||
* APIProperty: defaultVersion
|
||||
* {String} Version number to assume if none found. Default is "1.0.0".
|
||||
*/
|
||||
defaultVersion: "1.0.0",
|
||||
|
||||
/**
|
||||
* APIProperty: version
|
||||
* {String} Specify a version string if one is known.
|
||||
*/
|
||||
version: null,
|
||||
|
||||
/**
|
||||
* Property: parser
|
||||
* {<OpenLayers.Format>} A cached versioned format used for reading.
|
||||
*/
|
||||
parser: null,
|
||||
|
||||
/**
|
||||
* Constructor: OpenLayers.Format.SOSCapabilities
|
||||
* Create a new parser for SOS capabilities.
|
||||
*
|
||||
* Parameters:
|
||||
* options - {Object} An optional object whose properties will be set on
|
||||
* this instance.
|
||||
*/
|
||||
initialize: function(options) {
|
||||
OpenLayers.Format.XML.prototype.initialize.apply(this, [options]);
|
||||
this.options = options;
|
||||
},
|
||||
|
||||
/**
|
||||
* APIMethod: read
|
||||
* Read capabilities data from a string, and return information about
|
||||
* the service (offering and observedProperty mostly).
|
||||
*
|
||||
* Parameters:
|
||||
* data - {String} or {DOMElement} data to read/parse.
|
||||
*
|
||||
* Returns:
|
||||
* {Object} Info about the SOS
|
||||
*/
|
||||
read: function(data) {
|
||||
if(typeof data == "string") {
|
||||
data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
|
||||
}
|
||||
var root = data.documentElement;
|
||||
var version = this.version || root.getAttribute("version") || this.defaultVersion;
|
||||
if(!this.parser || this.parser.version !== version) {
|
||||
var constr = OpenLayers.Format.SOSCapabilities[
|
||||
"v" + version.replace(/\./g, "_")
|
||||
];
|
||||
if(!constr) {
|
||||
throw "Can't find a SOS capabilities parser for version " + version;
|
||||
}
|
||||
var parser = new constr(this.options);
|
||||
}
|
||||
var capabilities = parser.read(data);
|
||||
capabilities.version = version;
|
||||
return capabilities;
|
||||
},
|
||||
|
||||
CLASS_NAME: "OpenLayers.Format.SOSCapabilities"
|
||||
|
||||
});
|
||||
156
lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js
Normal file
156
lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js
Normal file
@@ -0,0 +1,156 @@
|
||||
/* Copyright (c) 2006-2009 MetaCarta, Inc., published under the Clear BSD
|
||||
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
|
||||
* full text of the license. */
|
||||
|
||||
/**
|
||||
* @requires OpenLayers/Format/SOSCapabilities.js
|
||||
* @requires OpenLayers/Format/OWSCommon/v1_1_0.js
|
||||
* @requires OpenLayers/Format/GML/v3.js
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Format.SOSCapabilities.v1_0_0
|
||||
* Read SOS Capabilities version 1.0.0.
|
||||
*
|
||||
* Inherits from:
|
||||
* - <OpenLayers.Format.SOSCapabilities>
|
||||
*/
|
||||
OpenLayers.Format.SOSCapabilities.v1_0_0 = OpenLayers.Class(
|
||||
OpenLayers.Format.SOSCapabilities, {
|
||||
|
||||
/**
|
||||
* Property: namespaces
|
||||
* {Object} Mapping of namespace aliases to namespace URIs.
|
||||
*/
|
||||
namespaces: {
|
||||
ows: "http://www.opengis.net/ows/1.1",
|
||||
sos: "http://www.opengis.net/sos/1.0",
|
||||
gml: "http://www.opengis.net/gml",
|
||||
xlink: "http://www.w3.org/1999/xlink"
|
||||
},
|
||||
|
||||
/**
|
||||
* Property: regExes
|
||||
* Compiled regular expressions for manipulating strings.
|
||||
*/
|
||||
regExes: {
|
||||
trimSpace: (/^\s*|\s*$/g),
|
||||
removeSpace: (/\s*/g),
|
||||
splitSpace: (/\s+/),
|
||||
trimComma: (/\s*,\s*/g)
|
||||
},
|
||||
|
||||
/**
|
||||
* Constructor: OpenLayers.Format.SOSCapabilities.v1_0_0
|
||||
* Create a new parser for SOS capabilities version 1.0.0.
|
||||
*
|
||||
* Parameters:
|
||||
* options - {Object} An optional object whose properties will be set on
|
||||
* this instance.
|
||||
*/
|
||||
initialize: function(options) {
|
||||
OpenLayers.Format.XML.prototype.initialize.apply(this, [options]);
|
||||
this.options = options;
|
||||
},
|
||||
|
||||
/**
|
||||
* APIMethod: read
|
||||
* Read capabilities data from a string, and return info about the SOS.
|
||||
*
|
||||
* Parameters:
|
||||
* data - {String} or {DOMElement} data to read/parse.
|
||||
*
|
||||
* Returns:
|
||||
* {Object} Information about the SOS service.
|
||||
*/
|
||||
read: function(data) {
|
||||
if(typeof data == "string") {
|
||||
data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
|
||||
}
|
||||
if(data && data.nodeType == 9) {
|
||||
data = data.documentElement;
|
||||
}
|
||||
var capabilities = {};
|
||||
this.readNode(data, capabilities);
|
||||
return capabilities;
|
||||
},
|
||||
|
||||
/**
|
||||
* Property: readers
|
||||
* Contains public functions, grouped by namespace prefix, that will
|
||||
* be applied when a namespaced node is found matching the function
|
||||
* name. The function will be applied in the scope of this parser
|
||||
* with two arguments: the node being read and a context object passed
|
||||
* from the parent.
|
||||
*/
|
||||
readers: {
|
||||
"gml": OpenLayers.Util.applyDefaults({
|
||||
"name": function(node, obj) {
|
||||
obj.name = this.getChildValue(node);
|
||||
},
|
||||
"TimePeriod": function(node, obj) {
|
||||
obj.timePeriod = {};
|
||||
this.readChildNodes(node, obj.timePeriod);
|
||||
},
|
||||
"beginPosition": function(node, timePeriod) {
|
||||
timePeriod.beginPosition = this.getChildValue(node);
|
||||
},
|
||||
"endPosition": function(node, timePeriod) {
|
||||
timePeriod.endPosition = this.getChildValue(node);
|
||||
}
|
||||
}, OpenLayers.Format.GML.v3.prototype.readers["gml"]),
|
||||
"sos": {
|
||||
"Capabilities": function(node, obj) {
|
||||
this.readChildNodes(node, obj);
|
||||
},
|
||||
"Contents": function(node, obj) {
|
||||
obj.contents = {};
|
||||
this.readChildNodes(node, obj.contents);
|
||||
},
|
||||
"ObservationOfferingList": function(node, contents) {
|
||||
contents.offeringList = {};
|
||||
this.readChildNodes(node, contents.offeringList);
|
||||
},
|
||||
"ObservationOffering": function(node, offeringList) {
|
||||
var id = this.getAttributeNS(node, this.namespaces.gml, "id");
|
||||
offeringList[id] = {
|
||||
procedures: [],
|
||||
featureOfInterestIds: [],
|
||||
responseFormats: [],
|
||||
resultModels: [],
|
||||
responseModes: []
|
||||
};
|
||||
this.readChildNodes(node, offeringList[id]);
|
||||
},
|
||||
"time": function(node, offering) {
|
||||
offering.time = {};
|
||||
this.readChildNodes(node, offering.time);
|
||||
},
|
||||
"procedure": function(node, offering) {
|
||||
offering.procedures.push(this.getAttributeNS(node,
|
||||
this.namespaces.xlink, "href"));
|
||||
},
|
||||
"observedProperty": function(node, offering) {
|
||||
offering.observedProperty = this.getAttributeNS(node,
|
||||
this.namespaces.xlink, "href");
|
||||
},
|
||||
"featureOfInterest": function(node, offering) {
|
||||
offering.featureOfInterestIds.push(this.getAttributeNS(node,
|
||||
this.namespaces.xlink, "href"));
|
||||
},
|
||||
"responseFormat": function(node, offering) {
|
||||
offering.responseFormats.push(this.getChildValue(node));
|
||||
},
|
||||
"resultModel": function(node, offering) {
|
||||
offering.resultModels.push(this.getChildValue(node));
|
||||
},
|
||||
"responseMode": function(node, offering) {
|
||||
offering.responseModes.push(this.getChildValue(node));;
|
||||
}
|
||||
},
|
||||
"ows": OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers["ows"]
|
||||
},
|
||||
|
||||
CLASS_NAME: "OpenLayers.Format.SOSCapabilities.v1_0_0"
|
||||
|
||||
});
|
||||
80
tests/Format/SOSCapabilities/v1_0_0.html
Normal file
80
tests/Format/SOSCapabilities/v1_0_0.html
Normal file
@@ -0,0 +1,80 @@
|
||||
<html>
|
||||
<head>
|
||||
<script src="../../../lib/OpenLayers.js"></script>
|
||||
<script src="v1_0_0.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
function test_read(t) {
|
||||
|
||||
t.plan(41);
|
||||
|
||||
var format = new OpenLayers.Format.SOSCapabilities();
|
||||
var obj = format.read(doc);
|
||||
|
||||
t.eq(obj.version, "1.0.0", "Version parsed correctly");
|
||||
|
||||
// service identification (from OWSCommon)
|
||||
t.eq(obj.serviceIdentification.abstract, "WeatherSOS (stable) at IfGI, Muenster, Germany. For more info: http://ifgipedia.uni-muenster.de/kms/documentation/swsl/sos/", "Abstract parsed correctly");
|
||||
t.eq(obj.serviceIdentification.accessConstraints, "NONE", "AccessConstraints parsed correctly");
|
||||
t.eq(obj.serviceIdentification.fees, "NONE", "Fees parsed correctly");
|
||||
for (var key in obj.serviceIdentification.keywords) {
|
||||
t.eq(key, "rain gauge, radiation, pressure, windspeed, winddirection, temperature", "Keywords parsed correctly");
|
||||
}
|
||||
t.eq(obj.serviceIdentification.serviceType.codeSpace, "http://opengeospatial.net", "codeSpace correctly parsed");
|
||||
t.eq(obj.serviceIdentification.serviceType.value, "OGC:SOS", "ServiceType correctly parsed");
|
||||
t.eq(obj.serviceIdentification.serviceTypeVersion, "1.0.0", "ServiceTypeVersion correctly parsed");
|
||||
t.eq(obj.serviceIdentification.title, "IFGI WeatherSOS (stable)", "Title correctly parsed");
|
||||
|
||||
// service provider (from OWSCommon)
|
||||
t.eq(obj.serviceProvider.providerName, "Institute for Geoinformatics, University of Muenster", "ProviderName correctly parsed");
|
||||
t.eq(obj.serviceProvider.providerSite, "http://ifgi.uni-muenster.de", "ProviderSite correctly parsed");
|
||||
t.eq(obj.serviceProvider.serviceContact.individualName, "Eike Hinderk Juerrens", "IndividualName parsed correctly");
|
||||
t.eq(obj.serviceProvider.serviceContact.positionName, "Student Associate", "PositionName parsed correctly");
|
||||
t.eq(obj.serviceProvider.serviceContact.role, "", "Role parsed correctly");
|
||||
t.eq(obj.serviceProvider.serviceContact.contactInfo.address.administrativeArea, "NRW", "AdministrativeArea correctly parsed");
|
||||
t.eq(obj.serviceProvider.serviceContact.contactInfo.address.city, "Muenster", "City correctly parsed");
|
||||
t.eq(obj.serviceProvider.serviceContact.contactInfo.address.country, "Germany", "Country correctly parsed");
|
||||
t.eq(obj.serviceProvider.serviceContact.contactInfo.address.deliveryPoint, "Weselerstrasse 253", "DeliveryPoint correctly parsed");
|
||||
t.eq(obj.serviceProvider.serviceContact.contactInfo.address.electronicMailAddress, "ehjuerrens@uni-muenster.de", "ElectronicMailAddress correctly parsed");
|
||||
t.eq(obj.serviceProvider.serviceContact.contactInfo.address.postalCode, "48149", "Postalcode correctly parsed");
|
||||
t.eq(obj.serviceProvider.serviceContact.contactInfo.phone.voice, "+49-251-83-30088", "Voice phone correctly parsed");
|
||||
|
||||
// operationsMetadata (from OWSCommon)
|
||||
t.eq(obj.operationsMetadata.DescribeSensor.dcp.http.post, "http://v-swe.uni-muenster.de:8080/WeatherSOS/sos", "POST url for DescribeSensor correctly parsed");
|
||||
var counter = 0;
|
||||
for (var key in obj.operationsMetadata.DescribeSensor.parameters.procedure.allowedValues) {
|
||||
if (counter == 0) {
|
||||
t.eq(key, "urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111", "Allowed value (1) for procedure parameter in DescribeSensor request correctly parsed");
|
||||
} else if (counter == 1) {
|
||||
t.eq(key, "urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93", "Allowed value (2) for procedure parameter in DescribeSensor request correctly parsed");
|
||||
}
|
||||
counter++;
|
||||
}
|
||||
t.eq(obj.operationsMetadata.GetFeatureOfInterest.parameters.location.anyValue, true, "AnyValue parsed correctly");
|
||||
|
||||
t.eq(obj.operationsMetadata.GetObservation.parameters.eventTime.allowedValues.range.maxValue, "2009-11-04T14:45:00+01", "Range maxValue parsed correctly");
|
||||
t.eq(obj.operationsMetadata.GetObservation.parameters.eventTime.allowedValues.range.minValue, "2008-02-14T11:03:02+01", "Range minValue parsed correctly");
|
||||
|
||||
// Contents (from SOS)
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.name, "Pressure of the atmosphere", "Name of offering correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.observedProperty, "urn:x-ogc:def:property:OGC::BarometricPressure", "ObservedProperty correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.featureOfInterestIds[0], "urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93", "Allowed value (1) for featureOfInterest correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.featureOfInterestIds[1], "urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111", "Allowed value (2) for featureOfInterest correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.procedures[0], "urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93", "Allowed value (1) for procedures correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.procedures[1], "urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111", "Allowed value (2) for procedures correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.responseFormats[0], 'text/xml;subtype="om/1.0.0"', "Allowed value (1) for responseFormats correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.responseFormats[1], "application/zip", "Allowed value (2) for responseFormats correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.responseModes[0], "inline", "Allowed value (1) for responseModes correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.responseModes[1], "resultTemplate", "Allowed value (2) for responseModes correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.resultModels[0], "ns:Measurement", "Allowed value (1) for resultModels correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.resultModels[1], "ns:Observation", "Allowed value (2) for resultModels correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.time.timePeriod.beginPosition, "2008-12-20T02:29:27+01:00", "TimePeriod beginPosition correctly parsed");
|
||||
t.eq(obj.contents.offeringList.ATMOSPHERIC_PRESSURE.time.timePeriod.endPosition, "2009-11-04T14:45:00+01:00", "TimePeriod endPosition correctly parsed");
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
484
tests/Format/SOSCapabilities/v1_0_0.js
Normal file
484
tests/Format/SOSCapabilities/v1_0_0.js
Normal file
@@ -0,0 +1,484 @@
|
||||
var doc = new OpenLayers.Format.XML().read(
|
||||
'<?xml version="1.0" encoding="UTF-8"?>' +
|
||||
'<sos:Capabilities version="1.0.0" updateSequence="2005-12-14T10:12:39+01" xsi:schemaLocation="http://www.opengis.net/sos/1.0 http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" xmlns:sos="http://www.opengis.net/sos/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink">' +
|
||||
'<ows:ServiceIdentification xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:om="http://www.opengis.net/om/1.0" xmlns:swe="http://www.opengis.net/swe/1.0">' +
|
||||
'<ows:Title>IFGI WeatherSOS (stable)</ows:Title>' +
|
||||
'<ows:Abstract>WeatherSOS (stable) at IfGI, Muenster, Germany. For more info: http://ifgipedia.uni-muenster.de/kms/documentation/swsl/sos/</ows:Abstract>' +
|
||||
'<ows:Keywords>' +
|
||||
'<ows:Keyword>rain gauge, radiation, pressure, windspeed, winddirection, temperature</ows:Keyword>' +
|
||||
'</ows:Keywords>' +
|
||||
'<ows:ServiceType codeSpace="http://opengeospatial.net">OGC:SOS</ows:ServiceType>' +
|
||||
'<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>' +
|
||||
'<ows:Fees>NONE</ows:Fees>' +
|
||||
'<ows:AccessConstraints>NONE</ows:AccessConstraints>' +
|
||||
'</ows:ServiceIdentification>' +
|
||||
'<ows:ServiceProvider xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:om="http://www.opengis.net/om/1.0" xmlns:swe="http://www.opengis.net/swe/1.0">' +
|
||||
'<ows:ProviderName>Institute for Geoinformatics, University of Muenster</ows:ProviderName>' +
|
||||
'<ows:ProviderSite xlink:href="http://ifgi.uni-muenster.de"/>' +
|
||||
'<ows:ServiceContact>' +
|
||||
'<ows:IndividualName>Eike Hinderk Juerrens</ows:IndividualName>' +
|
||||
'<ows:PositionName>Student Associate</ows:PositionName>' +
|
||||
'<ows:ContactInfo>' +
|
||||
'<ows:Phone>' +
|
||||
'<ows:Voice>+49-251-83-30088</ows:Voice>' +
|
||||
'</ows:Phone>' +
|
||||
'<ows:Address>' +
|
||||
'<ows:DeliveryPoint>Weselerstrasse 253</ows:DeliveryPoint>' +
|
||||
'<ows:City>Muenster</ows:City>' +
|
||||
'<ows:AdministrativeArea>NRW</ows:AdministrativeArea>' +
|
||||
'<ows:PostalCode>48149</ows:PostalCode>' +
|
||||
'<ows:Country>Germany</ows:Country>' +
|
||||
'<ows:ElectronicMailAddress>ehjuerrens@uni-muenster.de</ows:ElectronicMailAddress>' +
|
||||
'</ows:Address>' +
|
||||
'</ows:ContactInfo>' +
|
||||
'<ows:Role/>' +
|
||||
'</ows:ServiceContact>' +
|
||||
'</ows:ServiceProvider>' +
|
||||
'<ows:OperationsMetadata xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:om="http://www.opengis.net/om/1.0" xmlns:swe="http://www.opengis.net/swe/1.0">' +
|
||||
'<ows:Operation name="GetCapabilities">' +
|
||||
'<ows:DCP>' +
|
||||
'<ows:HTTP>' +
|
||||
'<ows:Get xlink:href="http://v-swe.uni-muenster.de:8080/WeatherSOS/sos?"/>' +
|
||||
'<ows:Post xlink:href="http://v-swe.uni-muenster.de:8080/WeatherSOS/sos"/>' +
|
||||
'</ows:HTTP>' +
|
||||
'</ows:DCP>' +
|
||||
'<ows:Parameter name="service">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>SOS</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="updateSequence">' +
|
||||
'<ows:AnyValue/>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="AcceptVersions">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>1.0.0</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="Sections">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>ServiceIdentification</ows:Value>' +
|
||||
'<ows:Value>ServiceProvider</ows:Value>' +
|
||||
'<ows:Value>OperationsMetadata</ows:Value>' +
|
||||
'<ows:Value>Contents</ows:Value>' +
|
||||
'<ows:Value>All</ows:Value>' +
|
||||
'<ows:Value>Filter_Capabilities</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="AcceptFormats">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>text/xml</ows:Value>' +
|
||||
'<ows:Value>application/zip</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'</ows:Operation>' +
|
||||
'<ows:Operation name="GetObservation">' +
|
||||
'<ows:DCP>' +
|
||||
'<ows:HTTP>' +
|
||||
'<ows:Post xlink:href="http://v-swe.uni-muenster.de:8080/WeatherSOS/sos"/>' +
|
||||
'</ows:HTTP>' +
|
||||
'</ows:DCP>' +
|
||||
'<ows:Parameter name="version">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>1.0.0</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="service">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>SOS</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="srsName">' +
|
||||
'<ows:AnyValue/>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="offering">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>ATMOSPHERIC_TEMPERATURE</ows:Value>' +
|
||||
'<ows:Value>RAIN_GAUGE</ows:Value>' +
|
||||
'<ows:Value>WIND_DIRECTION</ows:Value>' +
|
||||
'<ows:Value>WIND_SPEED</ows:Value>' +
|
||||
'<ows:Value>HUMIDITY</ows:Value>' +
|
||||
'<ows:Value>LUMINANCE</ows:Value>' +
|
||||
'<ows:Value>ATMOSPHERIC_PRESSURE</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="eventTime">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Range>' +
|
||||
'<ows:MinimumValue>2008-02-14T11:03:02+01</ows:MinimumValue>' +
|
||||
'<ows:MaximumValue>2009-11-04T14:45:00+01</ows:MaximumValue>' +
|
||||
'</ows:Range>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="procedure">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111</ows:Value>' +
|
||||
'<ows:Value>urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="observedProperty">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>urn:x-ogc:def:property:OGC::Temperature</ows:Value>' +
|
||||
'<ows:Value>urn:x-ogc:def:property:OGC::Precipitation1Hour</ows:Value>' +
|
||||
'<ows:Value>urn:x-ogc:def:property:OGC::WindDirection</ows:Value>' +
|
||||
'<ows:Value>urn:x-ogc:def:property:OGC::WindSpeed</ows:Value>' +
|
||||
'<ows:Value>urn:x-ogc:def:property:OGC::RelativeHumidity</ows:Value>' +
|
||||
'<ows:Value>urn:x-ogc:def:property:OGC::Luminance</ows:Value>' +
|
||||
'<ows:Value>urn:x-ogc:def:property:OGC::BarometricPressure</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="featureOfInterest">' +
|
||||
'<ows:AnyValue/>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="result">' +
|
||||
'<ows:AnyValue/>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="responseFormat">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>text/xml;subtype="OM/1.0.0"</ows:Value>' +
|
||||
'<ows:Value>application/zip</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="resultModel">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>om:Observation</ows:Value>' +
|
||||
'<ows:Value>om:CategoryObservation</ows:Value>' +
|
||||
'<ows:Value>om:Measurement</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="responseMode">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>resultTemplate</ows:Value>' +
|
||||
'<ows:Value>inline</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'</ows:Operation>' +
|
||||
'<ows:Operation name="GetObservationById">' +
|
||||
'<ows:DCP>' +
|
||||
'<ows:HTTP>' +
|
||||
'<ows:Post xlink:href="http://v-swe.uni-muenster.de:8080/WeatherSOS/sos"/>' +
|
||||
'</ows:HTTP>' +
|
||||
'</ows:DCP>' +
|
||||
'<ows:Parameter name="version">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>1.0.0</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="service">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>SOS</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="srsName">' +
|
||||
'<ows:AnyValue/>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="ObservationId">' +
|
||||
'<ows:AnyValue/>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="responseFormat">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>text/xml;subtype="OM/1.0.0"</ows:Value>' +
|
||||
'<ows:Value>application/zip</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="resultModel">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>om:Observation</ows:Value>' +
|
||||
'<ows:Value>om:CategoryObservation</ows:Value>' +
|
||||
'<ows:Value>om:Measurement</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="responseMode">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>inline</ows:Value>' +
|
||||
'<ows:Value>resultTemplate</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'</ows:Operation>' +
|
||||
'<ows:Operation name="DescribeSensor">' +
|
||||
'<ows:DCP>' +
|
||||
'<ows:HTTP>' +
|
||||
'<ows:Post xlink:href="http://v-swe.uni-muenster.de:8080/WeatherSOS/sos"/>' +
|
||||
'</ows:HTTP>' +
|
||||
'</ows:DCP>' +
|
||||
'<ows:Parameter name="version">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>1.0.0</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="service">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>SOS</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="outputFormat">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>text/xml;subtype="sensorML/1.0.1"</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="procedure">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111</ows:Value>' +
|
||||
'<ows:Value>urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'</ows:Operation>' +
|
||||
'<ows:Operation name="GetFeatureOfInterest">' +
|
||||
'<ows:DCP>' +
|
||||
'<ows:HTTP>' +
|
||||
'<ows:Post xlink:href="http://v-swe.uni-muenster.de:8080/WeatherSOS/sos"/>' +
|
||||
'</ows:HTTP>' +
|
||||
'</ows:DCP>' +
|
||||
'<ows:Parameter name="service">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>SOS</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="version">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>1.0.0</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="featureOfInterestId">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93</ows:Value>' +
|
||||
'<ows:Value>urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Parameter>' +
|
||||
'<ows:Parameter name="location">' +
|
||||
'<ows:AnyValue/>' +
|
||||
'</ows:Parameter>' +
|
||||
'</ows:Operation>' +
|
||||
'</ows:OperationsMetadata>' +
|
||||
'<sos:Filter_Capabilities xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:om="http://www.opengis.net/om/1.0" xmlns:swe="http://www.opengis.net/swe/1.0">' +
|
||||
'<ogc:Spatial_Capabilities>' +
|
||||
'<ogc:GeometryOperands>' +
|
||||
'<ogc:GeometryOperand>gml:Envelope</ogc:GeometryOperand>' +
|
||||
'<ogc:GeometryOperand>gml:Polygon</ogc:GeometryOperand>' +
|
||||
'<ogc:GeometryOperand>gml:Point</ogc:GeometryOperand>' +
|
||||
'<ogc:GeometryOperand>gml:LineString</ogc:GeometryOperand>' +
|
||||
'</ogc:GeometryOperands>' +
|
||||
'<ogc:SpatialOperators>' +
|
||||
'<ogc:SpatialOperator name="BBOX"/>' +
|
||||
'<ogc:SpatialOperator name="Contains"/>' +
|
||||
'<ogc:SpatialOperator name="Intersects"/>' +
|
||||
'<ogc:SpatialOperator name="Overlaps"/>' +
|
||||
'</ogc:SpatialOperators>' +
|
||||
'</ogc:Spatial_Capabilities>' +
|
||||
'<ogc:Temporal_Capabilities>' +
|
||||
'<ogc:TemporalOperands>' +
|
||||
'<ogc:TemporalOperand>gml:TimeInstant</ogc:TemporalOperand>' +
|
||||
'<ogc:TemporalOperand>gml:TimePeriod</ogc:TemporalOperand>' +
|
||||
'</ogc:TemporalOperands>' +
|
||||
'<ogc:TemporalOperators>' +
|
||||
'<ogc:TemporalOperator name="TM_During"/>' +
|
||||
'<ogc:TemporalOperator name="TM_Equals"/>' +
|
||||
'<ogc:TemporalOperator name="TM_After"/>' +
|
||||
'<ogc:TemporalOperator name="TM_Before"/>' +
|
||||
'</ogc:TemporalOperators>' +
|
||||
'</ogc:Temporal_Capabilities>' +
|
||||
'<ogc:Scalar_Capabilities>' +
|
||||
'<ogc:ComparisonOperators>' +
|
||||
'<ogc:ComparisonOperator>Between</ogc:ComparisonOperator>' +
|
||||
'<ogc:ComparisonOperator>EqualTo</ogc:ComparisonOperator>' +
|
||||
'<ogc:ComparisonOperator>NotEqualTo</ogc:ComparisonOperator>' +
|
||||
'<ogc:ComparisonOperator>LessThan</ogc:ComparisonOperator>' +
|
||||
'<ogc:ComparisonOperator>LessThanEqualTo</ogc:ComparisonOperator>' +
|
||||
'<ogc:ComparisonOperator>GreaterThan</ogc:ComparisonOperator>' +
|
||||
'<ogc:ComparisonOperator>GreaterThanEqualTo</ogc:ComparisonOperator>' +
|
||||
'<ogc:ComparisonOperator>Like</ogc:ComparisonOperator>' +
|
||||
'</ogc:ComparisonOperators>' +
|
||||
'</ogc:Scalar_Capabilities>' +
|
||||
'<ogc:Id_Capabilities>' +
|
||||
'<ogc:FID/>' +
|
||||
'<ogc:EID/>' +
|
||||
'</ogc:Id_Capabilities>' +
|
||||
'</sos:Filter_Capabilities>' +
|
||||
'<sos:Contents>' +
|
||||
'<sos:ObservationOfferingList>' +
|
||||
'<sos:ObservationOffering gml:id="ATMOSPHERIC_TEMPERATURE">' +
|
||||
'<gml:name>Temperature of the atmosphere</gml:name>' +
|
||||
'<gml:boundedBy>' +
|
||||
'<gml:Envelope srsName="urn:ogc:def:crs:EPSG:4326">' +
|
||||
'<gml:lowerCorner>46.611644 7.6103</gml:lowerCorner>' +
|
||||
'<gml:upperCorner>51.9412 13.883498</gml:upperCorner>' +
|
||||
'</gml:Envelope>' +
|
||||
'</gml:boundedBy>' +
|
||||
'<sos:time>' +
|
||||
'<gml:TimePeriod xsi:type="gml:TimePeriodType">' +
|
||||
'<gml:beginPosition>2008-11-20T15:20:22+01:00</gml:beginPosition>' +
|
||||
'<gml:endPosition>2009-11-04T14:45:00+01:00</gml:endPosition>' +
|
||||
'</gml:TimePeriod>' +
|
||||
'</sos:time>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:observedProperty xlink:href="urn:x-ogc:def:property:OGC::Temperature"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:responseFormat>text/xml;subtype="om/1.0.0"</sos:responseFormat>' +
|
||||
'<sos:responseFormat>application/zip</sos:responseFormat>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Measurement</sos:resultModel>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Observation</sos:resultModel>' +
|
||||
'<sos:responseMode>inline</sos:responseMode>' +
|
||||
'<sos:responseMode>resultTemplate</sos:responseMode>' +
|
||||
'</sos:ObservationOffering>' +
|
||||
'<sos:ObservationOffering gml:id="RAIN_GAUGE">' +
|
||||
'<gml:name>Rain</gml:name>' +
|
||||
'<gml:boundedBy>' +
|
||||
'<gml:Envelope srsName="urn:ogc:def:crs:EPSG:4326">' +
|
||||
'<gml:lowerCorner>46.611644 7.6103</gml:lowerCorner>' +
|
||||
'<gml:upperCorner>51.9412 13.883498</gml:upperCorner>' +
|
||||
'</gml:Envelope>' +
|
||||
'</gml:boundedBy>' +
|
||||
'<sos:time>' +
|
||||
'<gml:TimePeriod xsi:type="gml:TimePeriodType">' +
|
||||
'<gml:beginPosition>2008-11-20T15:35:22+01:00</gml:beginPosition>' +
|
||||
'<gml:endPosition>2009-11-04T14:45:00+01:00</gml:endPosition>' +
|
||||
'</gml:TimePeriod>' +
|
||||
'</sos:time>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:observedProperty xlink:href="urn:x-ogc:def:property:OGC::Precipitation1Hour"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:responseFormat>text/xml;subtype="om/1.0.0"</sos:responseFormat>' +
|
||||
'<sos:responseFormat>application/zip</sos:responseFormat>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Measurement</sos:resultModel>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Observation</sos:resultModel>' +
|
||||
'<sos:responseMode>inline</sos:responseMode>' +
|
||||
'<sos:responseMode>resultTemplate</sos:responseMode>' +
|
||||
'</sos:ObservationOffering>' +
|
||||
'<sos:ObservationOffering gml:id="WIND_DIRECTION">' +
|
||||
'<gml:name>Direction of the wind</gml:name>' +
|
||||
'<gml:boundedBy>' +
|
||||
'<gml:Envelope srsName="urn:ogc:def:crs:EPSG:4326">' +
|
||||
'<gml:lowerCorner>46.611644 7.6103</gml:lowerCorner>' +
|
||||
'<gml:upperCorner>51.9412 13.883498</gml:upperCorner>' +
|
||||
'</gml:Envelope>' +
|
||||
'</gml:boundedBy>' +
|
||||
'<sos:time>' +
|
||||
'<gml:TimePeriod xsi:type="gml:TimePeriodType">' +
|
||||
'<gml:beginPosition>2008-11-20T15:20:22+01:00</gml:beginPosition>' +
|
||||
'<gml:endPosition>2009-11-04T14:45:00+01:00</gml:endPosition>' +
|
||||
'</gml:TimePeriod>' +
|
||||
'</sos:time>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:observedProperty xlink:href="urn:x-ogc:def:property:OGC::WindDirection"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:responseFormat>text/xml;subtype="om/1.0.0"</sos:responseFormat>' +
|
||||
'<sos:responseFormat>application/zip</sos:responseFormat>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Measurement</sos:resultModel>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Observation</sos:resultModel>' +
|
||||
'<sos:responseMode>inline</sos:responseMode>' +
|
||||
'<sos:responseMode>resultTemplate</sos:responseMode>' +
|
||||
'</sos:ObservationOffering>' +
|
||||
'<sos:ObservationOffering gml:id="WIND_SPEED">' +
|
||||
'<gml:name>Speed of the wind</gml:name>' +
|
||||
'<gml:boundedBy>' +
|
||||
'<gml:Envelope srsName="urn:ogc:def:crs:EPSG:4326">' +
|
||||
'<gml:lowerCorner>46.611644 7.6103</gml:lowerCorner>' +
|
||||
'<gml:upperCorner>51.9412 13.883498</gml:upperCorner>' +
|
||||
'</gml:Envelope>' +
|
||||
'</gml:boundedBy>' +
|
||||
'<sos:time>' +
|
||||
'<gml:TimePeriod xsi:type="gml:TimePeriodType">' +
|
||||
'<gml:beginPosition>2008-11-20T15:20:22+01:00</gml:beginPosition>' +
|
||||
'<gml:endPosition>2009-11-04T14:45:00+01:00</gml:endPosition>' +
|
||||
'</gml:TimePeriod>' +
|
||||
'</sos:time>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:observedProperty xlink:href="urn:x-ogc:def:property:OGC::WindSpeed"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:responseFormat>text/xml;subtype="om/1.0.0"</sos:responseFormat>' +
|
||||
'<sos:responseFormat>application/zip</sos:responseFormat>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Measurement</sos:resultModel>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Observation</sos:resultModel>' +
|
||||
'<sos:responseMode>inline</sos:responseMode>' +
|
||||
'<sos:responseMode>resultTemplate</sos:responseMode>' +
|
||||
'</sos:ObservationOffering>' +
|
||||
'<sos:ObservationOffering gml:id="HUMIDITY">' +
|
||||
'<gml:name>Humidity of the atmosphere</gml:name>' +
|
||||
'<gml:boundedBy>' +
|
||||
'<gml:Envelope srsName="urn:ogc:def:crs:EPSG:4326">' +
|
||||
'<gml:lowerCorner>46.611644 7.6103</gml:lowerCorner>' +
|
||||
'<gml:upperCorner>51.9412 13.883498</gml:upperCorner>' +
|
||||
'</gml:Envelope>' +
|
||||
'</gml:boundedBy>' +
|
||||
'<sos:time>' +
|
||||
'<gml:TimePeriod xsi:type="gml:TimePeriodType">' +
|
||||
'<gml:beginPosition>2008-02-14T11:03:02+01:00</gml:beginPosition>' +
|
||||
'<gml:endPosition>2009-11-04T14:45:00+01:00</gml:endPosition>' +
|
||||
'</gml:TimePeriod>' +
|
||||
'</sos:time>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:observedProperty xlink:href="urn:x-ogc:def:property:OGC::RelativeHumidity"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:responseFormat>text/xml;subtype="om/1.0.0"</sos:responseFormat>' +
|
||||
'<sos:responseFormat>application/zip</sos:responseFormat>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Measurement</sos:resultModel>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Observation</sos:resultModel>' +
|
||||
'<sos:responseMode>inline</sos:responseMode>' +
|
||||
'<sos:responseMode>resultTemplate</sos:responseMode>' +
|
||||
'</sos:ObservationOffering>' +
|
||||
'<sos:ObservationOffering gml:id="LUMINANCE">' +
|
||||
'<gml:name>Luminance</gml:name>' +
|
||||
'<gml:boundedBy>' +
|
||||
'<gml:Envelope srsName="urn:ogc:def:crs:EPSG:4326">' +
|
||||
'<gml:lowerCorner>46.611644 7.6103</gml:lowerCorner>' +
|
||||
'<gml:upperCorner>51.9412 13.883498</gml:upperCorner>' +
|
||||
'</gml:Envelope>' +
|
||||
'</gml:boundedBy>' +
|
||||
'<sos:time>' +
|
||||
'<gml:TimePeriod xsi:type="gml:TimePeriodType">' +
|
||||
'<gml:beginPosition>2008-11-20T15:20:22+01:00</gml:beginPosition>' +
|
||||
'<gml:endPosition>2009-11-04T14:45:00+01:00</gml:endPosition>' +
|
||||
'</gml:TimePeriod>' +
|
||||
'</sos:time>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:observedProperty xlink:href="urn:x-ogc:def:property:OGC::Luminance"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:responseFormat>text/xml;subtype="om/1.0.0"</sos:responseFormat>' +
|
||||
'<sos:responseFormat>application/zip</sos:responseFormat>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Measurement</sos:resultModel>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Observation</sos:resultModel>' +
|
||||
'<sos:responseMode>inline</sos:responseMode>' +
|
||||
'<sos:responseMode>resultTemplate</sos:responseMode>' +
|
||||
'</sos:ObservationOffering>' +
|
||||
'<sos:ObservationOffering gml:id="ATMOSPHERIC_PRESSURE">' +
|
||||
'<gml:name>Pressure of the atmosphere</gml:name>' +
|
||||
'<gml:boundedBy>' +
|
||||
'<gml:Envelope srsName="urn:ogc:def:crs:EPSG:4326">' +
|
||||
'<gml:lowerCorner>46.611644 7.6103</gml:lowerCorner>' +
|
||||
'<gml:upperCorner>51.9412 13.883498</gml:upperCorner>' +
|
||||
'</gml:Envelope>' +
|
||||
'</gml:boundedBy>' +
|
||||
'<sos:time>' +
|
||||
'<gml:TimePeriod xsi:type="gml:TimePeriodType">' +
|
||||
'<gml:beginPosition>2008-12-20T02:29:27+01:00</gml:beginPosition>' +
|
||||
'<gml:endPosition>2009-11-04T14:45:00+01:00</gml:endPosition>' +
|
||||
'</gml:TimePeriod>' +
|
||||
'</sos:time>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:procedure xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:observedProperty xlink:href="urn:x-ogc:def:property:OGC::BarometricPressure"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:3d3b239f-7696-4864-9d07-15447eae2b93"/>' +
|
||||
'<sos:featureOfInterest xlink:href="urn:ogc:object:feature:OSIRIS-HWS:efeb807b-bd24-4128-a920-f6729bcdd111"/>' +
|
||||
'<sos:responseFormat>text/xml;subtype="om/1.0.0"</sos:responseFormat>' +
|
||||
'<sos:responseFormat>application/zip</sos:responseFormat>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Measurement</sos:resultModel>' +
|
||||
'<sos:resultModel xmlns:ns="http://www.opengis.net/om/1.0">ns:Observation</sos:resultModel>' +
|
||||
'<sos:responseMode>inline</sos:responseMode>' +
|
||||
'<sos:responseMode>resultTemplate</sos:responseMode>' +
|
||||
'</sos:ObservationOffering>' +
|
||||
'</sos:ObservationOfferingList>' +
|
||||
'</sos:Contents>' +
|
||||
'</sos:Capabilities>'
|
||||
);
|
||||
@@ -85,6 +85,7 @@
|
||||
<li>Format/CSWGetDomain/v2_0_2.html</li>
|
||||
<li>Format/CSWGetRecords.html</li>
|
||||
<li>Format/CSWGetRecords/v2_0_2.html</li>
|
||||
<li>Format/SOSCapabilities/v1_0_0.html</li>
|
||||
<li>Format/XML.html</li>
|
||||
<li>Geometry.html</li>
|
||||
<li>Geometry/Collection.html</li>
|
||||
|
||||
Reference in New Issue
Block a user