Merge branch 'master' of https://github.com/openlayers/openlayers into vendor-prefixes
This commit is contained in:
@@ -163,13 +163,13 @@ var map;
|
|||||||
var doc = request.responseText,
|
var doc = request.responseText,
|
||||||
caps = format.read(doc);
|
caps = format.read(doc);
|
||||||
fmzk = format.createLayer(caps, OpenLayers.Util.applyDefaults(
|
fmzk = format.createLayer(caps, OpenLayers.Util.applyDefaults(
|
||||||
{layer:"fmzk", requestEncoding:"REST", transitionEffect:"resize"}, defaults
|
{layer:"fmzk", transitionEffect:"resize"}, defaults
|
||||||
));
|
));
|
||||||
aerial = format.createLayer(caps, OpenLayers.Util.applyDefaults(
|
aerial = format.createLayer(caps, OpenLayers.Util.applyDefaults(
|
||||||
{layer:"lb", requestEncoding:"REST", transitionEffect:"resize"}, defaults
|
{layer:"lb", transitionEffect:"resize"}, defaults
|
||||||
));
|
));
|
||||||
labels = format.createLayer(caps, OpenLayers.Util.applyDefaults(
|
labels = format.createLayer(caps, OpenLayers.Util.applyDefaults(
|
||||||
{layer:"beschriftung", requestEncoding:"REST", className:"nofade", isBaseLayer: false},
|
{layer:"beschriftung", className:"nofade", isBaseLayer: false},
|
||||||
defaults
|
defaults
|
||||||
));
|
));
|
||||||
map.addLayers([fmzk, aerial, labels]);
|
map.addLayers([fmzk, aerial, labels]);
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||||
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
|
<title>OpenLayers OSM and Google Example</title>
|
||||||
|
<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
|
<script src="../lib/OpenLayers.js"></script>
|
||||||
|
<script src="osm-marker-popup.js"></script>
|
||||||
|
</head>
|
||||||
|
<body onload="init()">
|
||||||
|
<h1 id="title">OSM with Marker and Popup</h1>
|
||||||
|
<p id="shortdesc">
|
||||||
|
Demonstrate use of an OSM layer with a marker and a popup.
|
||||||
|
</p>
|
||||||
|
<div id="tags">
|
||||||
|
openstreetmap osm marker popup
|
||||||
|
</div>
|
||||||
|
<div id="map" class="smallmap"></div>
|
||||||
|
<div id="docs">
|
||||||
|
<p>
|
||||||
|
A common use case for OpenLayers is to display a marker at a
|
||||||
|
location on the map, and add some information in a popup. It
|
||||||
|
is also easy to add a tooltip with a short description.
|
||||||
|
See the <a href="osm-marker-popup.js" target="_blank">
|
||||||
|
osm-marker-popup.js source</a> to see how this is done.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
var map;
|
||||||
|
function init() {
|
||||||
|
|
||||||
|
// The overlay layer for our marker, with a simple diamond as symbol
|
||||||
|
var overlay = new OpenLayers.Layer.Vector('Overlay', {
|
||||||
|
styleMap: new OpenLayers.StyleMap({
|
||||||
|
externalGraphic: '../img/marker.png',
|
||||||
|
graphicWidth: 20, graphicHeight: 24, graphicYOffset: -24,
|
||||||
|
title: '${tooltip}'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
// The location of our marker and popup. We usually think in geographic
|
||||||
|
// coordinates ('EPSG:4326'), but the map is projected ('EPSG:3857').
|
||||||
|
var myLocation = new OpenLayers.Geometry.Point(10.2, 48.9)
|
||||||
|
.transform('EPSG:4326', 'EPSG:3857');
|
||||||
|
|
||||||
|
// We add the marker with a tooltip text to the overlay
|
||||||
|
overlay.addFeatures([
|
||||||
|
new OpenLayers.Feature.Vector(myLocation, {tooltip: 'OpenLayers'})
|
||||||
|
]);
|
||||||
|
|
||||||
|
// A popup with some information about our location
|
||||||
|
var popup = new OpenLayers.Popup.FramedCloud("Popup",
|
||||||
|
myLocation.getBounds().getCenterLonLat(), null,
|
||||||
|
'<a target="_blank" href="http://openlayers.org/">We</a> ' +
|
||||||
|
'could be here.<br>Or elsewhere.', null,
|
||||||
|
true // <-- true if we want a close (X) button, false otherwise
|
||||||
|
);
|
||||||
|
|
||||||
|
// Finally we create the map
|
||||||
|
map = new OpenLayers.Map({
|
||||||
|
div: "map", projection: "EPSG:3857",
|
||||||
|
layers: [new OpenLayers.Layer.OSM(), overlay],
|
||||||
|
center: myLocation.getBounds().getCenterLonLat(), zoom: 15
|
||||||
|
});
|
||||||
|
// and add the popup to it.
|
||||||
|
map.addPopup(popup);
|
||||||
|
}
|
||||||
@@ -37,10 +37,8 @@
|
|||||||
function init() {
|
function init() {
|
||||||
map = new OpenLayers.Map('map');
|
map = new OpenLayers.Map('map');
|
||||||
var base = new OpenLayers.Layer.WMS("OpenLayers WMS",
|
var base = new OpenLayers.Layer.WMS("OpenLayers WMS",
|
||||||
["http://t3.tilecache.osgeo.org/wms-c/Basic.py",
|
"http://vmap0.tiles.osgeo.org/wms/vmap0",
|
||||||
"http://t2.tilecache.osgeo.org/wms-c/Basic.py",
|
{layers: 'basic'}
|
||||||
"http://t1.tilecache.osgeo.org/wms-c/Basic.py"],
|
|
||||||
{layers: 'satellite'}
|
|
||||||
);
|
);
|
||||||
|
|
||||||
var style = new OpenLayers.Style({
|
var style = new OpenLayers.Style({
|
||||||
|
|||||||
@@ -55,5 +55,4 @@ function init() {
|
|||||||
map.addLayer(osm);
|
map.addLayer(osm);
|
||||||
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
||||||
map.setCenter(new OpenLayers.LonLat(-13677832, 5213272), 13);
|
map.setCenter(new OpenLayers.LonLat(-13677832, 5213272), 13);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,12 @@ OpenLayers.Format.WMTSCapabilities = OpenLayers.Class(OpenLayers.Format.XML.Vers
|
|||||||
*
|
*
|
||||||
* Required config properties:
|
* Required config properties:
|
||||||
* layer - {String} The layer identifier.
|
* layer - {String} The layer identifier.
|
||||||
* matrixSet - {String} The matrix set 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
|
||||||
|
* param - {Object} The dimensions values eg: {"Year": "2012"}
|
||||||
*
|
*
|
||||||
* Returns:
|
* Returns:
|
||||||
* {<OpenLayers.Layer.WMTS>} A properly configured WMTS layer. Throws an
|
* {<OpenLayers.Layer.WMTS>} A properly configured WMTS layer. Throws an
|
||||||
@@ -79,18 +84,11 @@ OpenLayers.Format.WMTSCapabilities = OpenLayers.Class(OpenLayers.Format.XML.Vers
|
|||||||
var layer;
|
var layer;
|
||||||
|
|
||||||
// confirm required properties are supplied in config
|
// confirm required properties are supplied in config
|
||||||
var required = {
|
if (!('layer' in config)) {
|
||||||
layer: true,
|
throw new Error("Missing property 'layer' in configuration.");
|
||||||
matrixSet: true
|
|
||||||
};
|
|
||||||
for (var prop in required) {
|
|
||||||
if (!(prop in config)) {
|
|
||||||
throw new Error("Missing property '" + prop + "' in layer configuration.");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var contents = capabilities.contents;
|
var contents = capabilities.contents;
|
||||||
var matrixSet = contents.tileMatrixSets[config.matrixSet];
|
|
||||||
|
|
||||||
// find the layer definition with the given identifier
|
// find the layer definition with the given identifier
|
||||||
var layers = contents.layers;
|
var layers = contents.layers;
|
||||||
@@ -101,30 +99,95 @@ OpenLayers.Format.WMTSCapabilities = OpenLayers.Class(OpenLayers.Format.XML.Vers
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!layerDef) {
|
||||||
|
throw new Error("Layer not found");
|
||||||
|
}
|
||||||
|
|
||||||
if (layerDef && matrixSet) {
|
// find the matrixSet definition
|
||||||
// get the default style for the layer
|
var matrixSet;
|
||||||
var style;
|
if (config.matrixSet) {
|
||||||
for (var i=0, ii=layerDef.styles.length; i<ii; ++i) {
|
matrixSet = contents.tileMatrixSets[config.matrixSet];
|
||||||
style = layerDef.styles[i];
|
} else if (layerDef.tileMatrixSetLinks.length == 1) {
|
||||||
if (style.isDefault) {
|
matrixSet = contents.tileMatrixSets[
|
||||||
break;
|
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;
|
||||||
|
if (!constraints.GetEncoding.allowedValues.KVP &&
|
||||||
|
constraints.GetEncoding.allowedValues.REST) {
|
||||||
|
requestEncoding = "REST";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
layer = new OpenLayers.Layer.WMTS(
|
|
||||||
OpenLayers.Util.applyDefaults(config, {
|
|
||||||
url: config.requestEncoding === "REST" && layerDef.resourceUrl ?
|
|
||||||
layerDef.resourceUrl.tile.template :
|
|
||||||
capabilities.operationsMetadata.GetTile.dcp.http.get[0].url,
|
|
||||||
name: layerDef.title,
|
|
||||||
style: style.identifier,
|
|
||||||
matrixIds: matrixSet.matrixIds,
|
|
||||||
tileFullExtent: matrixSet.bounds
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
return layer;
|
|
||||||
|
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 = [];
|
||||||
|
if (config.isBaseLayer !== false) {
|
||||||
|
for (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]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return new OpenLayers.Layer.WMTS(
|
||||||
|
OpenLayers.Util.applyDefaults(config, {
|
||||||
|
url: requestEncoding === "REST" && layerDef.resourceUrl ?
|
||||||
|
layerDef.resourceUrl.tile.template :
|
||||||
|
capabilities.operationsMetadata.GetTile.dcp.http.get[0].url,
|
||||||
|
requestEncoding: requestEncoding,
|
||||||
|
name: layerDef.title,
|
||||||
|
style: style.identifier,
|
||||||
|
matrixIds: matrixSet.matrixIds,
|
||||||
|
matrixSet: matrixSet.identifier,
|
||||||
|
projection: projection,
|
||||||
|
units: units,
|
||||||
|
resolutions: config.isBaseLayer === false ? undefined :
|
||||||
|
resolutions,
|
||||||
|
tileFullExtent: matrixSet.bounds,
|
||||||
|
dimensions: dimensions,
|
||||||
|
params: params
|
||||||
|
})
|
||||||
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
CLASS_NAME: "OpenLayers.Format.WMTSCapabilities"
|
CLASS_NAME: "OpenLayers.Format.WMTSCapabilities"
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ OpenLayers.Layer.WMTS = OpenLayers.Class(OpenLayers.Layer.Grid, {
|
|||||||
*
|
*
|
||||||
* Matrix properties:
|
* Matrix properties:
|
||||||
* identifier - {String} The matrix identifier (required).
|
* identifier - {String} The matrix identifier (required).
|
||||||
|
* scaleDenominator - {Number} The matrix scale denominator.
|
||||||
* topLeftCorner - {<OpenLayers.LonLat>} The top left corner of the
|
* topLeftCorner - {<OpenLayers.LonLat>} The top left corner of the
|
||||||
* matrix. Must be provided if different than the layer <tileOrigin>.
|
* matrix. Must be provided if different than the layer <tileOrigin>.
|
||||||
* tileWidth - {Number} The tile width for the matrix. Must be provided
|
* tileWidth - {Number} The tile width for the matrix. Must be provided
|
||||||
|
|||||||
@@ -140,7 +140,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function test_createLayer(t) {
|
function test_createLayer(t) {
|
||||||
t.plan(7);
|
t.plan(27);
|
||||||
|
|
||||||
var format = new OpenLayers.Format.WMTSCapabilities();
|
var format = new OpenLayers.Format.WMTSCapabilities();
|
||||||
|
|
||||||
@@ -152,9 +152,8 @@
|
|||||||
|
|
||||||
var success = true;
|
var success = true;
|
||||||
try {
|
try {
|
||||||
// incomplete config (missing matrixSet)
|
// incomplete config (missing layer)
|
||||||
layer = format.createLayer(caps, {
|
layer = format.createLayer(caps, {
|
||||||
layer: "coastlines"
|
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
success = false;
|
success = false;
|
||||||
@@ -162,18 +161,26 @@
|
|||||||
t.ok(!success, "createLayer throws error if provided incomplete layer config");
|
t.ok(!success, "createLayer throws error if provided incomplete layer config");
|
||||||
|
|
||||||
// bogus layer identifier
|
// bogus layer identifier
|
||||||
layer = format.createLayer(caps, {
|
try {
|
||||||
layer: "foo",
|
layer = format.createLayer(caps, {
|
||||||
matrixSet: "BigWorld"
|
layer: "foo",
|
||||||
});
|
matrixSet: "BigWorld"
|
||||||
t.eq(layer, undefined, "createLayer returns undefined given bad layer identifier");
|
});
|
||||||
|
} catch (err) {
|
||||||
|
success = false;
|
||||||
|
}
|
||||||
|
t.ok(!success, "createLayer returns undefined given bad layer identifier");
|
||||||
|
|
||||||
// bogus matrixSet identifier
|
// bogus matrixSet identifier
|
||||||
layer = format.createLayer(caps, {
|
try {
|
||||||
layer: "coastlines",
|
layer = format.createLayer(caps, {
|
||||||
matrixSet: "TheWorld"
|
layer: "coastlines",
|
||||||
});
|
matrixSet: "TheWorld"
|
||||||
t.eq(layer, undefined, "createLayer returns undefined given bad matrixSet identifier");
|
});
|
||||||
|
} catch (err) {
|
||||||
|
success = false;
|
||||||
|
}
|
||||||
|
t.ok(!success, "createLayer returns undefined given bad matrixSet identifier");
|
||||||
|
|
||||||
layer = format.createLayer(caps, {
|
layer = format.createLayer(caps, {
|
||||||
layer: "coastlines",
|
layer: "coastlines",
|
||||||
@@ -181,11 +188,73 @@
|
|||||||
});
|
});
|
||||||
t.ok(layer instanceof OpenLayers.Layer.WMTS, "correct instance");
|
t.ok(layer instanceof OpenLayers.Layer.WMTS, "correct instance");
|
||||||
|
|
||||||
|
// autodetect matrixSet
|
||||||
|
layer = format.createLayer(caps, {
|
||||||
|
layer: "coastlines"
|
||||||
|
});
|
||||||
|
t.ok(layer instanceof OpenLayers.Layer.WMTS, "correct instance, with autodetected matrixSet");
|
||||||
|
|
||||||
t.eq(layer.matrixIds.length, 2, "correct matrixIds length");
|
t.eq(layer.matrixIds.length, 2, "correct matrixIds length");
|
||||||
t.eq(layer.name, "Coastlines", "correct layer title");
|
t.eq(layer.name, "Coastlines", "correct layer title");
|
||||||
t.eq(layer.style, "DarkBlue", "correct style identifier");
|
t.eq(layer.style, "DarkBlue", "correct style identifier");
|
||||||
|
t.eq(layer.requestEncoding, "KVP", "correct requestEncoding");
|
||||||
|
|
||||||
|
xml = document.getElementById("restsample").firstChild.nodeValue;
|
||||||
|
doc = new OpenLayers.Format.XML().read(xml);
|
||||||
|
caps = format.read(doc);
|
||||||
|
layer = format.createLayer(caps, {
|
||||||
|
layer: "ch.are.agglomerationen_isolierte_staedte-2000",
|
||||||
|
matrixSet: "21781"
|
||||||
|
});
|
||||||
|
t.ok(layer instanceof OpenLayers.Layer.WMTS, "correct instance");
|
||||||
|
t.eq(layer.url, "http://wmts.geo.admin.ch/1.0.0/ch.are.agglomerationen_isolierte_staedte-2000/default/{Time}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png", "correct url");
|
||||||
|
t.eq(layer.matrixIds.length, 3, "correct matrixIds length");
|
||||||
|
t.eq(layer.requestEncoding, "REST", "correct requestEncoding");
|
||||||
|
t.eq(layer.name, "Agglomérations et villes isolées", "correct layer title");
|
||||||
|
t.eq(layer.style, "ch.are.agglomerationen_isolierte_staedte-2000", "correct style identifier");
|
||||||
|
t.eq(layer.projection.getCode(), "EPSG:21781", "correct projection");
|
||||||
|
t.eq(layer.units, "m", "correct untis");
|
||||||
|
t.eq(layer.resolutions.length, 3, "correct resolutions length");
|
||||||
|
t.ok((layer.resolutions[0] - 4000) < 1, "correct first resolution");
|
||||||
|
t.eq(layer.dimensions.length, 1, "correct dimensions length");
|
||||||
|
t.eq(layer.dimensions[0], "Time", "correct dimensions");
|
||||||
|
t.eq(layer.params['TIME'], "20090101", "correct params");
|
||||||
|
|
||||||
|
layer = format.createLayer(caps, {
|
||||||
|
layer: "ch.are.agglomerationen_isolierte_staedte-2000",
|
||||||
|
style: "toto",
|
||||||
|
params: {"Time": "2012"}
|
||||||
|
});
|
||||||
|
t.eq(layer.matrixIds.length, 3, "correct matrixIds length");
|
||||||
|
t.eq(layer.style, "toto", "correct style identifier");
|
||||||
|
t.eq(layer.dimensions.length, 1, "correct dimensions length");
|
||||||
|
t.eq(layer.dimensions[0], "Time", "correct dimensions");
|
||||||
|
t.eq(layer.params['TIME'], "2012", "correct params");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function test_parse_projection(t) {
|
||||||
|
t.plan(2);
|
||||||
|
|
||||||
|
var format = new OpenLayers.Format.WMTSCapabilities();
|
||||||
|
|
||||||
|
var xml = document.getElementById("restsample-alternate-proj1").firstChild.nodeValue;
|
||||||
|
var doc = new OpenLayers.Format.XML().read(xml);
|
||||||
|
var caps = format.read(doc);
|
||||||
|
var layer = format.createLayer(caps, {
|
||||||
|
layer: "ch.are.agglomerationen_isolierte_staedte-2000",
|
||||||
|
matrixSet: "21781"
|
||||||
|
});
|
||||||
|
t.eq(layer.projection.getCode(), "EPSG:21781", "correct projection");
|
||||||
|
|
||||||
|
xml = document.getElementById("restsample-alternate-proj2").firstChild.nodeValue;
|
||||||
|
doc = new OpenLayers.Format.XML().read(xml);
|
||||||
|
caps = format.read(doc);
|
||||||
|
layer = format.createLayer(caps, {
|
||||||
|
layer: "ch.are.agglomerationen_isolierte_staedte-2000",
|
||||||
|
matrixSet: "21781"
|
||||||
|
});
|
||||||
|
t.eq(layer.projection.getCode(), "EPSG:21781", "correct projection");
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -354,5 +423,284 @@ http://schemas.opengis.net/wmts/1.0/examples/wmtsGetCapabilities_response.xml
|
|||||||
</Themes>
|
</Themes>
|
||||||
</Capabilities>
|
</Capabilities>
|
||||||
--></div>
|
--></div>
|
||||||
|
|
||||||
|
<div id="restsample"><!--
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd" version="1.0.0">
|
||||||
|
<ows:ServiceIdentification>
|
||||||
|
<ows:Title>Federal Geodata Infrastructure of Switzerland</ows:Title>
|
||||||
|
<ows:Abstract>Some Geodata are subject to license and fees</ows:Abstract>
|
||||||
|
<ows:Keywords>
|
||||||
|
<ows:Keyword>FGDI</ows:Keyword>
|
||||||
|
<ows:Keyword>Pixelkarte</ows:Keyword>
|
||||||
|
<ows:Keyword>Switzerland</ows:Keyword>
|
||||||
|
</ows:Keywords>
|
||||||
|
<ows:ServiceType>OGC WMTS</ows:ServiceType>
|
||||||
|
<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
|
||||||
|
<ows:Fees>yes</ows:Fees>
|
||||||
|
<ows:AccessConstraints>license</ows:AccessConstraints>
|
||||||
|
</ows:ServiceIdentification>
|
||||||
|
<ows:ServiceProvider>
|
||||||
|
<ows:ProviderName>swisstopo</ows:ProviderName>
|
||||||
|
<ows:ProviderSite xlink:href="http://www.swisstopo.admin.ch"/>
|
||||||
|
<ows:ServiceContact>
|
||||||
|
<ows:IndividualName>David Oesch</ows:IndividualName>
|
||||||
|
<ows:PositionName></ows:PositionName>
|
||||||
|
<ows:ContactInfo>
|
||||||
|
<ows:Phone>
|
||||||
|
<ows:Voice>+41 (0)31 / 963 21 11</ows:Voice>
|
||||||
|
<ows:Facsimile>+41 (0)31 / 963 24 59</ows:Facsimile>
|
||||||
|
</ows:Phone>
|
||||||
|
<ows:Address>
|
||||||
|
<ows:DeliveryPoint>swisstopo</ows:DeliveryPoint>
|
||||||
|
<ows:City>Bern</ows:City>
|
||||||
|
<ows:AdministrativeArea>BE</ows:AdministrativeArea>
|
||||||
|
<ows:PostalCode>3084</ows:PostalCode>
|
||||||
|
<ows:Country>Switzerland</ows:Country>
|
||||||
|
<ows:ElectronicMailAddress/>
|
||||||
|
</ows:Address>
|
||||||
|
</ows:ContactInfo>
|
||||||
|
</ows:ServiceContact>
|
||||||
|
</ows:ServiceProvider>
|
||||||
|
<ows:OperationsMetadata>
|
||||||
|
<ows:Operation name="GetCapabilities">
|
||||||
|
<ows:DCP>
|
||||||
|
<ows:HTTP>
|
||||||
|
<ows:Get xlink:href="http://wmts.geo.admin.ch/1.0.0/WMTSCapabilities.xml">
|
||||||
|
<ows:Constraint name="GetEncoding">
|
||||||
|
<ows:AllowedValues>
|
||||||
|
<ows:Value>REST</ows:Value>
|
||||||
|
</ows:AllowedValues>
|
||||||
|
</ows:Constraint>
|
||||||
|
</ows:Get>
|
||||||
|
</ows:HTTP>
|
||||||
|
</ows:DCP>
|
||||||
|
</ows:Operation>
|
||||||
|
<ows:Operation name="GetTile">
|
||||||
|
<ows:DCP>
|
||||||
|
<ows:HTTP>
|
||||||
|
<ows:Get xlink:href="http://wmts.geo.admin.ch/">
|
||||||
|
<ows:Constraint name="GetEncoding">
|
||||||
|
<ows:AllowedValues>
|
||||||
|
<ows:Value>REST</ows:Value>
|
||||||
|
</ows:AllowedValues>
|
||||||
|
</ows:Constraint>
|
||||||
|
</ows:Get>
|
||||||
|
</ows:HTTP>
|
||||||
|
</ows:DCP>
|
||||||
|
</ows:Operation>
|
||||||
|
</ows:OperationsMetadata>
|
||||||
|
<Contents>
|
||||||
|
<Layer>
|
||||||
|
<ows:Title>Agglomérations et villes isolées</ows:Title>
|
||||||
|
<ows:Abstract>Les agglomérations et villes isolées (communes non rattachées à une agglomération et comptant au moins 10`000 habitants) font partie des régions d’analyse de la statistique suisse. Ce niveau géographique est défini depuis plus de 100 ans, afin de mesurer l’urbanisation, phénomène fondamental structurant l’organisation du territoire. Sa fonction principale est de permettre une comparaison spatiale entre des espaces urbains inégalement délimités sur le plan institutionnel. Une version ancienne est appliquée pour la première fois en 1930, puis révisée en 1984 et 1990, toujours sur la base des recensements de la population. La version actuelle classe les 2896 communes de Suisse (état 2000) selon leur appartenance ou pas à une agglomération ou ville isolée en fonction de critères statistiques (Etat et évolution de la population, lien de continuité de la zone bâtie, rapport entre population active occupée et population résidante, structure économique et flux de pendulaires). Les agglomérations et les villes isolées forment l`espace urbain, les territoires restant l`espace rural. La définition des agglomérations de l’OFS n’a pas valeur d’obligation légale.</ows:Abstract>
|
||||||
|
<ows:WGS84BoundingBox>
|
||||||
|
<ows:LowerCorner>5.140242 45.398181</ows:LowerCorner>
|
||||||
|
<ows:UpperCorner>11.47757 48.230651</ows:UpperCorner>
|
||||||
|
</ows:WGS84BoundingBox>
|
||||||
|
<ows:Identifier>ch.are.agglomerationen_isolierte_staedte-2000</ows:Identifier>
|
||||||
|
<ows:Metadata xlink:href="http://www.swisstopo.admin.ch/SITiled/world/AdminBoundaries/metadata.htm"/>
|
||||||
|
<Style>
|
||||||
|
<ows:Title>Agglomérations et villes isolées</ows:Title>
|
||||||
|
<ows:Identifier>ch.are.agglomerationen_isolierte_staedte-2000</ows:Identifier>
|
||||||
|
<LegendURL format="image/png" xlink:href="http://api.geo.admin.ch/legend/ch.are.agglomerationen_isolierte_staedte-2000_fr.png" />
|
||||||
|
</Style>
|
||||||
|
<Format>image/png</Format>
|
||||||
|
<Dimension>
|
||||||
|
<ows:Identifier>Time</ows:Identifier>
|
||||||
|
<Default>20090101</Default>
|
||||||
|
<Value>20090101</Value>
|
||||||
|
</Dimension>
|
||||||
|
<TileMatrixSetLink>
|
||||||
|
<TileMatrixSet>21781</TileMatrixSet>
|
||||||
|
</TileMatrixSetLink>
|
||||||
|
<ResourceURL format="image/png" resourceType="tile" template="http://wmts.geo.admin.ch/1.0.0/ch.are.agglomerationen_isolierte_staedte-2000/default/{Time}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"/>
|
||||||
|
</Layer>
|
||||||
|
<TileMatrixSet>
|
||||||
|
<ows:Identifier>21781</ows:Identifier>
|
||||||
|
<ows:SupportedCRS>urn:ogc:def:crs:EPSG::21781</ows:SupportedCRS>
|
||||||
|
<TileMatrix>
|
||||||
|
<ows:Identifier>0</ows:Identifier>
|
||||||
|
<ScaleDenominator>14285750.5715</ScaleDenominator>
|
||||||
|
<TopLeftCorner>420000.0 350000.0</TopLeftCorner>
|
||||||
|
<TileWidth>256</TileWidth>
|
||||||
|
<TileHeight>256</TileHeight>
|
||||||
|
<MatrixWidth>1</MatrixWidth>
|
||||||
|
<MatrixHeight>1</MatrixHeight>
|
||||||
|
</TileMatrix>
|
||||||
|
<TileMatrix>
|
||||||
|
<ows:Identifier>8</ows:Identifier>
|
||||||
|
<ScaleDenominator>7142875.28575</ScaleDenominator>
|
||||||
|
<TopLeftCorner>420000.0 350000.0</TopLeftCorner>
|
||||||
|
<TileWidth>256</TileWidth>
|
||||||
|
<TileHeight>256</TileHeight>
|
||||||
|
<MatrixWidth>1</MatrixWidth>
|
||||||
|
<MatrixHeight>1</MatrixHeight>
|
||||||
|
</TileMatrix>
|
||||||
|
<TileMatrix>
|
||||||
|
<ows:Identifier>12</ows:Identifier>
|
||||||
|
<ScaleDenominator>3571437.64288</ScaleDenominator>
|
||||||
|
<TopLeftCorner>420000.0 350000.0</TopLeftCorner>
|
||||||
|
<TileWidth>256</TileWidth>
|
||||||
|
<TileHeight>256</TileHeight>
|
||||||
|
<MatrixWidth>2</MatrixWidth>
|
||||||
|
<MatrixHeight>2</MatrixHeight>
|
||||||
|
</TileMatrix>
|
||||||
|
</TileMatrixSet>
|
||||||
|
</Contents>
|
||||||
|
<ServiceMetadataURL xlink:href="http://www.opengis.uab.es/SITiled/world/1.0.0/WMTSCapabilities.xml"/>
|
||||||
|
</Capabilities>
|
||||||
|
--></div>
|
||||||
|
|
||||||
|
<div id="restsample-alternate-proj1"><!--
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd" version="1.0.0">
|
||||||
|
<ows:OperationsMetadata>
|
||||||
|
<ows:Operation name="GetCapabilities">
|
||||||
|
<ows:DCP>
|
||||||
|
<ows:HTTP>
|
||||||
|
<ows:Get xlink:href="http://wmts.geo.admin.ch/1.0.0/WMTSCapabilities.xml">
|
||||||
|
<ows:Constraint name="GetEncoding">
|
||||||
|
<ows:AllowedValues>
|
||||||
|
<ows:Value>REST</ows:Value>
|
||||||
|
</ows:AllowedValues>
|
||||||
|
</ows:Constraint>
|
||||||
|
</ows:Get>
|
||||||
|
</ows:HTTP>
|
||||||
|
</ows:DCP>
|
||||||
|
</ows:Operation>
|
||||||
|
<ows:Operation name="GetTile">
|
||||||
|
<ows:DCP>
|
||||||
|
<ows:HTTP>
|
||||||
|
<ows:Get xlink:href="http://wmts.geo.admin.ch/">
|
||||||
|
<ows:Constraint name="GetEncoding">
|
||||||
|
<ows:AllowedValues>
|
||||||
|
<ows:Value>REST</ows:Value>
|
||||||
|
</ows:AllowedValues>
|
||||||
|
</ows:Constraint>
|
||||||
|
</ows:Get>
|
||||||
|
</ows:HTTP>
|
||||||
|
</ows:DCP>
|
||||||
|
</ows:Operation>
|
||||||
|
</ows:OperationsMetadata>
|
||||||
|
<Contents>
|
||||||
|
<Layer>
|
||||||
|
<ows:Title>Agglomérations et villes isolées</ows:Title>
|
||||||
|
<ows:Abstract>Les agglomérations et villes isolées (communes non rattachées à une agglomération et comptant au moins 10`000 habitants) font partie des régions d’analyse de la statistique suisse. Ce niveau géographique est défini depuis plus de 100 ans, afin de mesurer l’urbanisation, phénomène fondamental structurant l’organisation du territoire. Sa fonction principale est de permettre une comparaison spatiale entre des espaces urbains inégalement délimités sur le plan institutionnel. Une version ancienne est appliquée pour la première fois en 1930, puis révisée en 1984 et 1990, toujours sur la base des recensements de la population. La version actuelle classe les 2896 communes de Suisse (état 2000) selon leur appartenance ou pas à une agglomération ou ville isolée en fonction de critères statistiques (Etat et évolution de la population, lien de continuité de la zone bâtie, rapport entre population active occupée et population résidante, structure économique et flux de pendulaires). Les agglomérations et les villes isolées forment l`espace urbain, les territoires restant l`espace rural. La définition des agglomérations de l’OFS n’a pas valeur d’obligation légale.</ows:Abstract>
|
||||||
|
<ows:WGS84BoundingBox>
|
||||||
|
<ows:LowerCorner>5.140242 45.398181</ows:LowerCorner>
|
||||||
|
<ows:UpperCorner>11.47757 48.230651</ows:UpperCorner>
|
||||||
|
</ows:WGS84BoundingBox>
|
||||||
|
<ows:Identifier>ch.are.agglomerationen_isolierte_staedte-2000</ows:Identifier>
|
||||||
|
<ows:Metadata xlink:href="http://www.swisstopo.admin.ch/SITiled/world/AdminBoundaries/metadata.htm"/>
|
||||||
|
<Style>
|
||||||
|
<ows:Title>Agglomérations et villes isolées</ows:Title>
|
||||||
|
<ows:Identifier>ch.are.agglomerationen_isolierte_staedte-2000</ows:Identifier>
|
||||||
|
<LegendURL format="image/png" xlink:href="http://api.geo.admin.ch/legend/ch.are.agglomerationen_isolierte_staedte-2000_fr.png" />
|
||||||
|
</Style>
|
||||||
|
<Format>image/png</Format>
|
||||||
|
<Dimension>
|
||||||
|
<ows:Identifier>Time</ows:Identifier>
|
||||||
|
<Default>20090101</Default>
|
||||||
|
<Value>20090101</Value>
|
||||||
|
</Dimension>
|
||||||
|
<TileMatrixSetLink>
|
||||||
|
<TileMatrixSet>21781</TileMatrixSet>
|
||||||
|
</TileMatrixSetLink>
|
||||||
|
<ResourceURL format="image/png" resourceType="tile" template="http://wmts.geo.admin.ch/1.0.0/ch.are.agglomerationen_isolierte_staedte-2000/default/{Time}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"/>
|
||||||
|
</Layer>
|
||||||
|
<TileMatrixSet>
|
||||||
|
<ows:Identifier>21781</ows:Identifier>
|
||||||
|
<ows:SupportedCRS>urn:ogc:def:crs:EPSG:21781</ows:SupportedCRS>
|
||||||
|
<TileMatrix>
|
||||||
|
<ows:Identifier>0</ows:Identifier>
|
||||||
|
<ScaleDenominator>14285750.5715</ScaleDenominator>
|
||||||
|
<TopLeftCorner>420000.0 350000.0</TopLeftCorner>
|
||||||
|
<TileWidth>256</TileWidth>
|
||||||
|
<TileHeight>256</TileHeight>
|
||||||
|
<MatrixWidth>1</MatrixWidth>
|
||||||
|
<MatrixHeight>1</MatrixHeight>
|
||||||
|
</TileMatrix>
|
||||||
|
</TileMatrixSet>
|
||||||
|
</Contents>
|
||||||
|
<ServiceMetadataURL xlink:href="http://www.opengis.uab.es/SITiled/world/1.0.0/WMTSCapabilities.xml"/>
|
||||||
|
</Capabilities>
|
||||||
|
--></div>
|
||||||
|
|
||||||
|
<div id="restsample-alternate-proj2"><!--
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd" version="1.0.0">
|
||||||
|
<ows:OperationsMetadata>
|
||||||
|
<ows:Operation name="GetCapabilities">
|
||||||
|
<ows:DCP>
|
||||||
|
<ows:HTTP>
|
||||||
|
<ows:Get xlink:href="http://wmts.geo.admin.ch/1.0.0/WMTSCapabilities.xml">
|
||||||
|
<ows:Constraint name="GetEncoding">
|
||||||
|
<ows:AllowedValues>
|
||||||
|
<ows:Value>REST</ows:Value>
|
||||||
|
</ows:AllowedValues>
|
||||||
|
</ows:Constraint>
|
||||||
|
</ows:Get>
|
||||||
|
</ows:HTTP>
|
||||||
|
</ows:DCP>
|
||||||
|
</ows:Operation>
|
||||||
|
<ows:Operation name="GetTile">
|
||||||
|
<ows:DCP>
|
||||||
|
<ows:HTTP>
|
||||||
|
<ows:Get xlink:href="http://wmts.geo.admin.ch/">
|
||||||
|
<ows:Constraint name="GetEncoding">
|
||||||
|
<ows:AllowedValues>
|
||||||
|
<ows:Value>REST</ows:Value>
|
||||||
|
</ows:AllowedValues>
|
||||||
|
</ows:Constraint>
|
||||||
|
</ows:Get>
|
||||||
|
</ows:HTTP>
|
||||||
|
</ows:DCP>
|
||||||
|
</ows:Operation>
|
||||||
|
</ows:OperationsMetadata>
|
||||||
|
<Contents>
|
||||||
|
<Layer>
|
||||||
|
<ows:Title>Agglomérations et villes isolées</ows:Title>
|
||||||
|
<ows:Abstract>Les agglomérations et villes isolées (communes non rattachées à une agglomération et comptant au moins 10`000 habitants) font partie des régions d’analyse de la statistique suisse. Ce niveau géographique est défini depuis plus de 100 ans, afin de mesurer l’urbanisation, phénomène fondamental structurant l’organisation du territoire. Sa fonction principale est de permettre une comparaison spatiale entre des espaces urbains inégalement délimités sur le plan institutionnel. Une version ancienne est appliquée pour la première fois en 1930, puis révisée en 1984 et 1990, toujours sur la base des recensements de la population. La version actuelle classe les 2896 communes de Suisse (état 2000) selon leur appartenance ou pas à une agglomération ou ville isolée en fonction de critères statistiques (Etat et évolution de la population, lien de continuité de la zone bâtie, rapport entre population active occupée et population résidante, structure économique et flux de pendulaires). Les agglomérations et les villes isolées forment l`espace urbain, les territoires restant l`espace rural. La définition des agglomérations de l’OFS n’a pas valeur d’obligation légale.</ows:Abstract>
|
||||||
|
<ows:WGS84BoundingBox>
|
||||||
|
<ows:LowerCorner>5.140242 45.398181</ows:LowerCorner>
|
||||||
|
<ows:UpperCorner>11.47757 48.230651</ows:UpperCorner>
|
||||||
|
</ows:WGS84BoundingBox>
|
||||||
|
<ows:Identifier>ch.are.agglomerationen_isolierte_staedte-2000</ows:Identifier>
|
||||||
|
<ows:Metadata xlink:href="http://www.swisstopo.admin.ch/SITiled/world/AdminBoundaries/metadata.htm"/>
|
||||||
|
<Style>
|
||||||
|
<ows:Title>Agglomérations et villes isolées</ows:Title>
|
||||||
|
<ows:Identifier>ch.are.agglomerationen_isolierte_staedte-2000</ows:Identifier>
|
||||||
|
<LegendURL format="image/png" xlink:href="http://api.geo.admin.ch/legend/ch.are.agglomerationen_isolierte_staedte-2000_fr.png" />
|
||||||
|
</Style>
|
||||||
|
<Format>image/png</Format>
|
||||||
|
<Dimension>
|
||||||
|
<ows:Identifier>Time</ows:Identifier>
|
||||||
|
<Default>20090101</Default>
|
||||||
|
<Value>20090101</Value>
|
||||||
|
</Dimension>
|
||||||
|
<TileMatrixSetLink>
|
||||||
|
<TileMatrixSet>21781</TileMatrixSet>
|
||||||
|
</TileMatrixSetLink>
|
||||||
|
<ResourceURL format="image/png" resourceType="tile" template="http://wmts.geo.admin.ch/1.0.0/ch.are.agglomerationen_isolierte_staedte-2000/default/{Time}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"/>
|
||||||
|
</Layer>
|
||||||
|
<TileMatrixSet>
|
||||||
|
<ows:Identifier>21781</ows:Identifier>
|
||||||
|
<ows:SupportedCRS>urn:ogc:def:crs:EPSG:1.0:21781</ows:SupportedCRS>
|
||||||
|
<TileMatrix>
|
||||||
|
<ows:Identifier>0</ows:Identifier>
|
||||||
|
<ScaleDenominator>14285750.5715</ScaleDenominator>
|
||||||
|
<TopLeftCorner>420000.0 350000.0</TopLeftCorner>
|
||||||
|
<TileWidth>256</TileWidth>
|
||||||
|
<TileHeight>256</TileHeight>
|
||||||
|
<MatrixWidth>1</MatrixWidth>
|
||||||
|
<MatrixHeight>1</MatrixHeight>
|
||||||
|
</TileMatrix>
|
||||||
|
</TileMatrixSet>
|
||||||
|
</Contents>
|
||||||
|
<ServiceMetadataURL xlink:href="http://www.opengis.uab.es/SITiled/world/1.0.0/WMTSCapabilities.xml"/>
|
||||||
|
</Capabilities>
|
||||||
|
--></div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user