Hi all,
I was hoping to get some advice on how to handle the axis ordering issue of wms 1.3. I have a partial approach that seems to work but i have no idea if it is a good one :). And a disclaimer that I have not throughly tested it.
So the first thing I did was update the wms kvp parsing so that the SRS (CRS in wms 1.3) parameter has the explicit EPSG namespace. So basically replacing “EPSG” → “urn:x-ogc:def.crs:EPSG”. Doing that however let to an exception in the WrappingProjectionHandler class that lives in the geotools render module.
Examining that code I found that it calculates the radius of the earth and assumes a longitude/latitude axis ordering. So I played around with a quick hack to basically first check the axis order of the rendering areas envelope crs, and calculate accordingly. And it seemed to work. By flipping the order of coordinates in the BBOX parameter the map rendered properly.
To do the axis order check i basically stole code from GML2EncodingUtils.axisOrder, and shifted it to the CRS class from referencing. And then basically updated WrappingProjectionHandler to use it. See the attached (rough) patch.
So I guess my primary question is whether or not this approach is a good one or not, and if not what a better alternative is.
Thanks!
-Justin
–
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.
(attachments)
axisorder.patch (4.05 KB)