Ticket #762: encodeBBOX.2.patch
| File encodeBBOX.2.patch, 9.7 kB (added by crschmidt, 1 year ago) |
|---|
-
tests/Tile/test_Image.html
old new 64 64 SERVICE: "WMS", VERSION: "1.1.1", 65 65 REQUEST: "GetMap", STYLES: "", 66 66 EXCEPTIONS: "application/vnd.ogc.se_inimage", FORMAT: "image/jpeg", 67 SRS: "EPSG:4326", BBOX: "1,2,3,4",67 SRS: "EPSG:4326", BBOX: [1,2,3,4], 68 68 WIDTH: String(size.w), HEIGHT: String(size.h) 69 69 }; 70 70 t.eq( img.src, … … 86 86 var size = new OpenLayers.Size(5,6); 87 87 var map = new OpenLayers.Map('map'); 88 88 var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS", 89 "http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'}, {reproject:false });89 "http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'}, {reproject:false, encodeBBOX: true}); 90 90 map.addLayer(layer); 91 91 tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-185,-90,-180,90), url, size); 92 92 tile.draw() -
tests/BaseTypes/test_Bounds.html
old new 60 60 bounds = new OpenLayers.Bounds(1,2,3,4); 61 61 t.eq( bounds.toString(), "left-bottom=(1,2) right-top=(3,4)", "toString() returns correct value." ); 62 62 } 63 function test_Bounds_toArray(t) { 64 t.plan( 1 ); 65 bounds = new OpenLayers.Bounds(1,2,3,4); 66 t.eq( bounds.toArray(), [1,2,3,4], "toArray() returns correct value." ); 67 } 63 68 64 69 function test_04_Bounds_contains(t) { 65 70 t.plan( 6 ); -
tests/Layer/test_WrapDateLine.html
old new 127 127 t.plan( 3 ); 128 128 129 129 var url = "http://octo.metacarta.com/cgi-bin/mapserv"; 130 layer = new OpenLayers.Layer.WMS(name, url, params, {'wrapDateLine':true });130 layer = new OpenLayers.Layer.WMS(name, url, params, {'wrapDateLine':true,encodeBBOX:true}); 131 131 var m = new OpenLayers.Map('map'); 132 132 m.addLayer(layer); 133 133 m.zoomToMaxExtent(); … … 159 159 {layers: "bathymetry,land_fn,park,drain_fn,drainage," + 160 160 "prov_bound,fedlimit,rail,road,popplace", 161 161 transparent: "true", format: "image/png"}, 162 {wrapDateLine: true, reproject: false });162 {wrapDateLine: true, reproject: false,encodeBBOX:true}); 163 163 var m = new OpenLayers.Map('map'); 164 164 m.addLayers([baselayer,layer]); 165 165 m.zoomToMaxExtent(); -
tests/Layer/test_WFS.html
old new 28 28 t.eq(setSize, true, "Renderer resize called on map size change."); 29 29 30 30 } 31 function test_Layer_WFS_drawmap(t) { 32 t.plan(2); 33 map = new OpenLayers.Map('map'); 34 layer = new OpenLayers.Layer.WMS( "OpenLayers WMS", 35 "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} ); 36 map.addLayer(layer); 37 38 layer = new OpenLayers.Layer.WFS( "Owl Survey", 39 "http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?", 40 {typename: "OWLS", maxfeatures: 10}, 41 { featureClass: OpenLayers.Feature.WFS}); 42 map.addLayer(layer); 43 map.addControl(new OpenLayers.Control.LayerSwitcher()); 44 try { 45 map.setCenter(new OpenLayers.LonLat(-100, 60), 3); 46 } catch (Exception) { 47 } 48 t.eq(layer.tile.url, "http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?typename=OWLS&maxfeatures=10&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A4326&BBOX=-187.890625,-36.6796875,-12.109375,156.6796875", "Tile URL is set correctly when not encoded"); 49 map = new OpenLayers.Map('map'); 50 layer = new OpenLayers.Layer.WMS( "OpenLayers WMS", 51 "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} 52 ); 53 map.addLayer(layer); 54 55 layer = new OpenLayers.Layer.WFS( "Owl Survey", 56 "http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?", 57 {typename: "OWLS", maxfeatures: 10}, 58 { featureClass: OpenLayers.Feature.WFS, 'encodeBBOX': true}); 59 map.addLayer(layer); 60 map.addControl(new OpenLayers.Control.LayerSwitcher()); 61 try { 62 map.setCenter(new OpenLayers.LonLat(-100, 60), 3); 63 } catch (Exception) { 64 } 65 t.eq(layer.tile.url, "http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?typename=OWLS&maxfeatures=10&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A4326&BBOX=-187.890625%2C-36.679687%2C-12.109375%2C156.679688", "Tile URL is set correctly when not encoded"); 66 } 67 31 68 // --> 32 69 </script> 33 70 </head> -
tests/Layer/test_WMS.html
old new 70 70 SERVICE: "WMS", VERSION: "1.1.1", 71 71 REQUEST: "GetMap", STYLES: "", 72 72 EXCEPTIONS: "application/vnd.ogc.se_inimage", 73 SRS: "EPSG:4326", BBOX: [1,2,3,4], 74 WIDTH: "256", HEIGHT: "256" 75 }); 76 t.eq( img.src, 77 url + "?" + OpenLayers.Util.getParameterString(tParams), 78 "image src is created correctly via addtile" ); 79 t.eq( tile.frame.style.top, "6px", "image top is set correctly via addtile" ); 80 t.eq( tile.frame.style.left, "5px", "image top is set correctly via addtile" ); 81 82 var firstChild = layer.div.firstChild.firstChild; 83 if (!isMozilla) 84 t.ok( true, "skipping element test outside of Mozilla"); 85 else 86 t.ok( firstChild instanceof HTMLElement, "div first child is an image object" ); 87 t.eq( firstChild.src, 88 url + "?" + OpenLayers.Util.getParameterString(tParams), 89 "div first child is correct image object" ); 90 t.eq( tile.position.toString(), "x=5,y=6", "Position of tile is set correctly." ); 91 map.destroy(); 92 } 93 94 function test_Layer_WMS_bboxEncoding (t) { 95 t.plan( 6 ); 96 97 var url = "http://octo.metacarta.com/cgi-bin/mapserv"; 98 layer = new OpenLayers.Layer.WMS(name, url, params, {encodeBBOX:true}); 99 var map = new OpenLayers.Map('map'); 100 map.addLayer(layer); 101 var pixel = new OpenLayers.Pixel(5,6); 102 var tile = layer.addTile(new OpenLayers.Bounds(1,2,3,4), pixel); 103 tile.draw(); 104 105 var img = tile.imgDiv; 106 var tParams = OpenLayers.Util.extend({}, 107 OpenLayers.Util.upperCaseObject(params)); 108 tParams = OpenLayers.Util.extend(tParams, { 109 SERVICE: "WMS", VERSION: "1.1.1", 110 REQUEST: "GetMap", STYLES: "", 111 EXCEPTIONS: "application/vnd.ogc.se_inimage", 73 112 SRS: "EPSG:4326", BBOX: "1,2,3,4", 74 113 WIDTH: "256", HEIGHT: "256" 75 114 }); -
lib/OpenLayers/BaseTypes/Bounds.js
old new 99 99 + " right-top=(" + this.right + "," + this.top + ")" ); 100 100 }, 101 101 102 /** 103 * APIMethod: toArray 104 * 105 * Return: 106 * {Array} array of left, bottom, right, top 107 */ 108 toArray: function() { 109 return [this.left, this.bottom, this.right, this.top]; 110 }, 111 102 112 /** 103 113 * APIMethod: toBBOX 104 114 * -
lib/OpenLayers/Layer/WMS.js
old new 43 43 * {Boolean} Default is true for WMS layer 44 44 */ 45 45 isBaseLayer: true, 46 47 /** 48 * APIProperty: encodeBBOX 49 * {Boolean} Should the BBOX commas be encoded? The WMS spec says 'no', 50 * but some services want it that way. Default false. 51 */ 52 encodeBBOX: false, 46 53 47 54 /** 48 55 * Constructor: OpenLayers.Layer.WMS … … 146 153 147 154 var imageSize = this.getImageSize(); 148 155 return this.getFullRequestString( 149 {BBOX: bounds.toBBOX(),156 {BBOX: this.encodeBBOX ? bounds.toBBOX() : bounds.toArray(), 150 157 WIDTH:imageSize.w, 151 158 HEIGHT:imageSize.h}); 152 159 }, -
lib/OpenLayers/Layer/WFS.js
old new 51 51 * {Boolean} Should be calculated automatically. 52 52 */ 53 53 vectorMode: true, 54 55 /** 56 * APIProperty: encodeBBOX 57 * {Boolean} Should the BBOX commas be encoded? The WMS spec says 'no', 58 * but some services want it that way. Default false. 59 */ 60 encodeBBOX: false, 54 61 55 62 /** 56 63 * Constructor: OpenLayers.Layer.WFS … … 196 203 //formulate request url string 197 204 var url = this.getFullRequestString(); 198 205 199 var params = { BBOX:tileBounds.toBBOX() }; 206 var params = {BBOX: this.encodeBBOX ? tileBounds.toBBOX() 207 : tileBounds.toArray()}; 200 208 url += "&" + OpenLayers.Util.getParameterString(params); 201 209 202 210 if (!this.tile) {
