Closed trafficonese closed 6 years ago
@trafficonese the geosapi upload method works well, but it seems Geoserver has an issue with its style (old) API dealing with SLD version 1.1.0. You may want to contact Geoserver user list for this issue, but they may probably advise you to switch to the new API (not yet supported in geosapi).
As quick workaround, you may change the version in the SLD xml root, from 1.1.0
to 1.0.0
, Geoserver will not alter the content of your style.
Let me know if it works for you
Thank you for the fast reply. Changing the version to 1.0.0 did almost work. The sld looks more correct, only the Stroke parameters are skipped and so all lines are colored in gray. Why is that happening?
Thats the resulting xml:
<?xml version="1.0" encoding="UTF-8"?>
<sld:StyledLayerDescriptor xmlns:sld="http://www.opengis.net/sld" xmlns="http://www.opengis.net/sld" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" version="1.0.0">
<sld:NamedLayer>
<sld:Name>fcd_analyse:day130718</sld:Name>
<sld:UserStyle>
<sld:Name>fcd_analyse:day130718</sld:Name>
<sld:FeatureTypeStyle>
<sld:Name>name</sld:Name>
<sld:Rule>
<sld:Name>60 - 100</sld:Name>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>60</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>100</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<sld:LineSymbolizer>
<sld:Stroke />
</sld:LineSymbolizer>
</sld:Rule>
<sld:Rule>
<sld:Name>100 - 200</sld:Name>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>100</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>200</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<sld:LineSymbolizer>
<sld:Stroke />
</sld:LineSymbolizer>
</sld:Rule>
<sld:Rule>
<sld:Name>200 - 300</sld:Name>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>200</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>300</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<sld:LineSymbolizer>
<sld:Stroke />
</sld:LineSymbolizer>
</sld:Rule>
<sld:Rule>
<sld:Name>300 - 400</sld:Name>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>300</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>400</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<sld:LineSymbolizer>
<sld:Stroke />
</sld:LineSymbolizer>
</sld:Rule>
<sld:Rule>
<sld:Name>400 - 480</sld:Name>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>400</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>480</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<sld:LineSymbolizer>
<sld:Stroke />
</sld:LineSymbolizer>
</sld:Rule>
</sld:FeatureTypeStyle>
</sld:UserStyle>
</sld:NamedLayer>
</sld:StyledLayerDescriptor>
By removing se:
, the Description
tag and by changing SvgParameter
to CssParameter
the resulting sld.file looks correct.
But when trying to do that with update I am still getting the wrong sld.file
Yes indeed these parameters belong to sld spec 1.1.0. Great if it work
Le mer. 8 août 2018 13:42, trafficonese notifications@github.com a écrit :
By removing se:, the Description tag and by changing SvgParameter to CssParameter the resulting sld.file looks correct.
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/eblondel/geosapi/issues/29#issuecomment-411377088, or mute the thread https://github.com/notifications/unsubscribe-auth/ABQ1bNv-renHTt53R--s8aF1_Redyq6vks5uOs6PgaJpZM4VzeAL .
Can you try to run create and update operations with this style? Here both operations worked:
<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"
xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
xmlns="http://www.opengis.net/sld"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- a named layer is the basic building block of an sld document -->
<NamedLayer>
<Name>fcd_analysld:day130718</Name>
<UserStyle>
<Name>fcd_analysld:day130718</Name>
<FeatureTypeStyle>
<Rule>
<Name> 60 - 100 </Name>
<Description>
<Title> 60 - 100 </Title>
</Description>
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:And>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>60</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>100</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#d7191c</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
<CssParameter name="stroke-linejoin">bevel</CssParameter>
<CssParameter name="stroke-linecap">square</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
<Rule>
<Name> 100 - 200 </Name>
<Description>
<Title> 100 - 200 </Title>
</Description>
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>100</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>200</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#fdae61</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
<CssParameter name="stroke-linejoin">bevel</CssParameter>
<CssParameter name="stroke-linecap">square</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
<Rule>
<Name> 200 - 300 </Name>
<Description>
<Title> 200 - 300 </Title>
</Description>
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>200</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>300</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#ffffc0</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
<CssParameter name="stroke-linejoin">bevel</CssParameter>
<CssParameter name="stroke-linecap">square</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
<Rule>
<Name> 300 - 400 </Name>
<Description>
<Title> 300 - 400 </Title>
</Description>
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>300</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>400</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#a6d96a</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
<CssParameter name="stroke-linejoin">bevel</CssParameter>
<CssParameter name="stroke-linecap">square</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
<Rule>
<Name> 400 - 480 </Name>
<Description>
<Title> 400 - 480 </Title>
</Description>
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>400</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>480</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#1a9641</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
<CssParameter name="stroke-linejoin">bevel</CssParameter>
<CssParameter name="stroke-linecap">square</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Both (create & update) operations work with this style.
Look at the changes they are few.. i removed the 'se' namespace declaration and the modifications you mentioned. If you created the SLD files with some map style editor see if you can select SLD 1.0 instead.. If your task is solved youcan close this ticket. Best regards, Emmanuel
I am trying to upload a bunch of styles to the geoserver and followed the description from here .
I tried to upload the style as a .sld file and with some xml as sldBody.
In both cases the style on the geoserver looks like this:
<?xml version="1.0" encoding="UTF-8"?><sld:StyledLayerDescriptor xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:se="http://www.opengis.net/se" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:sld="http://www.opengis.net/sld">org.geotools.styling.StyledLayerDescriptorImpl@767735dc</sld:StyledLayerDescriptor>
Although it is an xml, it doesnt seem to be valid. I am getting these erros:
And the whole style-logic of the .sld file does not appear in the geoserver. This should be the uploaded style:
Geoserver-Version: 2.12.1 geosapi-Version: 0.2-0