I'll start off with some background of what I'm trying to do: I want to define SVGs as external graphic in an SLD to use these as PointSymbolizers and LineSymbolizers. Firstly I tried GeoServer and it worked quite fine, the only problem was, that it wasn't rendered very good. So I thought of trying MapServer, but then the problems came...
I'm running the latest ms4w on Windows 2000 with Apache 2.2.8. Here's link to my mapfile: http://sicky.i-networx.de/temp/mapserv/test.map That's the SLD file I let create with the GetStyles request and just changed a color and width to see if it was recognized: http://sicky.i-networx.de/temp/mapserv/test.sld GetStyles document here: http://sicky.i-networx.de/temp/mapserv/GetStyles.txt The important part of the GetCapabilities request is: <UserDefinedSymbolization SupportSLD="1" UserLayer="0" UserStyle="1" RemoteWFS="0"/> (the whole one is located here: http://sicky.i-networx.de/temp/mapserv/GetCapabilities.txt) Since GetStyles is working fine and the wms server supports SLD I don't see a problem there (I searched the net for hours and hours to solve the problem and tried any suggestion..). But when I request a map with an SLD like this: http://localhost:8080/cgi-bin/mapserv.exe?map=/program%20files/ms4w/apps/blp/test.map&REQUEST=getMap&SERVICE=WMS&VERSION=1.1.1&SRS=EPSG:4326&BBOX=3954683.0884047896,5499947.559657593,3954754.5911026173,5499966.522156349&WIDTH=600&HEIGHT=700&LAYERS=Baugrenze,AllgWohngebiete&STYLES=&SLD=http://localhost:8080/test.sld&FORMAT=image/png it just ignores the sld and shows this: http://sicky.i-networx.de/temp/mapserv/sld.png http://localhost:8080/test.sld itself is viewable in the browser without any problems and the names of the layers are mathcing those in the mapfile.... (note: in my mapfile i commented out the style for one layer to see if a style in a mapfile overrides a sld) I played around with this a bit, e.g. naming it 'test.xml', removing 'STYLES=' and so on... but nothing helped :( The I thought of the other method to use SLDs, with SLD_BODY. My request is as follows: http://localhost:8080/cgi-bin/mapserv.exe?map=/program%20files/ms4w/apps/blp/test.map&REQUEST=getMap&SERVICE=WMS&VERSION=1.1.1&SRS=EPSG:4326&BBOX=3954683.0884047896,5499947.559657593,3954754.5911026173,5499966.522156349&LAYERS=Baugrenze,AllgWohngebiete&SLD_BODY=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3CStyledLayerDescriptor+version%3D%221.1.0%22%3E%3CNamedLayer%3E%3CName%3EBaugrenze%3C%2FName%3E%3CUserStyle%3E%3CFeatureTypeStyle%3E%3CRule%3E%3CName%3EBaugrenze%3C%2FName%3E%3CLineSymbolizer%3E%3CStroke%3E%3CCssParameter+name%3D%22stroke%22%3E%23000000%3C%2FCssParameter%3E%3CCssParameter+name%3D%22stroke-opacity%22%3E1.00%3C%2FCssParameter%3E%3CCssParameter+name%3D%22stroke-width%22%3E5%3C%2FCssParameter%3E%3C%2FStroke%3E%3C%2FLineSymbolizer%3E%3C%2FRule%3E%3C%2FFeatureTypeStyle%3E%3C%2FUserStyle%3E%3C%2FNamedLayer%3E%3CNamedLayer%3E%3CName%3EAllgWohngebiete%3C%2FName%3E%3CUserStyle%3E%3CFeatureTypeStyle%3E%3CRule%3E%3CName%3EAllgWohngebiete%3C%2FName%3E%3CLineSymbolizer%3E%3CStroke%3E%3CCssParameter+name%3D%22stroke%22%3E%23ff00ff%3C%2FCssParameter%3E%3CCssParameter+name%3D%22stroke-opacity%22%3E1.00%3C%2FCssParameter%3E%3CCssParameter+name%3D%22stroke-width%22%3E5%3C%2FCssParameter%3E%3C%2FStroke%3E%3C%2FLineSymbolizer%3E%3C%2FRule%3E%3C%2FFeatureTypeStyle%3E%3C%2FUserStyle%3E%3C%2FNamedLayer%3E%3C%2FStyledLayerDescriptor%3E&WIDTH=600&HEIGHT=700&FORMAT=image/png the sld_body part in plain text looks like this: <?xml version="1.0" encoding="UTF-8"?> <StyledLayerDescriptor version="1.1.0"> <NamedLayer> <Name>Baugrenze</Name> <UserStyle><FeatureTypeStyle> <Rule><Name>Baugrenze</Name> <LineSymbolizer> <Stroke> <CssParameter name="stroke">#000000</CssParameter> <CssParameter name="stroke-opacity">1.00</CssParameter> <CssParameter name="stroke-width">5</CssParameter> </Stroke> </LineSymbolizer> </Rule> </FeatureTypeStyle> </UserStyle> </NamedLayer> <NamedLayer> <Name>AllgWohngebiete</Name> <UserStyle> <FeatureTypeStyle> <Rule> <Name>AllgWohngebiete</Name> <LineSymbolizer> <Stroke> <CssParameter name="stroke">#ff00ff</CssParameter> <CssParameter name="stroke-opacity">1.00</CssParameter> <CssParameter name="stroke-width">5</CssParameter> </Stroke> </LineSymbolizer> </Rule> </FeatureTypeStyle> </UserStyle> </NamedLayer> </StyledLayerDescriptor> the result made me happy: http://sicky.i-networx.de/temp/mapserv/sld_body.png at least now i know that my mapserver definately works with SLDs. but this wouldn't be a solution since I really need to define a SLD file because it's gonna be very big. So i really want 'SLD=' to work instead of 'SLD_BODY'. But 'SLD_BODY' doesn't work fine either :( when I try to use an external graphic like in this request: http://localhost:8080/cgi-bin/mapserv.exe?map=/program%20files/ms4w/apps/blp/test.map&REQUEST=getMap&SERVICE=WMS&VERSION=1.1.1&SRS=EPSG:4326&BBOX=3954683.0884047896,5499947.559657593,3954754.5911026173,5499966.522156349&LAYERS=Baugrenze,AllgWohngebiete&SLD_BODY=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3CStyledLayerDescriptor+version%3D%221.1.0%22%3E%3CNamedLayer%3E%3CName%3EBaugrenze%3C%2FName%3E%3CUserStyle%3E%3CFeatureTypeStyle%3E%3CRule%3E%3CName%3EBaugrenze%3C%2FName%3E%3CLineSymbolizer%3E%3CStroke%3E%3CGraphicStroke%3E%3CGraphic%3E%3CExternalGraphic%3E%3COnlineResource+xlink%3Ahref%3D%22http%3A%2F%2Flocalhost%3A8080%2FRsBaugrenze.svg%22%2F%3E%3CFormat%3Eimage%2Fsvg%2Bxml%3C%2FFormat%3E%3C%2FExternalGraphic%3E%3CSize%3E%3Cogc%3ALiteral%3E20%3C%2Fogc%3ALiteral%3E%3C%2FSize%3E%3C%2FGraphic%3E%3C%2FGraphicStroke%3E%3C%2FStroke%3E%3C%2FLineSymbolizer%3E%3C%2FRule%3E%3C%2FFeatureTypeStyle%3E%3C%2FUserStyle%3E%3C%2FNamedLayer%3E%3CNamedLayer%3E%3CName%3EAllgWohngebiete%3C%2FName%3E%3CUserStyle%3E%3CFeatureTypeStyle%3E%3CRule%3E%3CName%3EAllgWohngebiete%3C%2FName%3E%3CLineSymbolizer%3E%3CStroke%3E%3CCssParameter+name%3D%22stroke%22%3E%23ff00ff%3C%2FCssParameter%3E%3CCssParameter+name%3D%22stroke-opacity%22%3E1.00%3C%2FCssParameter%3E%3CCssParameter+name%3D%22stroke-width%22%3E5%3C%2FCssParameter%3E%3C%2FStroke%3E%3C%2FLineSymbolizer%3E%3C%2FRule%3E%3C%2FFeatureTypeStyle%3E%3C%2FUserStyle%3E%3C%2FNamedLayer%3E%3C%2FStyledLayerDescriptor%3E&WIDTH=600&HEIGHT=700&FORMAT=image/png in plain text the sld_body part looks like this: <?xml version="1.0" encoding="UTF-8"?> <StyledLayerDescriptor version="1.1.0"> <NamedLayer> <Name>Baugrenze</Name> <UserStyle> <FeatureTypeStyle> <Rule> <Name>Baugrenze</Name> <LineSymbolizer> <Stroke> <GraphicStroke> <Graphic> <ExternalGraphic> <OnlineResource xlink:href="http://localhost:8080/RsBaugrenze.svg"/> <Format>image/svg</Format> </ExternalGraphic> <Size><ogc:Literal>20</ogc:Literal></Size> </Graphic> </GraphicStroke> </Stroke> </LineSymbolizer> </Rule> </FeatureTypeStyle> </UserStyle> </NamedLayer> <NamedLayer> <Name>AllgWohngebiete</Name> <UserStyle> <FeatureTypeStyle> <Rule> <Name>AllgWohngebiete</Name> <LineSymbolizer> <Stroke> <CssParameter name="stroke">#ff00ff</CssParameter> <CssParameter name="stroke-opacity">1.00</CssParameter> <CssParameter name="stroke-width">5</CssParameter> </Stroke> </LineSymbolizer> </Rule> </FeatureTypeStyle> </UserStyle> </NamedLayer> </StyledLayerDescriptor> http://localhost:8080/RsBaugrenze.svg of course works fine, is available and geoserver had no problem using it as well. but the result is this: http://sicky.i-networx.de/temp/mapserv/sld_body_ext.png So it styles one layer with CSS parameteres but not the other one with an external graphic. To conclude: 1st problem: If I give the request an 'SLD=' it just gets ignored. Why? How can I fix this? 2nd problem: Why gets the external graphic in the SLD gets ignored? I'm pretty new to MapServer/GIS in general and hope I made myself clear and haven't forgotten anything important. If so, please say so and I give you the info which might help me solve this problem. And I hope the german words inside some of the documents don't confuse you. I would be really really happy if somebody could help me. And I would be grateful if this happens fast, since I need to solve this problem fastly because I need it to be solved to get on with my bachelor thesis. Thanks in Advance, Christian. -- View this message in context: http://www.nabble.com/SLD-ignored---External-Graphic-ignored-tp16586209p16586209.html Sent from the Mapserver - User mailing list archive at Nabble.com. _______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
