reported by Bart
just spent half of my day finding out why an SLD with external graphics did not work anymore with 5.0, something like:
<PointSymbolizer?><Geometry><PropertyName?>msGeometry</PropertyName></Geometry><Graphic><ExternalGraphic?><OnlineResource? '.
'xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="'.$this->externalgraphic.'"/><Format>GIF</Format>'.
'</ExternalGraphic><Size>1.0</Size></Graphic></PointSymbolizer></Rule>
I used a PointSymbolizer? with Size 1 and this results in something like:
STYLE
ANGLE 360
COLOR 0 0 0
SIZE 1
SYMBOL "....."
END
In Mapserver 4.10 this used to draw the symbol in its native size/dimension, but in 5.0 this does not work anymore, i.e. I do not see anything in the map.
If I change Size to 17 (the size in pixels of the image used), the SLD works fine again.
Was this change intentional? Anyways, I guess this should be documented in the migration guide :-) ?
Something additional, Mapserver does not comply with the SLD spec if you omit the Size in the SLD. The SLD 1.0 spec says:
"The default size of an image format (such as GIF) is the inherent size of the image."
but Mapserver seems to use a default of 6 pixels ...
if (psSize && psSize->psChild && psSize->psChild->pszValue)
psStyle->size = atoi(psSize->psChild->pszValue);
else
psStyle->size = 6; /* defualt value */