<br><font size=2 face="sans-serif">Daniel,</font>
<br>
<br><font size=2 face="sans-serif">I think I owe you an apology!</font>
<br>
<br><font size=2 face="sans-serif">In your email last week you said:</font>
<br>
<br><tt><font size=2>> Sounds like you may have a layer which uses CONNECTIONTYPE
WMS. This is <br>
> a layer that is actually a connection to a remote WMS service, and
one <br>
> of the things MapServer needs to know in order to build a succesful
<br>
> GetMap request to that remote server is the SRS supported by that
server.<br>
</font></tt>
<br><font size=2 face="sans-serif">I had said that this was not possible.</font>
<br>
<br><font size=2 face="sans-serif">The database team reported that they
suspected that we get the projection error for layers that have been pre-rendered
into rasters. We inspected the code and found that if the layer is
pre-rendered then our custom WMS servlet replaces the layer definition
supplied by our data catalogue database with a hardcoded raster layer.</font>
<br>
<br><font size=2 face="sans-serif">In order to serve up the raster, the
code replaces the DB loaded layer with a new layer with a connection type
of "WMS" - it supplies the URL of our WMS server (i.e. it calls
itself)</font>
<br>
<br><font size=2 face="sans-serif">So my plan to fix this was to update
the code that currently says:</font>
<br>
<br><font size=2 face="sans-serif">FOR EACH layer</font>
<br><font size=2 face="sans-serif"> IF inputdata.projection
<> epsg:27700 // It always is 27700 in our reference
data so the setProjection is never called</font>
<br><font size=2 face="sans-serif"> layer.setProjection
("init=epsg:27700")</font>
<br><font size=2 face="sans-serif"> END IF</font>
<br><font size=2 face="sans-serif"> etc etc</font>
<br><font size=2 face="sans-serif">END FOR</font>
<br>
<br><font size=2 face="sans-serif">Change the above to say:</font>
<br>
<br><font size=2 face="sans-serif">FOR EACH layer</font>
<br><font size=2 face="sans-serif"> IF inputdata.projection
<> epsg:27700 OR inputdata.connectionType = WMS</font>
<br><font size=2 face="sans-serif"> layer.setProjection
("init=epsg:27700")</font>
<br><font size=2 face="sans-serif"> END IF</font>
<br><font size=2 face="sans-serif"> etc etc</font>
<br><font size=2 face="sans-serif">END FOR</font>
<br>
<br><font size=2 face="sans-serif">As you say, if it is mandatory for WMS
connections to have a projection then this makes sense. It means
we can't get our performance savings for raster layers but that is a constraint
and we can make savings elsewhere.</font>
<br>
<br><font size=2 face="sans-serif">Thank you for the advice.</font>
<br>
<br><font size=2 face="sans-serif">Regards</font>
<br><font size=2 face="sans-serif">Simon</font>
<br><font size=3 face="sans-serif"><br>
</font>
<br><font size=3 face="sans-serif"><br>
</font>
<hr><font size=2 face="sans-serif"><br>
<i><br>
</i></font>
<p><font size=2 face="sans-serif"><i>Unless stated otherwise above:<br>
IBM United Kingdom Limited - Registered in England and Wales with number
741598. <br>
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU</i></font>
<p><font size=2 face="sans-serif"><br>
</font><font size=3 face="sans-serif"><br>
</font>
<br>
<br><font size=3 face="sans-serif"><br>
</font>