[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