[Spanish] Styled Layer Descriptor (SLD)

J. Parapar listario at gmail.com
Fri May 29 03:21:11 EDT 2009


 Ernesto:

 Si pone SupportSLD="1" es que en teoría soporta SLD, mientras que si
pone SupportSLD="0" es que no lo soporta. Lo que quería decir es que
cuando no lo soporta no siempre incluyen el <UserDefinedSymbolization
...... />

 El que el servidor solo ofrezca un estilo default no quiere decir que
no soporte SLD. Una de las cosas que permiten los servidores SLD es
que tú les indiques el estilo con el que quieres representar una capa.
Eso lo puedes hacer, como te decía PB, indicando la URL del SLD en el
parametro SLD, &sld=http://mi.dominio.com/styles/que-mapa-tan-lindo.sld,
o poniendo el contenido del SLD directamente en el parámetro
SLD_BODY.

 Por ejemplo, en el caso del servidor de la Junta una petición de la
capa superficies_agua usando el estilo por defecto sería:

http://www.juntadeandalucia.es/medioambiente/mapwms/REDIAM_Usos_Suelo_Vegetacion_Andalucia_1999?version=1.1.1&service=WMS&request=GetMap&layers=superficies_agua&format=image/png&SRS=EPSG:23030&WIDTH=1000&HEIGHT=833&STYLES=&FORMAT=image/jpeg&BBOX=60000%2C3980770%2C650000%2C4298580

y una petición indicando el SLD_BODY sería


http://www.juntadeandalucia.es/medioambiente/mapwms/REDIAM_Usos_Suelo_Vegetacion_Andalucia_1999?version=1.1.1&service=WMS&request=GetMap&layers=superficies_agua&format=image/png&SRS=EPSG:23030&WIDTH=1000&HEIGHT=833&STYLES=&FORMAT=image/jpeg&BBOX=60000%2C3980770%2C650000%2C4298580&SLD_BODY=%3CStyledLayerDescriptor%20version%3D%221.0.0%22%20xmlns%3D%22http%3A//www.opengis.net/sld%22%20xmlns%3Agml%3D%22http%3A//www.opengis.net/gml%22%20xmlns%3Aogc%3D%22http%3A//www.opengis.net/ogc%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20xmlns%3Axsi%3D%22http%3A//www.w3.org/2001/XMLSchema-instance%22%20xsi%3AschemaLocation%3D%22http%3A//www.opengis.net/sld%20http%3A//schemas.opengeospatial.net/sld/1.0.0/StyledLayerDescriptor.xsd%22%3E%0A%3CNamedLayer%3E%0A%3CName%3Esuperficies_agua%3C/Name%3E%0A%3CUserStyle%3E%0A%3CFeatureTypeStyle%3E%0A%3CRule%3E%0A%3Cogc%3AFilter%3E%20%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3EDESCRIPCIO%3C/ogc%3APropertyName%3E%3Cogc%3ALiteral%3EEmbalses%20y%20balsas%3C/ogc%3ALiteral%3E%3C/ogc%3APropertyIsEqualTo%3E%3C/ogc%3AFilter%3E%0A%3CPolygonSymbolizer%3E%0A%3CStroke%3E%0A%3CGraphicFill%3E%0A%3CGraphic%3E%0A%3CMark%3E%0A%3CWellKnownName%3Ecircle%3C/WellKnownName%3E%0A%3CStroke%3E%0A%3CCssParameter%20name%3D%22stroke%22%3E%23ff0000%3C/CssParameter%3E%0A%3C/Stroke%3E%0A%3C/Mark%3E%0A%3CSize%3E5%3C/Size%3E%0A%3C/Graphic%3E%0A%3C/GraphicFill%3E%0A%3CCssParameter%20name%3D%22stroke%22%3E%23ff0000%3C/CssParameter%3E%0A%3C/Stroke%3E%0A%3C/PolygonSymbolizer%3E%0A%3C/Rule%3E%0A%3CRule%3E%0A%3Cogc%3AFilter%3E%20%3Cogc%3APropertyIsNotEqualTo%3E%3Cogc%3APropertyName%3EDESCRIPCIO%3C/ogc%3APropertyName%3E%3Cogc%3ALiteral%3EEmbalses%20y%20balsas%3C/ogc%3ALiteral%3E%3C/ogc%3APropertyIsNotEqualTo%3E%3C/ogc%3AFilter%3E%0A%3CPolygonSymbolizer%3E%0A%3CStroke%3E%0A%3CCssParameter%20name%3D%22stroke%22%3E%23000000%3C/CssParameter%3E%0A%3C/Stroke%3E%0A%3C/PolygonSymbolizer%3E%0A%3C/Rule%3E%0A%3C/FeatureTypeStyle%3E%0A%3C/UserStyle%3E%0A%3C/NamedLayer%3E%0A%3C/StyledLayerDescriptor%3E

