Hi,

I am not sure whether I have found an error in the OpenLayers.Layer.WMS class.

I have a Web Map Service that expects the co-ordinates in one of the following 
projections: EPSG:25832, EPSG:25833, EPSG:31468, EPSG:31469. My map uses 
EPSG:900913. For some reason, the BBOX parameter in the GetMap HTTP request 
always was in EPSG:900913 projection.

When I changed the function getURL in the file Layer/WMS.js to the following, 
it worked perfectly:

    getURL: function (bounds) {
        bounds = this.adjustBounds(bounds);
        bottomleft = new OpenLayers.Pixel(bounds.left, bounds.bottom);
        topright = new OpenLayers.Pixel(bounds.right, bounds.top);

        OpenLayers.Projection.transform(bottomleft, this.map.projection, 
this.projection);
        OpenLayers.Projection.transform(topright, this.map.projection, 
this.projection);                               
        var bounds2 = new OpenLayers.Bounds(bottomleft.x, bottomleft.y, 
topright.x, topright.y);
        
        var imageSize = this.getImageSize();
        var newParams = {};
        // WMS 1.3 introduced axis order
        var reverseAxisOrder = this.reverseAxisOrder();
        newParams.BBOX = this.encodeBBOX ?
            bounds2.toBBOX(null, reverseAxisOrder) :
            bounds2.toArray(reverseAxisOrder);
        newParams.WIDTH = imageSize.w;
        newParams.HEIGHT = imageSize.h;
        var requestString = this.getFullRequestString(newParams);
        return requestString;
    },

I assume, this is not a perfect patch, as I am not very experienced in 
OpenLayers. But I wanted to show it to you anyway for that you at least get an 
idea of what I mean. Maybe, there is another way to achieve the same result, 
but I did not find it.

With the files from http://www.galf-dresden.de/geo/proj4js/lib/, I was able to 
transform the co-ordinates beween the projections.

I would be glad if you could fix this error (if it is one) in one of the 
future versions of OpenLayers.

Best regards,


Jens Lang
_______________________________________________
Dev mailing list
Dev@openlayers.org
http://openlayers.org/mailman/listinfo/dev

Reply via email to