git-svn-id: http://svn.openlayers.org/trunk/openlayers@9664 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
630 lines
22 KiB
HTML
630 lines
22 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../../lib/OpenLayers.js"></script>
|
|
<script src="v1_1_1.js"></script>
|
|
<script type="text/javascript">
|
|
|
|
function test_read(t) {
|
|
|
|
t.plan(14);
|
|
|
|
var format = new OpenLayers.Format.WMSCapabilities();
|
|
var obj = format.read(doc);
|
|
|
|
var capability = obj.capability;
|
|
t.ok(capability, "object contains capability property");
|
|
|
|
var getmap = capability.request.getmap;
|
|
t.eq(getmap.formats.length, 28, "getmap formats parsed");
|
|
t.eq(
|
|
getmap.href,
|
|
"http://publicus.opengeo.org:80/geoserver/wms?SERVICE=WMS&",
|
|
"getmap href parsed"
|
|
);
|
|
|
|
t.ok(capability.layers, "layers parsed");
|
|
t.eq(capability.layers.length, 22, "correct number of layers parsed");
|
|
|
|
var layer = capability.layers[2];
|
|
t.eq(layer.name, "tiger:tiger_roads", "[2] correct layer name");
|
|
t.eq(layer.title, "Manhattan (NY) roads", "[2] correct layer title");
|
|
t.eq(
|
|
layer["abstract"],
|
|
"Highly simplified road layout of Manhattan in New York..",
|
|
"[2] correct layer abstract"
|
|
);
|
|
t.eq(
|
|
layer.llbbox,
|
|
[-74.08769307536667, 40.660618924633326, -73.84653192463333, 40.90178007536667],
|
|
"[2] correct layer bbox"
|
|
);
|
|
t.eq(layer.styles.length, 1, "[2] correct styles length");
|
|
t.eq(layer.styles[0].name, "tiger_roads", "[2] correct style name");
|
|
t.eq(
|
|
layer.styles[0].legend.href,
|
|
"http://publicus.opengeo.org:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=tiger:tiger_roads",
|
|
"[2] correct legend url"
|
|
);
|
|
t.eq(
|
|
layer.styles[0].legend.format, "image/png",
|
|
"[2] correct legend format"
|
|
);
|
|
t.eq(layer.queryable, true, "[2] correct queryable attribute");
|
|
|
|
|
|
}
|
|
|
|
function test_layers(t) {
|
|
|
|
t.plan(22);
|
|
|
|
var xml = document.getElementById("ogcsample").firstChild.nodeValue;
|
|
var doc = new OpenLayers.Format.XML().read(xml);
|
|
|
|
var obj = new OpenLayers.Format.WMSCapabilities().read(doc);
|
|
var capability = obj.capability;
|
|
|
|
var layers = {};
|
|
for (var i=0, len=capability.layers.length; i<len; i++) {
|
|
if ("name" in capability.layers[i]) {
|
|
layers[ capability.layers[i].name ] = capability.layers[i];
|
|
}
|
|
}
|
|
|
|
var rootlayer = capability.layers[ capability.layers.length - 1];
|
|
|
|
t.eq(rootlayer.srs,
|
|
{"EPSG:4326": true},
|
|
"SRS parsed correctly for root layer");
|
|
t.eq(layers["ROADS_RIVERS"].srs,
|
|
{"EPSG:4326": true, "EPSG:26986": true},
|
|
"Inheritance of SRS handled correctly when adding SRSes");
|
|
t.eq(layers["Temperature"].srs,
|
|
{"EPSG:4326": true},
|
|
"Inheritance of SRS handled correctly when redeclaring an inherited SRS");
|
|
|
|
var bbox = layers["ROADS_RIVERS"].bbox["EPSG:26986"];
|
|
t.eq(bbox.bbox,
|
|
[189000, 834000, 285000, 962000],
|
|
"Correct bbox from BoundingBox");
|
|
t.eq(bbox.res, {x: 1, y: 1}, "Correct resolution");
|
|
|
|
bbox = layers["ROADS_1M"].bbox["EPSG:26986"];
|
|
t.eq(bbox.bbox,
|
|
[189000, 834000, 285000, 962000],
|
|
"Correctly inherited bbox");
|
|
t.eq(bbox.res, {x: 1, y: 1}, "Correctly inherited resolution");
|
|
|
|
|
|
var identifiers = layers["ROADS_RIVERS"].identifiers;
|
|
var authorities = layers["ROADS_RIVERS"].authorityURLs;
|
|
|
|
t.ok(identifiers, "got identifiers from layer ROADS_RIVERS");
|
|
t.ok("DIF_ID" in identifiers,
|
|
"authority attribute from Identifiers parsed correctly");
|
|
t.eq(identifiers["DIF_ID"],
|
|
"123456",
|
|
"Identifier value parsed correctly");
|
|
t.ok("DIF_ID" in authorities,
|
|
"AuthorityURLs parsed and inherited correctly");
|
|
t.eq(authorities["DIF_ID"],
|
|
"http://gcmd.gsfc.nasa.gov/difguide/whatisadif.html",
|
|
"OnlineResource in AuthorityURLs parsed correctly");
|
|
|
|
var featurelist = layers["ROADS_RIVERS"].featureListURL;
|
|
t.ok(featurelist, "layer has FeatureListURL");
|
|
t.eq(featurelist.format,
|
|
"application/vnd.ogc.se_xml",
|
|
"FeatureListURL format parsed correctly");
|
|
t.eq(featurelist.href,
|
|
"http://www.university.edu/data/roads_rivers.gml",
|
|
"FeatureListURL OnlineResource parsed correctly");
|
|
|
|
t.eq(layers["Pressure"].queryable,
|
|
true,
|
|
"queryable property inherited correctly");
|
|
t.eq(layers["ozone_image"].queryable,
|
|
false,
|
|
"queryable property has correct default value");
|
|
t.eq(layers["population"].cascaded,
|
|
1,
|
|
"cascaded property parsed correctly");
|
|
t.eq(layers["ozone_image"].fixedWidth,
|
|
512,
|
|
"fixedWidth property correctly parsed");
|
|
t.eq(layers["ozone_image"].fixedHeight,
|
|
256,
|
|
"fixedHeight property correctly parsed");
|
|
t.eq(layers["ozone_image"].opaque,
|
|
true,
|
|
"opaque property parsed correctly");
|
|
t.eq(layers["ozone_image"].noSubsets,
|
|
true,
|
|
"noSubsets property parsed correctly");
|
|
|
|
|
|
}
|
|
|
|
function test_dimensions(t) {
|
|
|
|
t.plan(8);
|
|
|
|
var xml = document.getElementById("ogcsample").firstChild.nodeValue;
|
|
var doc = new OpenLayers.Format.XML().read(xml);
|
|
|
|
var obj = new OpenLayers.Format.WMSCapabilities().read(doc);
|
|
var capability = obj.capability;
|
|
|
|
var layers = {};
|
|
for (var i=0, len=capability.layers.length; i<len; i++) {
|
|
if ("name" in capability.layers[i]) {
|
|
layers[ capability.layers[i].name ] = capability.layers[i];
|
|
}
|
|
}
|
|
|
|
var time = layers["Clouds"].dimensions.time;
|
|
t.eq(time["default"], "2000-08-22", "Default time value parsed correctly");
|
|
t.eq(time.values.length, 1, "Currect number of time extent values/periods");
|
|
t.eq(time.values[0], "1999-01-01/2000-08-22/P1D", "Time extent values parsed correctly");
|
|
|
|
var elevation = layers["Pressure"].dimensions.elevation;
|
|
t.eq(elevation.units, "EPSG:5030", "Dimension units parsed correctly");
|
|
t.eq(elevation["default"], "0", "Default elevation value parsed correctly");
|
|
t.eq(elevation.nearestVal, true, "NearestValue parsed correctly");
|
|
t.eq(elevation.multipleVal, false, "Absense of MultipleValues handled correctly");
|
|
t.eq(elevation.values,
|
|
["0","1000","3000","5000","10000"],
|
|
"Parsing of comma-separated values done correctly");
|
|
|
|
|
|
}
|
|
|
|
function test_contactinfo(t) {
|
|
t.plan(15);
|
|
|
|
var xml = document.getElementById("ogcsample").firstChild.nodeValue;
|
|
var doc = new OpenLayers.Format.XML().read(xml);
|
|
|
|
var obj = new OpenLayers.Format.WMSCapabilities().read(doc);
|
|
var service = obj.service;
|
|
|
|
var contactinfo = service.contactInformation;
|
|
t.ok(contactinfo, "object contains contactInformation property");
|
|
|
|
var personPrimary = contactinfo.personPrimary;
|
|
t.ok(personPrimary, "object contains personPrimary property");
|
|
|
|
t.eq(personPrimary.person, "Jeff deLaBeaujardiere", "ContactPerson parsed correctly");
|
|
t.eq(personPrimary.organization, "NASA", "ContactOrganization parsed correctly");
|
|
|
|
t.eq(contactinfo.position,
|
|
"Computer Scientist",
|
|
"ContactPosition parsed correctly");
|
|
|
|
|
|
var addr = contactinfo.contactAddress;
|
|
t.ok(addr, "object contains contactAddress property");
|
|
|
|
t.eq(addr.type, "postal", "AddressType parsed correctly");
|
|
t.eq(addr.address,
|
|
"NASA Goddard Space Flight Center, Code 933",
|
|
"Address parsed correctly");
|
|
t.eq(addr.city, "Greenbelt", "City parsed correctly");
|
|
t.eq(addr.stateOrProvince, "MD", "StateOrProvince parsed correctly");
|
|
t.eq(addr.postcode, "20771", "PostCode parsed correctly");
|
|
t.eq(addr.country, "USA", "Country parsed correctly");
|
|
|
|
t.eq(contactinfo.phone,
|
|
"+1 301 286-1569",
|
|
"ContactVoiceTelephone parsed correctly");
|
|
t.eq(contactinfo.fax,
|
|
"+1 301 286-1777",
|
|
"ContactFacsimileTelephone parsed correctly");
|
|
t.eq(contactinfo.email,
|
|
"delabeau@iniki.gsfc.nasa.gov",
|
|
"ContactElectronicMailAddress parsed correctly");
|
|
}
|
|
|
|
function test_feesAndConstraints(t) {
|
|
t.plan(2);
|
|
|
|
var obj = new OpenLayers.Format.WMSCapabilities().read(doc);
|
|
var service = obj.service;
|
|
|
|
t.ok(! ("fees" in service), "Fees=none handled correctly");
|
|
t.ok(! ("accessConstraints" in service), "AccessConstraints=none handled correctly");
|
|
}
|
|
|
|
function test_requests(t) {
|
|
t.plan(13);
|
|
|
|
var obj = new OpenLayers.Format.WMSCapabilities().read(doc);
|
|
var request = obj.capability.request;
|
|
|
|
t.ok(request, "request property exists");
|
|
t.ok("getmap" in request, "got GetMap request");
|
|
|
|
t.ok("getfeatureinfo" in request, "got GetFeatureInfo request");
|
|
t.eq(request.getfeatureinfo.formats,
|
|
["text/plain", "text/html", "application/vnd.ogc.gml"],
|
|
"GetFeatureInfo formats correctly parsed");
|
|
|
|
t.ok("describelayer" in request, "got DescribeLayer request");
|
|
|
|
t.ok("getlegendgraphic" in request, "got GetLegendGraphic request");
|
|
|
|
var exception = obj.capability.exception;
|
|
t.ok(exception, "exception property exists");
|
|
t.eq(exception.formats,
|
|
["application/vnd.ogc.se_xml"],
|
|
"Exception Format parsed");
|
|
|
|
var userSymbols = obj.capability.userSymbols;
|
|
t.ok(userSymbols, "userSymbols property exists");
|
|
t.eq(userSymbols.supportSLD, true, "supportSLD parsed");
|
|
t.eq(userSymbols.userLayer, true, "userLayer parsed");
|
|
t.eq(userSymbols.userStyle, true, "userStyle parsed");
|
|
t.eq(userSymbols.remoteWFS, true, "remoteWFS parsed");
|
|
|
|
}
|
|
function test_ogc(t) {
|
|
t.plan(14)
|
|
|
|
/*
|
|
* Set up
|
|
*/
|
|
|
|
// needed for the minScale/maxScale test, see below
|
|
var dpi = OpenLayers.DOTS_PER_INCH;
|
|
OpenLayers.DOTS_PER_INCH = 90.71;
|
|
|
|
var xml = document.getElementById("ogcsample").firstChild.nodeValue;
|
|
var doc = new OpenLayers.Format.XML().read(xml);
|
|
|
|
var obj = new OpenLayers.Format.WMSCapabilities().read(doc);
|
|
var capability = obj.capability;
|
|
|
|
/*
|
|
* Test
|
|
*/
|
|
|
|
var attribution = capability.layers[2].attribution;
|
|
t.eq(attribution.title, "State College University", "attribution title parsed correctly.");
|
|
t.eq(attribution.href, "http://www.university.edu/", "attribution href parsed correctly.")
|
|
t.eq(attribution.logo.href, "http://www.university.edu/icons/logo.gif", "attribution logo url parsed correctly.");
|
|
t.eq(attribution.logo.format, "image/gif", "attribution logo format parsed correctly.");
|
|
t.eq(attribution.logo.width, "100", "attribution logo width parsed correctly.");
|
|
t.eq(attribution.logo.height, "100", "attribution logo height parsed correctly.");
|
|
|
|
var keywords = capability.layers[0].keywords;
|
|
t.eq(keywords.length, 3, "layer has 3 keywords.");
|
|
t.eq(keywords[0], "road", "1st keyword parsed correctly.");
|
|
|
|
var metadataURLs = capability.layers[0].metadataURLs;
|
|
t.eq(metadataURLs.length, 2, "layer has 2 metadata urls.");
|
|
t.eq(metadataURLs[0].type, "FGDC", "type parsed correctly.");
|
|
t.eq(metadataURLs[0].format, "text/plain", "format parsed correctly.");
|
|
t.eq(metadataURLs[0].href, "http://www.university.edu/metadata/roads.txt", "href parsed correctly.");
|
|
|
|
/*
|
|
Test minScale and maxScale
|
|
|
|
For Mapserver
|
|
|
|
<ScaleHint min="0.395998292216226" max="98.9995730540565" />
|
|
|
|
corresponds to (RESOLUTION keyword in MAP file has value of 90.71):
|
|
|
|
MAXSCALE 250000
|
|
MINSCALE 1000
|
|
|
|
*/
|
|
t.eq(capability.layers[0].minScale, 250000, "layer.minScale is correct");
|
|
t.eq(capability.layers[0].maxScale, 1000, "layer.maxScale is correct");
|
|
|
|
/*
|
|
* Tear down
|
|
*/
|
|
|
|
OpenLayers.DOTS_PER_INCH = dpi;
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
|
|
<!--
|
|
OGC example below taken from
|
|
http://schemas.opengis.net/wms/1.1.1/capabilities_1_1_1.xml
|
|
Copyright © 1994-2008 Open Geospatial Consortium, Inc. All Rights Reserved.
|
|
http://www.opengeospatial.org/ogc/document
|
|
Changes:
|
|
* fixed DTD URL
|
|
* removed comments
|
|
-->
|
|
<div id="ogcsample"><!--
|
|
<?xml version='1.0' encoding="UTF-8" standalone="no" ?>
|
|
<!DOCTYPE WMT_MS_Capabilities SYSTEM
|
|
"http://schemas.opengis.net/wms/1.1.1/capabilities_1_1_1.dtd"
|
|
[
|
|
<!ELEMENT VendorSpecificCapabilities EMPTY>
|
|
]>
|
|
|
|
<WMT_MS_Capabilities version="1.1.1" updateSequence="0">
|
|
<Service>
|
|
|
|
<Name>OGC:WMS</Name>
|
|
<Title>Acme Corp. Map Server</Title>
|
|
<Abstract>WMT Map Server maintained by Acme Corporation. Contact: webmaster@wmt.acme.com. High-quality maps showing roadrunner nests and possible ambush locations.</Abstract>
|
|
<KeywordList>
|
|
|
|
<Keyword>bird</Keyword>
|
|
<Keyword>roadrunner</Keyword>
|
|
<Keyword>ambush</Keyword>
|
|
</KeywordList>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
|
|
xlink:href="http://hostname/" />
|
|
|
|
<ContactInformation>
|
|
<ContactPersonPrimary>
|
|
<ContactPerson>Jeff deLaBeaujardiere</ContactPerson>
|
|
<ContactOrganization>NASA</ContactOrganization>
|
|
</ContactPersonPrimary>
|
|
<ContactPosition>Computer Scientist</ContactPosition>
|
|
<ContactAddress>
|
|
|
|
<AddressType>postal</AddressType>
|
|
<Address>NASA Goddard Space Flight Center, Code 933</Address>
|
|
<City>Greenbelt</City>
|
|
<StateOrProvince>MD</StateOrProvince>
|
|
<PostCode>20771</PostCode>
|
|
<Country>USA</Country>
|
|
|
|
</ContactAddress>
|
|
<ContactVoiceTelephone>+1 301 286-1569</ContactVoiceTelephone>
|
|
<ContactFacsimileTelephone>+1 301 286-1777</ContactFacsimileTelephone>
|
|
<ContactElectronicMailAddress>delabeau@iniki.gsfc.nasa.gov</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://hostname:port/path" />
|
|
</Get>
|
|
<Post>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xlink:type="simple"
|
|
xlink:href="http://hostname:port/path" />
|
|
</Post>
|
|
</HTTP>
|
|
</DCPType>
|
|
|
|
</GetCapabilities>
|
|
<GetMap>
|
|
<Format>image/gif</Format>
|
|
<Format>image/png</Format>
|
|
<Format>image/jpeg</Format>
|
|
<DCPType>
|
|
<HTTP>
|
|
|
|
<Get>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xlink:type="simple"
|
|
xlink:href="http://hostname:port/path" />
|
|
</Get>
|
|
</HTTP>
|
|
</DCPType>
|
|
</GetMap>
|
|
<GetFeatureInfo>
|
|
<Format>application/vnd.ogc.gml</Format>
|
|
|
|
<Format>text/plain</Format>
|
|
<Format>text/html</Format>
|
|
<DCPType>
|
|
<HTTP>
|
|
<Get>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xlink:type="simple"
|
|
xlink:href="http://hostname:port/path" />
|
|
</Get>
|
|
</HTTP>
|
|
|
|
</DCPType>
|
|
</GetFeatureInfo>
|
|
<DescribeLayer>
|
|
<Format>application/vnd.ogc.gml</Format>
|
|
<DCPType>
|
|
<HTTP>
|
|
<Get>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xlink:type="simple"
|
|
xlink:href="http://hostname:port/path" />
|
|
|
|
</Get>
|
|
</HTTP>
|
|
</DCPType>
|
|
</DescribeLayer>
|
|
</Request>
|
|
<Exception>
|
|
<Format>application/vnd.ogc.se_xml</Format>
|
|
<Format>application/vnd.ogc.se_inimage</Format>
|
|
|
|
<Format>application/vnd.ogc.se_blank</Format>
|
|
</Exception>
|
|
<VendorSpecificCapabilities />
|
|
<UserDefinedSymbolization SupportSLD="1" UserLayer="1" UserStyle="1"
|
|
RemoteWFS="1" />
|
|
|
|
<Layer>
|
|
<Title>Acme Corp. Map Server</Title>
|
|
<SRS>EPSG:4326</SRS>
|
|
<AuthorityURL name="DIF_ID">
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
|
|
xlink:href="http://gcmd.gsfc.nasa.gov/difguide/whatisadif.html" />
|
|
</AuthorityURL>
|
|
|
|
|
|
<Layer>
|
|
<Name>ROADS_RIVERS</Name>
|
|
<Title>Roads and Rivers</Title>
|
|
<SRS>EPSG:26986</SRS>
|
|
<LatLonBoundingBox minx="-71.63" miny="41.75" maxx="-70.78" maxy="42.90"/>
|
|
<BoundingBox SRS="EPSG:4326"
|
|
minx="-71.63" miny="41.75" maxx="-70.78" maxy="42.90" resx="0.01" resy="0.01"/>
|
|
|
|
<BoundingBox SRS="EPSG:26986"
|
|
minx="189000" miny="834000" maxx="285000" maxy="962000" resx="1" resy="1" />
|
|
<Attribution>
|
|
<Title>State College University</Title>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
|
|
xlink:href="http://www.university.edu/" />
|
|
<LogoURL width="100" height="100">
|
|
<Format>image/gif</Format>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xlink:type="simple"
|
|
xlink:href="http://www.university.edu/icons/logo.gif" />
|
|
|
|
</LogoURL>
|
|
</Attribution>
|
|
<Identifier authority="DIF_ID">123456</Identifier>
|
|
<FeatureListURL>
|
|
<Format>application/vnd.ogc.se_xml</Format>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
|
|
xlink:href="http://www.university.edu/data/roads_rivers.gml" />
|
|
</FeatureListURL>
|
|
|
|
<Style>
|
|
<Name>USGS</Name>
|
|
<Title>USGS Topo Map Style</Title>
|
|
<Abstract>Features are shown in a style like that used in USGS topographic maps.</Abstract>
|
|
<LegendURL width="72" height="72">
|
|
<Format>image/gif</Format>
|
|
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xlink:type="simple"
|
|
xlink:href="http://www.university.edu/legends/usgs.gif" />
|
|
</LegendURL>
|
|
<StyleSheetURL>
|
|
<Format>text/xsl</Format>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xlink:type="simple"
|
|
xlink:href="http://www.university.edu/stylesheets/usgs.xsl" />
|
|
</StyleSheetURL>
|
|
</Style>
|
|
|
|
<ScaleHint min="4000" max="35000"></ScaleHint>
|
|
|
|
|
|
<Layer queryable="1">
|
|
<Name>ROADS_1M</Name>
|
|
<Title>Roads at 1:1M scale</Title>
|
|
<Abstract>Roads at a scale of 1 to 1 million.</Abstract>
|
|
<KeywordList>
|
|
<Keyword>road</Keyword>
|
|
|
|
<Keyword>transportation</Keyword>
|
|
<Keyword>atlas</Keyword>
|
|
</KeywordList>
|
|
<Identifier authority="DIF_ID">123456</Identifier>
|
|
<MetadataURL type="FGDC">
|
|
<Format>text/plain</Format>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xlink:type="simple"
|
|
xlink:href="http://www.university.edu/metadata/roads.txt" />
|
|
</MetadataURL>
|
|
<MetadataURL type="FGDC">
|
|
<Format>text/xml</Format>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xlink:type="simple"
|
|
xlink:href="http://www.university.edu/metadata/roads.xml" />
|
|
</MetadataURL>
|
|
<Style>
|
|
|
|
<Name>ATLAS</Name>
|
|
<Title>Road atlas style</Title>
|
|
<Abstract>Roads are shown in a style like that used in a commercial road atlas.</Abstract>
|
|
<LegendURL width="72" height="72">
|
|
<Format>image/gif</Format>
|
|
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xlink:type="simple"
|
|
xlink:href="http://www.university.edu/legends/atlas.gif" />
|
|
</LegendURL>
|
|
|
|
</Style>
|
|
<ScaleHint min="0.395998292216226" max="98.9995730540565" />
|
|
</Layer>
|
|
<Layer queryable="1">
|
|
<Name>RIVERS_1M</Name>
|
|
<Title>Rivers at 1:1M scale</Title>
|
|
<Abstract>Rivers at a scale of 1 to 1 million.</Abstract>
|
|
<KeywordList>
|
|
|
|
<Keyword>river</Keyword>
|
|
<Keyword>canal</Keyword>
|
|
<Keyword>waterway</Keyword>
|
|
</KeywordList>
|
|
</Layer>
|
|
</Layer>
|
|
<Layer queryable="1">
|
|
|
|
<Title>Weather Forecast Data</Title>
|
|
<SRS>EPSG:4326</SRS>
|
|
<LatLonBoundingBox minx="-180" miny="-90" maxx="180" maxy="90" />
|
|
<Dimension name="time" units="ISO8601" />
|
|
<Extent name="time" default="2000-08-22">1999-01-01/2000-08-22/P1D</Extent>
|
|
|
|
<Layer>
|
|
<Name>Clouds</Name>
|
|
<Title>Forecast cloud cover</Title>
|
|
</Layer>
|
|
|
|
<Layer>
|
|
<Name>Temperature</Name>
|
|
<Title>Forecast temperature</Title>
|
|
</Layer>
|
|
|
|
<Layer>
|
|
<Name>Pressure</Name>
|
|
<Title>Forecast barometric pressure</Title>
|
|
<Dimension name="time" units="ISO8601" />
|
|
<Dimension name="elevation" units="EPSG:5030" />
|
|
<Extent name="time" default="2000-08-22">1999-01-01/2000-08-22/P1D</Extent>
|
|
<Extent name="elevation" default="0" nearestValue="1">0,1000,3000,5000,10000</Extent>
|
|
</Layer>
|
|
|
|
</Layer>
|
|
|
|
<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="256">
|
|
<Name>ozone_image</Name>
|
|
<Title>Global ozone distribution (1992)</Title>
|
|
<LatLonBoundingBox minx="-180" miny="-90" maxx="180" maxy="90" />
|
|
<Extent name="time" default="1992">1992</Extent>
|
|
</Layer>
|
|
|
|
<Layer cascaded="1">
|
|
<Name>population</Name>
|
|
<Title>World population, annual</Title>
|
|
<LatLonBoundingBox minx="-180" miny="-90" maxx="180" maxy="90" />
|
|
<Extent name="time" default="2000">1990/2000/P1Y</Extent>
|
|
</Layer>
|
|
|
|
</Layer>
|
|
|
|
|
|
</Capability>
|
|
</WMT_MS_Capabilities>
|
|
--></div>
|
|
|
|
</body>
|
|
</html>
|