Haciendo un "URL decode" (http://meyerweb.com/eric/tools/dencoder/)
verás que el SLD que se le indica es lo siguiente:
<StyledLayerDescriptor version="1.0.0"
xmlns="http://www.opengis.net/sld"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/sld
http://schemas.opengeospatial.net/sld/1.0.0/StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>superficies_agua</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<ogc:Filter> <ogc:PropertyIsEqualTo><ogc:PropertyName>DESCRIPCIO</ogc:PropertyName><ogc:Literal>Embalses
y balsas</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter>
<PolygonSymbolizer>
<Stroke>
<GraphicFill>
<Graphic>
<Mark>
<WellKnownName>circle</WellKnownName>
<Stroke>
<CssParameter name="stroke">#ff0000</CssParameter>
</Stroke>
</Mark>
<Size>5</Size>
</Graphic>
</GraphicFill>
<CssParameter name="stroke">#ff0000</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<ogc:Filter> <ogc:PropertyIsNotEqualTo><ogc:PropertyName>DESCRIPCIO</ogc:PropertyName><ogc:Literal>Embalses
y balsas</ogc:Literal></ogc:PropertyIsNotEqualTo></ogc:Filter>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>

Lo que hace es dibujar en rojo los objetos cuyo campo DESCRIPCIO tiene el valor
"Embalses y balsas" y en negro el resto.

Sobre como construir los SLD ya te han dado algunas indicaciones. Yo
no te puedo decir mucho de como aplicar estilos SLD personalizados
desde clientes como uDIG o gvSIG

 Saludos
 Jorge

El día 28 de mayo de 2009 23:17, Ernesto Murcia <bv2musae en uco.es> escribió:
> J. Parapar escribió:
>>
>>  Ernesto:
>>
>>  Una manera de saber si un servidor WMS concreto soporta SLD es hacer
>> una petición de GetCapabilites. Por ejemplo si haces:
>>
>> http://www.juntadeandalucia.es/medioambiente/mapwms/REDIAM_Usos_Suelo_Vegetacion_Andalucia_1999?REQUEST=GetCapabilities&SERVICE=WMS&version=1.1.1
>>
>> verás una línea como la siguiente:
>> <UserDefinedSymbolization SupportSLD="1" UserLayer="0" UserStyle="1"
>> RemoteWFS="0"/>
>>
>> No tengo claro si cuando el servidor no soporta SLD debe incluir  un
>> UserDefinedSymbolization con SupportSLD="0". En la práctica, he mirado
>> algunos servidores como el de Catastro o el de SIGPAC y no incluyen
>> esa información.
>>
>>  Saludos
>>  Jorge
>>
>>
>
> Poco a poco me voy enterando. Yo tampoco tengo claro si cuando soporta SLD
> tiene que poner "0" o "1". Para el caso concreto del enlace de la junta de
> andalucía deduzco que no por lo que incluye en la línea de estilo de los
> layers (incluye sólo el estilo "por defecto" (default)), ¿no?:
>
> <Style>
>         <Name>default</Name>
>         <Title>default</Title>
>         <LegendURL width="24" height="20">
>            <Format>image/png</Format>
>            <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
> xlink:type="simple"
> xlink:href="http://www.juntadeandalucia.es/medioambiente/mapwms/REDIAM_Usos_Suelo_Vegetacion_Andalucia_1999?version=1.1.1&amp;service=WMS&amp;request=GetLegendGraphic&amp;layer=superficies_agua&amp;format=image/png"/>
>         </LegendURL>
> </Style>
>
>
>
>
> _______________________________________________
> Spanish mailing list
> Spanish en lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/spanish
>


More information about the Spanish mailing list