MapTools.org

[Maplab-dev] [Bug 209] [SECTStudio-Main]Open SLD failed.

bugzilla-daemon@www.maptools.org bugzilla-daemon@www.maptools.org
Wed, 18 Feb 2004 21:45:10 -0500
http://www.maptools.org/bugzilla/show_bug.cgi?id=209

spencer@dmsolutions.ca changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |maplab-
                   |                            |dev@lists.maptools.org
         AssignedTo|maplab-                     |assefa@dmsolutions.ca
                   |dev@lists.maptools.org      |



------- Additional Comments From spencer@dmsolutions.ca  2004-02-18 21:45 -------
ok, there are two things going on here:

1. file_get_contents is only available in a newer version of php than is on
xcalibur.  I have fixed this reference to avoid using the function if it is not
available.

2. apply sld doesn't work.  This has come about because of a change that I asked
Assefa to make :(  Basically, the problem is that when you save an SLD, it puts
the wms_name as the layer name if possible because loadMapContext pre-pends some
text to the layer name.  If we don't use the wms_name then the generated SLD is
no longer valid for the context that it came from.  So now the problem is that
applySLD (at the mapserver level) doesn't check wms_name when applying an SLD.

I've confirmed this by hacking my copy of mapogcsld.c to include checking the
wms_name metadata and it works (sort of ...)

With this in place, there is still one missing element:

* applying a style to a layer should set the type of the layer if possible.  In
the case of studio, we load contexts which get marked as raster types, but this
is often not the case.  When applying an SLD, there seems to be no effect
because the SLD is targeted at a particular layer type (say polygon) but
loadMapContext makes the layer a raster layer ... and nothing happens.

again, I have tried this using my copy and I have made it work.  However, I know
that Assefa had some reservations about what logic should be used to determine
the layer type from the SLD since it is valid to have multiple symbolizers on a
single named layer.  My feeling is that this could follow the existing code
structure which would result in the following logic ... note that this is
culmulative so if you have a line and raster, it would end up as raster.

if line symbolizer, set layer type to line, else leave as is
if polygon symbolizer, set layer type to polygon, else leave as is
if point symbolizer, set layer type to point, else leave as is
if text symbolizer and no other, set layer type to annotation, else leave as is
if raster symbolizer, set layer type to raster else leave as is

Assefa, I am reassigning this to you and attaching my mapogcsld.c to this bug
for your perusal.




------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are on the CC list for the bug, or are watching someone who is.


This archive was generated by Pipermail.