|
||||
[Maplab-dev] [Bug 209] [SECTStudio-Main]Open SLD failed.bugzilla-daemon@www.maptools.org bugzilla-daemon@www.maptools.orgWed, 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. |
MapTools.org -- Hosted by DM Solutions Group |