forgot to commit these files for ticket:3026
git-svn-id: http://svn.openlayers.org/trunk/openlayers@11057 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
90
lib/OpenLayers/Format/WMSCapabilities/v1_1_1_WMSC.js
Normal file
90
lib/OpenLayers/Format/WMSCapabilities/v1_1_1_WMSC.js
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
|
||||||
|
* full list of contributors). 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/WMSCapabilities/v1_1_1.js
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class: OpenLayers.Format.WMSCapabilities/v1_1_1_WMSC
|
||||||
|
* Read WMS-C Capabilities version 1.1.1.
|
||||||
|
*
|
||||||
|
* Inherits from:
|
||||||
|
* - <OpenLayers.Format.WMSCapabilities.v1_1_1>
|
||||||
|
*/
|
||||||
|
OpenLayers.Format.WMSCapabilities.v1_1_1_WMSC = OpenLayers.Class(
|
||||||
|
OpenLayers.Format.WMSCapabilities.v1_1_1, {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Property: version
|
||||||
|
* {String} The specific parser version.
|
||||||
|
*/
|
||||||
|
version: "1.1.1",
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Property: profile
|
||||||
|
* {String} The specific profile
|
||||||
|
*/
|
||||||
|
profile: "WMSC",
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor: OpenLayers.Format.WMSCapabilities.v1_1_1
|
||||||
|
* Create a new parser for WMS-C capabilities version 1.1.1.
|
||||||
|
*
|
||||||
|
* Parameters:
|
||||||
|
* options - {Object} An optional object whose properties will be set on
|
||||||
|
* this instance.
|
||||||
|
*/
|
||||||
|
initialize: function(options) {
|
||||||
|
OpenLayers.Format.WMSCapabilities.v1_1_1.prototype.initialize.apply(
|
||||||
|
this, [options]
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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: {
|
||||||
|
"wms": OpenLayers.Util.applyDefaults({
|
||||||
|
"VendorSpecificCapabilities": function(node, obj) {
|
||||||
|
obj.vendorSpecific = {tileSets: []};
|
||||||
|
this.readChildNodes(node, obj.vendorSpecific);
|
||||||
|
},
|
||||||
|
"TileSet": function(node, vendorSpecific) {
|
||||||
|
var tileset = {srs: {}, bbox: {}, resolutions: []};
|
||||||
|
this.readChildNodes(node, tileset);
|
||||||
|
vendorSpecific.tileSets.push(tileset);
|
||||||
|
},
|
||||||
|
"Resolutions": function(node, tileset) {
|
||||||
|
var res = this.getChildValue(node).split(" ");
|
||||||
|
for (var i=0, len=res.length; i<len; i++) {
|
||||||
|
if (res[i] != "") {
|
||||||
|
tileset.resolutions.push(parseFloat(res[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Width": function(node, tileset) {
|
||||||
|
tileset.width = parseInt(this.getChildValue(node));
|
||||||
|
},
|
||||||
|
"Height": function(node, tileset) {
|
||||||
|
tileset.height = parseInt(this.getChildValue(node));
|
||||||
|
},
|
||||||
|
"Layers": function(node, tileset) {
|
||||||
|
tileset.layers = this.getChildValue(node);
|
||||||
|
},
|
||||||
|
"Styles": function(node, tileset) {
|
||||||
|
tileset.styles = this.getChildValue(node);
|
||||||
|
}
|
||||||
|
}, OpenLayers.Format.WMSCapabilities.v1_1_1.prototype.readers["wms"])
|
||||||
|
},
|
||||||
|
|
||||||
|
CLASS_NAME: "OpenLayers.Format.WMSCapabilities.v1_1_1_WMSC"
|
||||||
|
|
||||||
|
});
|
||||||
212
tests/Format/WMSCapabilities/v1_1_1_WMSC.html
Normal file
212
tests/Format/WMSCapabilities/v1_1_1_WMSC.html
Normal file
@@ -0,0 +1,212 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<script src="../../../lib/OpenLayers.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
function test_read(t) {
|
||||||
|
|
||||||
|
t.plan(9);
|
||||||
|
|
||||||
|
var xml = document.getElementById("wmsc").firstChild.nodeValue;
|
||||||
|
var doc = new OpenLayers.Format.XML().read(xml);
|
||||||
|
var format = new OpenLayers.Format.WMSCapabilities({profile: "WMSC"});
|
||||||
|
var obj = format.read(doc);
|
||||||
|
var tilesets = obj.capability.vendorSpecific.tileSets;
|
||||||
|
t.eq(tilesets.length, 2, "We expect 2 tilesets to be parsed");
|
||||||
|
var tileset = tilesets[0];
|
||||||
|
t.eq(tileset.bbox["EPSG:900913"].bbox, [-13697515.466796875, 5165920.118906248, -13619243.94984375, 5244191.635859374], "BBOX correctly parsed");
|
||||||
|
t.eq(tileset.format, "image/png", "Format correctly parsed");
|
||||||
|
t.eq(tileset.height, 256, "Height correctly parsed");
|
||||||
|
t.eq(tileset.width, 256, "Width correctly parsed");
|
||||||
|
t.eq(tileset.layers, "medford:hydro", "Layers correctly parsed");
|
||||||
|
t.eq(tileset.srs["EPSG:900913"], true, "SRS correctly parsed");
|
||||||
|
t.eq(tileset.resolutions, [156543.03390625, 78271.516953125, 39135.7584765625, 19567.87923828125, 9783.939619140625, 4891.9698095703125, 2445.9849047851562, 1222.9924523925781, 611.4962261962891, 305.74811309814453, 152.87405654907226, 76.43702827453613, 38.218514137268066, 19.109257068634033, 9.554628534317017, 4.777314267158508, 2.388657133579254, 1.194328566789627, 0.5971642833948135, 0.29858214169740677, 0.14929107084870338, 0.07464553542435169, 0.037322767712175846, 0.018661383856087923, 0.009330691928043961, 0.004665345964021981], "Resolutions correctly parsed");
|
||||||
|
t.eq(tileset.styles, "", "Styles correctly parsed");
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div id="wmsc"><!--
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE WMT_MS_Capabilities SYSTEM "http://schemas.opengis.net/wms/1.1.1/capabilities_1_1_1.dtd"[
|
||||||
|
<!ELEMENT VendorSpecificCapabilities (TileSet*) >
|
||||||
|
<!ELEMENT TileSet (SRS, BoundingBox?, Resolutions, Width, Height, Format, Layers*, Styles*) >
|
||||||
|
<!ELEMENT Resolutions (#PCDATA) >
|
||||||
|
<!ELEMENT Width (#PCDATA) >
|
||||||
|
<!ELEMENT Height (#PCDATA) >
|
||||||
|
<!ELEMENT Layers (#PCDATA) >
|
||||||
|
<!ELEMENT Styles (#PCDATA) >
|
||||||
|
]>
|
||||||
|
<WMT_MS_Capabilities version="1.1.1" updateSequence="57">
|
||||||
|
<Service>
|
||||||
|
<Name>OGC:WMS</Name>
|
||||||
|
<Title>GeoServer Web Map Service</Title>
|
||||||
|
<Abstract>A compliant implementation of WMS 1.1.1 plus most of the SLD 1.0 extension (dynamic styling). Can also generate PDF, SVG, KML, GeoRSS</Abstract>
|
||||||
|
<KeywordList>
|
||||||
|
<Keyword>WFS</Keyword>
|
||||||
|
<Keyword>WMS</Keyword>
|
||||||
|
<Keyword>GEOSERVER</Keyword>
|
||||||
|
</KeywordList>
|
||||||
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://localhost:8080/geoserver-suite/wms"/>
|
||||||
|
<ContactInformation>
|
||||||
|
<ContactPersonPrimary>
|
||||||
|
<ContactPerson>OpenGeo</ContactPerson>
|
||||||
|
<ContactOrganization>OpenGeo</ContactOrganization>
|
||||||
|
</ContactPersonPrimary>
|
||||||
|
<ContactPosition>Outreach</ContactPosition>
|
||||||
|
<ContactAddress>
|
||||||
|
<AddressType>Work</AddressType>
|
||||||
|
<Address/>
|
||||||
|
<City>New York</City>
|
||||||
|
<StateOrProvince/>
|
||||||
|
<PostCode/>
|
||||||
|
<Country>USA</Country>
|
||||||
|
</ContactAddress>
|
||||||
|
<ContactVoiceTelephone/>
|
||||||
|
<ContactFacsimileTelephone/>
|
||||||
|
<ContactElectronicMailAddress>inquiry@opengeo.org</ContactElectronicMailAddress>
|
||||||
|
</ContactInformation>
|
||||||
|
<Fees>NONE</Fees>
|
||||||
|
<AccessConstraints>NONE</AccessConstraints>
|
||||||
|
</Service>
|
||||||
|
<Capability>
|
||||||
|
<Request>
|
||||||
|
<GetCapabilities>
|
||||||
|
<Format>application/vnd.ogc.wms_xml</Format>
|
||||||
|
<DCPType>
|
||||||
|
<HTTP>
|
||||||
|
<Get>
|
||||||
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://localhost:8080/geoserver-suite/wms?SERVICE=WMS&"/>
|
||||||
|
</Get>
|
||||||
|
<Post>
|
||||||
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://localhost:8080/geoserver-suite/wms?SERVICE=WMS&"/>
|
||||||
|
</Post>
|
||||||
|
</HTTP>
|
||||||
|
</DCPType>
|
||||||
|
</GetCapabilities>
|
||||||
|
<GetMap>
|
||||||
|
<Format>image/png</Format>
|
||||||
|
<Format>application/atom xml</Format>
|
||||||
|
<Format>application/atom+xml</Format>
|
||||||
|
<Format>application/openlayers</Format>
|
||||||
|
<Format>application/pdf</Format>
|
||||||
|
<Format>application/rss xml</Format>
|
||||||
|
<Format>application/rss+xml</Format>
|
||||||
|
<Format>application/vnd.google-earth.kml</Format>
|
||||||
|
<Format>application/vnd.google-earth.kml xml</Format>
|
||||||
|
<Format>application/vnd.google-earth.kml+xml</Format>
|
||||||
|
<Format>application/vnd.google-earth.kmz</Format>
|
||||||
|
<Format>application/vnd.google-earth.kmz xml</Format>
|
||||||
|
<Format>application/vnd.google-earth.kmz+xml</Format>
|
||||||
|
<Format>atom</Format>
|
||||||
|
<Format>image/geotiff</Format>
|
||||||
|
<Format>image/geotiff8</Format>
|
||||||
|
<Format>image/gif</Format>
|
||||||
|
<Format>image/jpeg</Format>
|
||||||
|
<Format>image/png8</Format>
|
||||||
|
<Format>image/svg</Format>
|
||||||
|
<Format>image/svg xml</Format>
|
||||||
|
<Format>image/svg+xml</Format>
|
||||||
|
<Format>image/tiff</Format>
|
||||||
|
<Format>image/tiff8</Format>
|
||||||
|
<Format>kml</Format>
|
||||||
|
<Format>kmz</Format>
|
||||||
|
<Format>openlayers</Format>
|
||||||
|
<Format>rss</Format>
|
||||||
|
<DCPType>
|
||||||
|
<HTTP>
|
||||||
|
<Get>
|
||||||
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://localhost:8080/geoserver-suite/wms?SERVICE=WMS&"/>
|
||||||
|
</Get>
|
||||||
|
</HTTP>
|
||||||
|
</DCPType>
|
||||||
|
</GetMap>
|
||||||
|
<GetFeatureInfo>
|
||||||
|
<Format>text/plain</Format>
|
||||||
|
<Format>application/vnd.ogc.gml</Format>
|
||||||
|
<Format>text/html</Format>
|
||||||
|
<DCPType>
|
||||||
|
<HTTP>
|
||||||
|
<Get>
|
||||||
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://localhost:8080/geoserver-suite/wms?SERVICE=WMS&"/>
|
||||||
|
</Get>
|
||||||
|
<Post>
|
||||||
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://localhost:8080/geoserver-suite/wms?SERVICE=WMS&"/>
|
||||||
|
</Post>
|
||||||
|
</HTTP>
|
||||||
|
</DCPType>
|
||||||
|
</GetFeatureInfo>
|
||||||
|
<DescribeLayer>
|
||||||
|
<Format>application/vnd.ogc.wms_xml</Format>
|
||||||
|
<DCPType>
|
||||||
|
<HTTP>
|
||||||
|
<Get>
|
||||||
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://localhost:8080/geoserver-suite/wms?SERVICE=WMS&"/>
|
||||||
|
</Get>
|
||||||
|
</HTTP>
|
||||||
|
</DCPType>
|
||||||
|
</DescribeLayer>
|
||||||
|
<GetLegendGraphic>
|
||||||
|
<Format>image/png</Format>
|
||||||
|
<Format>image/jpeg</Format>
|
||||||
|
<Format>image/gif</Format>
|
||||||
|
<DCPType>
|
||||||
|
<HTTP>
|
||||||
|
<Get>
|
||||||
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://localhost:8080/geoserver-suite/wms?SERVICE=WMS&"/>
|
||||||
|
</Get>
|
||||||
|
</HTTP>
|
||||||
|
</DCPType>
|
||||||
|
</GetLegendGraphic>
|
||||||
|
<GetStyles>
|
||||||
|
<Format>application/vnd.ogc.sld+xml</Format>
|
||||||
|
<DCPType>
|
||||||
|
<HTTP>
|
||||||
|
<Get>
|
||||||
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://localhost:8080/geoserver-suite/wms?SERVICE=WMS&"/>
|
||||||
|
</Get>
|
||||||
|
</HTTP>
|
||||||
|
</DCPType>
|
||||||
|
</GetStyles>
|
||||||
|
</Request>
|
||||||
|
<Exception>
|
||||||
|
<Format>application/vnd.ogc.se_xml</Format>
|
||||||
|
<Format>application/vnd.ogc.se_inimage</Format>
|
||||||
|
</Exception>
|
||||||
|
<VendorSpecificCapabilities>
|
||||||
|
<TileSet>
|
||||||
|
<SRS>EPSG:900913</SRS>
|
||||||
|
<BoundingBox SRS="EPSG:900913" minx="-1.3697515466796875E7" miny="5165920.118906248" maxx="-1.361924394984375E7" maxy="5244191.635859374"/>
|
||||||
|
<Resolutions>156543.03390625 78271.516953125 39135.7584765625 19567.87923828125 9783.939619140625 4891.9698095703125 2445.9849047851562 1222.9924523925781 611.4962261962891 305.74811309814453 152.87405654907226 76.43702827453613 38.218514137268066 19.109257068634033 9.554628534317017 4.777314267158508 2.388657133579254 1.194328566789627 0.5971642833948135 0.29858214169740677 0.14929107084870338 0.07464553542435169 0.037322767712175846 0.018661383856087923 0.009330691928043961 0.004665345964021981 </Resolutions>
|
||||||
|
<Width>256</Width>
|
||||||
|
<Height>256</Height>
|
||||||
|
<Format>image/png</Format>
|
||||||
|
<Layers>medford:hydro</Layers>
|
||||||
|
<Styles/>
|
||||||
|
</TileSet>
|
||||||
|
<TileSet>
|
||||||
|
<SRS>EPSG:4326</SRS>
|
||||||
|
<BoundingBox SRS="EPSG:4326" minx="-123.046875" miny="42.1875" maxx="-122.6953125" maxy="42.5390625"/>
|
||||||
|
<Resolutions>0.703125 0.3515625 0.17578125 0.087890625 0.0439453125 0.02197265625 0.010986328125 0.0054931640625 0.00274658203125 0.001373291015625 6.866455078125E-4 3.4332275390625E-4 1.71661376953125E-4 8.58306884765625E-5 4.291534423828125E-5 2.1457672119140625E-5 1.0728836059570312E-5 5.364418029785156E-6 2.682209014892578E-6 1.341104507446289E-6 6.705522537231445E-7 3.3527612686157227E-7 1.6763806343078613E-7 8.381903171539307E-8 4.190951585769653E-8 2.0954757928848267E-8 </Resolutions>
|
||||||
|
<Width>256</Width>
|
||||||
|
<Height>256</Height>
|
||||||
|
<Format>image/gif</Format>
|
||||||
|
<Layers>medford</Layers>
|
||||||
|
<Styles/>
|
||||||
|
</TileSet>
|
||||||
|
</VendorSpecificCapabilities>
|
||||||
|
<UserDefinedSymbolization SupportSLD="1" UserLayer="1" UserStyle="1" RemoteWFS="1"/>
|
||||||
|
<Layer queryable="0" opaque="0" noSubsets="0">
|
||||||
|
<Title>GeoServer Web Map Service</Title>
|
||||||
|
<Abstract>A compliant implementation of WMS 1.1.1 plus most of the SLD 1.0 extension (dynamic styling). Can also generate PDF, SVG, KML, GeoRSS</Abstract>
|
||||||
|
<SRS>EPSG:4326</SRS>
|
||||||
|
<SRS>EPSG:900913</SRS>
|
||||||
|
<LatLonBoundingBox minx="-180.0" miny="-90.0" maxx="180.0" maxy="83.624"/>
|
||||||
|
</Layer>
|
||||||
|
</Capability>
|
||||||
|
</WMT_MS_Capabilities>
|
||||||
|
--></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user