[Commits] r2690 - in core/trunk/geoext: lib/GeoExt/data tests/lib/GeoExt/data
commits at geoext.org
commits at geoext.org
Mon May 16 08:59:42 CEST 2011
Author: elemoine
Date: 2011-05-16 08:59:41 +0200 (Mon, 16 May 2011)
New Revision: 2690
Modified:
core/trunk/geoext/lib/GeoExt/data/PrintProvider.js
core/trunk/geoext/tests/lib/GeoExt/data/PrintProvider.html
Log:
add WMTS support to PrintProvider, p=cmoullet, r=me (closes #422)
Modified: core/trunk/geoext/lib/GeoExt/data/PrintProvider.js
===================================================================
--- core/trunk/geoext/lib/GeoExt/data/PrintProvider.js 2011-05-16 06:57:23 UTC (rev 2689)
+++ core/trunk/geoext/lib/GeoExt/data/PrintProvider.js 2011-05-16 06:59:41 UTC (rev 2690)
@@ -636,6 +636,25 @@
resolutions: layer.serverResolutions || layer.resolutions
});
},
+ "WMTS": function(layer) {
+ var enc = this.encoders.layers.HTTPRequest.call(this, layer);
+ return Ext.apply(enc, {
+ type: 'WMTS',
+ layer: layer.layer,
+ version: layer.version,
+ requestEncoding: layer.requestEncoding,
+ tileOrigin: [layer.tileOrigin.lon, layer.tileOrigin.lat],
+ tileSize: [layer.tileSize.w, layer.tileSize.h],
+ style: layer.style,
+ formatSuffix: layer.formatSuffix,
+ dimensions: layer.dimensions,
+ params: layer.params,
+ maxExtent: (layer.tileFullExtent != null) ? layer.tileFullExtent.toArray() : layer.maxExtent.toArray(),
+ matrixSet: layer.matrixSet,
+ zoomOffset: layer.zoomOffset,
+ resolutions: layer.serverResolutions || layer.resolutions
+ });
+ },
"KaMapCache": function(layer) {
var enc = this.encoders.layers.KaMap.call(this, layer);
return Ext.apply(enc, {
Modified: core/trunk/geoext/tests/lib/GeoExt/data/PrintProvider.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/data/PrintProvider.html 2011-05-16 06:57:23 UTC (rev 2689)
+++ core/trunk/geoext/tests/lib/GeoExt/data/PrintProvider.html 2011-05-16 06:59:41 UTC (rev 2690)
@@ -16,7 +16,7 @@
var origRequest = Ext.Ajax.request;
Ext.Ajax.request = function(req) {
req.success.call(req.scope, {responseText: Ext.encode(printCapabilities)});
- }
+ };
var printProvider = new GeoExt.data.PrintProvider({
url: "PrintProvider",
autoLoad: true,
@@ -164,7 +164,26 @@
{layers: "tasmania", transparent: true}, {
displayInLayerSwitcher: false,
isBaseLayer: false
- })
+ }),
+ new OpenLayers.Layer.WMTS({
+ layer: "ch.swisstopo.pixelkarte-farbe",
+ name: "Pixelkarte - WMTS",
+ url: ['http://wmts0.geo.admin.ch/','http://wmts1.geo.admin.ch/'],
+ maxExtent: new OpenLayers.Bounds(420000, 30000, 900000, 350000),
+ matrixIds: null,
+ matrixSet: "21781",
+ format: "image/jpeg",
+ opacity: 1.0,
+ isBaseLayer: false,
+ requestEncoding: "REST",
+ style: "default" ,
+ dimensions: ['TIME'],
+ params: {'time': '20110314'},
+ zoomOffset: 14,
+ serverResolutions: [4000,3750,3500,3250,3000,2750,2500,2250,2000,1750,1500,
+ 1250,1000,750,650,500,250,100,50,20,10,5,2.5,2,1.5,1,0.5],
+ formatSuffix: 'jpeg' // because we are not using .jpg
+ })
];
map.addLayers(layers);
@@ -202,17 +221,17 @@
Ext.isIE = true;
window.open = function() {
t.fail("window open should not be called since beforedownload returns false");
- }
+ };
req.success.call(req.scope, {
responseText: '{"getURL":"foo"}'
});
Ext.isIE = _isIE;
window.open = _open;
- }
+ };
printProvider.print(map, [printPage], {overview: overview, legend: legend});
Ext.Ajax.request = origRequest;
- var expect = {"units":"degrees","srs":"EPSG:4326","layout":"A4 portrait","dpi":75,"layers":[{"baseURL":"http://demo.opengeo.org/geoserver/wms","opacity":1,"singleTile":false,"type":"WMS","layers":["topp:tasmania_state_boundaries","topp:tasmania_water_bodies"],"format":"image/gif","styles":[""],"customParams":{"VENDORFOO":"bar", "map_resolution": 150}},{"baseURL":"http://tile.openstreetmap.org/","type":"OSM","opacity":1,"singleTile":false,"maxExtent":map.layers[1].maxExtent.toArray(),"tileSize":[256,256],"resolutions":map.layers[1].resolutions,"extension":"png",layer:undefined},{"baseURL":"http://c0.labs.metacarta.com/wms-c/cache/","opacity":1,"singleTile":false,"type":"TileCache","layer":"basic","maxExtent":[-180,-90,180,90],"tileSize":[256,256],"extension":"png","resolutions":[0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.0006866455078125,0.00034332275390625,0.000171661376953125,0.0000858306884765625,0.00004291534423828125,0.000021457672119140625]},{"baseURL":"http://labs.metacarta.com/wms-c/Basic.py/","type":"TMS","opacity":1,"singleTile":false,"extension":undefined,layer:"basic","maxExtent":[-180,-90,180,90],"tileSize":[256,256],"resolutions":[1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.0006866455078125,0.00034332275390625,0.000171661376953125,0.0000858306884765625,0.00004291534423828125],format:"png"},{"type":"Image","baseURL":"http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif","opacity":1,"extent":[-180,-88.759,180,88.759],"pixelSize":[580,288],"name":"image"},{"type":"Vector","styles":{"1":{"fillColor":"#ee9900","fillOpacity":0.4,"hoverFillColor":"white","hoverFillOpacity":0.8,"strokeColor":"#ee9900","strokeOpacity":1,"strokeWidth":1,"strokeLinecap":"round","strokeDashstyle":"solid","hoverStrokeColor":"red","hoverStrokeOpacity":1,"hoverStrokeWidth":0.2,"pointRadius":6,"hoverPointRadius":1,"hoverPointUnit":"%","pointerEvents":"visiblePainted","cursor":"inherit"}},"styleProperty":"_gx_style","geoJson":{"type":"FeatureCollection","features":[{"type":"Feature","id":"f1","properties":{"_gx_style":1},"geometry":{"type":"Point","coordinates":[1,2]}}]},"name":"vector","opacity":1}],"pages":[{"mapTitle":"foo","comment":"bar","center":[1,2],"scale":4000000,"rotation":0}],"customParam":"foo","legends":[{"name":"tilecache","classes":[{"name":"","icon":"http://trac.geoext.org/chrome/site/img/GeoExt.png"}]},{"name":"wms","classes":[{"name":"","icons":["http://demo.opengeo.org/geoserver/wms?VENDORFOO=bar&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetLegendGraphic&EXCEPTIONS=application%2Fvnd.ogc.se_xml&LAYER=topp%3Atasmania_state_boundaries&SCALE=55367980.3125&FORMAT=image%2Fgif","http://demo.opengeo.org/geoserver/wms?VENDORFOO=bar&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetLegendGraphic&EXCEPTIONS=application%2Fvnd.ogc.se_xml&LAYER=topp%3Atasmania_water_bodies&SCALE=55367980.3125&FORMAT=image%2Fgif"]}]}],"overviewLayers":[{"baseURL":"http://foo/","format":"image/jpeg",layers:["mylayer"],"opacity":1,"singleTile":false,styles:[""],type:"WMS", "customParams": {"map_resolution": 150}}]};
+ var expect = {"units":"degrees","srs":"EPSG:4326","layout":"A4 portrait","dpi":75,"layers":[{"baseURL":"http://demo.opengeo.org/geoserver/wms","opacity":1,"singleTile":false,"type":"WMS","layers":["topp:tasmania_state_boundaries","topp:tasmania_water_bodies"],"format":"image/gif","styles":[""],"customParams":{"VENDORFOO":"bar", "map_resolution": 150}},{"baseURL":"http://tile.openstreetmap.org/","type":"OSM","opacity":1,"singleTile":false,"maxExtent":map.layers[1].maxExtent.toArray(),"tileSize":[256,256],"resolutions":map.layers[1].resolutions,"extension":"png",layer:undefined},{"baseURL":"http://c0.labs.metacarta.com/wms-c/cache/","opacity":1,"singleTile":false,"type":"TileCache","layer":"basic","maxExtent":[-180,-90,180,90],"tileSize":[256,256],"extension":"png","resolutions":[0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.0006866455078125,0.00034332275390625,0.000171661376953125,0.0000858306884765625,0.00004291534423828125,0.000021457672119140625]},{"baseURL":"http://labs.metacarta.com/wms-c/Basic.py/","type":"TMS","opacity":1,"singleTile":false,"extension":undefined,layer:"basic","maxExtent":[-180,-90,180,90],"tileSize":[256,256],"resolutions":[1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.0006866455078125,0.00034332275390625,0.000171661376953125,0.0000858306884765625,0.00004291534423828125],format:"png"},{"type":"Image","baseURL":"http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif","opacity":1,"extent":[-180,-88.759,180,88.759],"pixelSize":[580,288],"name":"image"},{"type":"Vector","styles":{"1":{"fillColor":"#ee9900","fillOpacity":0.4,"hoverFillColor":"white","hoverFillOpacity":0.8,"strokeColor":"#ee9900","strokeOpacity":1,"strokeWidth":1,"strokeLinecap":"round","strokeDashstyle":"solid","hoverStrokeColor":"red","hoverStrokeOpacity":1,"hoverStrokeWidth":0.2,"pointRadius":6,"hoverPointRadius":1,"hoverPointUnit":"%","pointerEvents":"visiblePainted","cursor":"inherit"}},"styleProperty":"_gx_style","geoJson":{"type":"FeatureCollection","features":[{"type":"Feature","id":"f1","properties":{"_gx_style":1},"geometry":{"type":"Point","coordinates":[1,2]}}]},"name":"vector","opacity":1},{baseURL:"http://wmts0.geo.admin.ch/", opacity:1, singleTile:false, type:"WMTS", layer:"ch.swisstopo.pixelkarte-farbe", version:"1.0.0", requestEncoding:"REST", tileOrigin:[420000, 350000], tileSize:[256, 256], style:"default", formatSuffix:"jpeg", dimensions:["TIME"], params:{TIME:"20110314"}, maxExtent:[420000, 30000, 900000, 350000], matrixSet:"21781", zoomOffset:14, resolutions:[4000, 3750, 3500, 3250, 3000, 2750, 2500, 2250, 2000, 1750, 1500, 1250, 1000, 750, 650, 500, 250, 100, 50, 20, 10, 5, 2.5, 2, 1.5, 1, 0.5]}],"pages":[{"mapTitle":"foo","comment":"bar","center":[1,2],"scale":4000000,"rotation":0}],"customParam":"foo","legends":[{"name":"tilecache","classes":[{"name":"","icon":"http://trac.geoext.org/chrome/site/img/GeoExt.png"}]},{"name":"wms","classes":[{"name":"","icons":["http://demo.opengeo.org/geoserver/wms?VENDORFOO=bar&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetLegendGraphic&EXCEPTIONS=application%2Fvnd.ogc.se_xml&LAYER=topp%3Atasmania_state_boundaries&SCALE=55367980.3125&FORMAT=image%2Fgif","http://demo.opengeo.org/geoserver/wms?VENDORFOO=bar&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetLegendGraphic&EXCEPTIONS=application%2Fvnd.ogc.se_xml&LAYER=topp%3Atasmania_water_bodies&SCALE=55367980.3125&FORMAT=image%2Fgif"]}]}],"overviewLayers":[{"baseURL":"http://foo/","format":"image/jpeg",layers:["mylayer"],"opacity":1,"singleTile":false,styles:[""],type:"WMS", "customParams": {"map_resolution": 150}}]};
t.eq(log.request.jsonData, expect, "Request with encoded layers and legend is correct.");
@@ -254,7 +273,7 @@
var origRequest = Ext.Ajax.request;
Ext.Ajax.request = function(req) {
log.request = req;
- }
+ };
printProvider.print(map, [printPage]);
Ext.Ajax.request = origRequest;
More information about the Commits
mailing list