Re: [Portugal] SLD - Estilo em função dos atributos

Pedro Mendes p.m.g.mendes gmail.com
Sábado, 7 de Janeiro de 2012 - 17:10:42 EST


O elemento Size só existe no contexto de um Graphic que, por sua vez, só é
utilizado no PointSymbolizer. Um exemplo com a utilização de expressão
matemática de divisão:

  <PointSymbolizer>
 <Graphic>
  <Mark>
<WellKnownName>triangle</WellKnownName>
 <Fill>
  <CssParameter name="fill">#FFFFFF</CssParameter>
 </Fill>
  </Mark>
  *<Size>*
* <ogc:Div>*
*  <ogc:PropertyName>{atributo}</ogc:PropertyName>*
*  <ogc:Literal>10</ogc:Literal>*
* </ogc:Div>*
*  </Size>*
</Graphic>
  </PointSymbolizer>

Para labeling será necessário utilizar um TextSymbolizer. Penso que para
atingir o mesmo objetivo do Size, neste symbolizer o seguinte será
aplicável:

  <TextSymbolizer>
 <Label>
  aminhalabel
</Label>
 <Font>
  <CssParameter name="font-family">Arial</CssParameter>
*  <CssParameter name="font-size">*
* <ogc:Divl>*
*  <ogc:PropertyName>{atributo}</ogc:PropertyName>*
*  <ogc:Literal>10</ogc:Literal>*
* </ogc:Div>*
*  </CssParameter>*
  <CssParameter name="font-style">Normal</CssParameter>
  <CssParameter name="font-weight">Normal</CssParameter>
</Font>
 ...

Nota: não testei este TextSymbolizer.

Ajuda sempre consultar o schema do SLD para perceber como o styling pode
ser feito. O GeoServer traz incluidos na distro todos schemas com a cujos
os standards estão implementados, entre eles, *
<geoserver_dir>/schemas/filter/1.1.0/filter.xsd* e *
<geoserver_dir>/schemas/sld/StylelayerDescriptor.xsd*.

Esper que ajude.

Mendes.

2012/1/5 Marco Afonso <mafonso333 at gmail.com>

>
> Viva,
>
> Estive a ler na referencia de SLD em
> http://docs.geoserver.org/stable/en/user/styling/sld-reference/index.html,
> bem como o cookbook
> http://docs.geoserver.org/stable/en/user/styling/sld-cookbook/index.html mas
> não encontrei uma solução para a seguinte questão:
>
> Por exemplo, no <PointSimbolizer> é possivel alterar o <Size> em função do
> valor num atributo, ou numa expressão contendo um atributo? Apenas
> encontrei exemplos tendo o Size como valor fixo, mesmo aplicando filtros...
>
> Seria óptimo poder fazer algo como:
>
> <Size>
>
>     <PropertyExpr>
>
>         <PropertyName>{atributo}</PropertyName>
>
>         <Expr>%d/10</Expr>
>
>     </PropertyExpr>
>
> </Size>
>
>
> O tamanho seria igual ao valor do atributo a dividir por 10.
>
> Obrigado.
>
> Marco
>
> _______________________________________________
> Portugal mailing list
> Portugal at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/portugal/attachments/20120107/fc935336/attachment.html


Mais informações acerca da lista Portugal