diff options
author | Chris Schlaeger <chris@linux.com> | 2015-10-17 21:36:38 +0200 |
---|---|---|
committer | Chris Schlaeger <chris@linux.com> | 2015-10-17 21:36:38 +0200 |
commit | e30f267181d990947e67909de4809fa941698c85 (patch) | |
tree | 46e9f94c2b3699ed378963b420b8a8d361286ea1 /misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js | |
parent | e763ceb183f389fcd314a4a6a712d87c9d4cdb32 (diff) | |
download | postrunner-e30f267181d990947e67909de4809fa941698c85.zip |
Upgrading openlayers to 3.x
Diffstat (limited to 'misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js')
-rw-r--r-- | misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js | 230 |
1 files changed, 0 insertions, 230 deletions
diff --git a/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js b/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js deleted file mode 100644 index 9cff69c..0000000 --- a/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +++ /dev/null @@ -1,230 +0,0 @@ -/* Copyright (c) 2006-2013 by OpenLayers Contributors (see authors.txt for - * full list of contributors). Published under the 2-clause BSD license. - * See license.txt in the OpenLayers distribution or repository for the - * full text of the license. */ - -/** - * @requires OpenLayers/Format/XML/VersionedOGC.js - */ - -/** - * Class: OpenLayers.Format.WMTSCapabilities - * Read WMTS Capabilities. - * - * Inherits from: - * - <OpenLayers.Format.XML.VersionedOGC> - */ -OpenLayers.Format.WMTSCapabilities = OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC, { - - /** - * APIProperty: defaultVersion - * {String} Version number to assume if none found. Default is "1.0.0". - */ - defaultVersion: "1.0.0", - - /** - * APIProperty: yx - * {Object} Members in the yx object are used to determine if a CRS URN - * corresponds to a CRS with y,x axis order. Member names are CRS URNs - * and values are boolean. By default, the following CRS URN are - * assumed to correspond to a CRS with y,x axis order: - * - * * urn:ogc:def:crs:EPSG::4326 - */ - yx: { - "urn:ogc:def:crs:EPSG::4326": true - }, - - /** - * Constructor: OpenLayers.Format.WMTSCapabilities - * Create a new parser for WMTS capabilities. - * - * Parameters: - * options - {Object} An optional object whose properties will be set on - * this instance. - */ - - /** - * 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 WMTS Capabilities - */ - - /** - * APIMethod: createLayer - * Create a WMTS layer given a capabilities object. - * - * Parameters: - * capabilities - {Object} The object returned from a <read> call to this - * format. - * config - {Object} Configuration properties for the layer. Defaults for - * the layer will apply if not provided. - * - * Required config properties: - * layer - {String} The layer identifier. - * - * Optional config properties: - * matrixSet - {String} The matrix set identifier, required if there is - * more than one matrix set in the layer capabilities. - * style - {String} The name of the style - * format - {String} Image format for the layer. Default is the first - * format returned in the GetCapabilities response. - * param - {Object} The dimensions values eg: {"Year": "2012"} - * - * Returns: - * {<OpenLayers.Layer.WMTS>} A properly configured WMTS layer. Throws an - * error if an incomplete config is provided. Returns undefined if no - * layer could be created with the provided config. - */ - createLayer: function(capabilities, config) { - var layer; - - // confirm required properties are supplied in config - if (!('layer' in config)) { - throw new Error("Missing property 'layer' in configuration."); - } - - var contents = capabilities.contents; - - // find the layer definition with the given identifier - var layers = contents.layers; - var layerDef; - for (var i=0, ii=contents.layers.length; i<ii; ++i) { - if (contents.layers[i].identifier === config.layer) { - layerDef = contents.layers[i]; - break; - } - } - if (!layerDef) { - throw new Error("Layer not found"); - } - - var format = config.format; - if (!format && layerDef.formats && layerDef.formats.length) { - format = layerDef.formats[0]; - } - - // find the matrixSet definition - var matrixSet; - if (config.matrixSet) { - matrixSet = contents.tileMatrixSets[config.matrixSet]; - } else if (layerDef.tileMatrixSetLinks.length >= 1) { - matrixSet = contents.tileMatrixSets[ - layerDef.tileMatrixSetLinks[0].tileMatrixSet]; - } - if (!matrixSet) { - throw new Error("matrixSet not found"); - } - - // get the default style for the layer - var style; - for (var i=0, ii=layerDef.styles.length; i<ii; ++i) { - style = layerDef.styles[i]; - if (style.isDefault) { - break; - } - } - - var requestEncoding = config.requestEncoding; - if (!requestEncoding) { - requestEncoding = "KVP"; - if (capabilities.operationsMetadata.GetTile.dcp.http) { - var http = capabilities.operationsMetadata.GetTile.dcp.http; - // Get first get method - if (http.get[0].constraints) { - var constraints = http.get[0].constraints; - var allowedValues = constraints.GetEncoding.allowedValues; - - // The OGC documentation is not clear if we should use - // REST or RESTful, ArcGis use RESTful, - // and OpenLayers use REST. - if (!allowedValues.KVP && - (allowedValues.REST || allowedValues.RESTful)) { - requestEncoding = "REST"; - } - } - } - } - - var dimensions = []; - var params = config.params || {}; - // to don't overwrite the changes in the applyDefaults - delete config.params; - for (var id = 0, ld = layerDef.dimensions.length ; id < ld ; id++) { - var dimension = layerDef.dimensions[id]; - dimensions.push(dimension.identifier); - if (!params.hasOwnProperty(dimension.identifier)) { - params[dimension.identifier] = dimension['default']; - } - } - - var projection = config.projection || matrixSet.supportedCRS.replace( - /urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"); - var units = config.units || - (projection === "EPSG:4326" ? "degrees" : "m"); - - var resolutions = []; - for (var mid in matrixSet.matrixIds) { - if (matrixSet.matrixIds.hasOwnProperty(mid)) { - resolutions.push( - matrixSet.matrixIds[mid].scaleDenominator * 0.28E-3 / - OpenLayers.METERS_PER_INCH / - OpenLayers.INCHES_PER_UNIT[units]); - } - } - - var url; - if (requestEncoding === "REST" && layerDef.resourceUrls) { - url = []; - var resourceUrls = layerDef.resourceUrls, - resourceUrl; - for (var t = 0, tt = layerDef.resourceUrls.length; t < tt; ++t) { - resourceUrl = layerDef.resourceUrls[t]; - if (resourceUrl.format === format && resourceUrl.resourceType === "tile") { - url.push(resourceUrl.template); - } - } - } - else { - var httpGet = capabilities.operationsMetadata.GetTile.dcp.http.get; - url = []; - var constraint; - for (var i = 0, ii = httpGet.length; i < ii; i++) { - constraint = httpGet[i].constraints; - if (!constraint || (constraint && constraint. - GetEncoding.allowedValues[requestEncoding])) { - url.push(httpGet[i].url); - } - } - } - - return new OpenLayers.Layer.WMTS( - OpenLayers.Util.applyDefaults(config, { - url: url, - requestEncoding: requestEncoding, - name: layerDef.title, - style: style.identifier, - format: format, - matrixIds: matrixSet.matrixIds, - matrixSet: matrixSet.identifier, - projection: projection, - units: units, - resolutions: config.isBaseLayer === false ? undefined : - resolutions, - serverResolutions: resolutions, - tileFullExtent: matrixSet.bounds, - dimensions: dimensions, - params: params - }) - ); - }, - - CLASS_NAME: "OpenLayers.Format.WMTSCapabilities" - -}); |