[Gvsig_usuarios] Símbologia de capa con script

Oscar Martinez omartinez en gvsig.com
Lun Jun 19 11:59:37 CEST 2017


Buenas,


Te pego dos funciones que hice el otro día para dar simbologia a una 
capa de polígonos.


La primera es para crear un relleno vacio con una línea única roja. La 
segunda, es para una simbología por categorías.


Por ejemplo, una de las cosas que quería añadir era que al crear la simb 
por categorías en vez de sacar colores random se asegurara (o cogiera de 
una lista predeterminada) colores que se distingan entre ellos y sean 
buenos para una visualización.


Espero te sirva.

Saludos


def createLineLegendForParcel():
         newcolor = Color(204, 0, 0)
         simpleline = SimpleLineSymbol()
         simpleline.setLineWidth(3.0)
         simpleline.setAlpha(1)
         simpleline.setColor(newcolor)
         simplesymbol = SimpleFillSymbol()
         simplesymbol.setColor(newcolor)
         simplesymbol.setHasFill(False)
         simplesymbol.setOutline(simpleline)
         singlelegend = SingleSymbolLegend(simplesymbol)
         return singlelegend

def createRefcatLegendForParcel(layer, nameField="localId"):
         from org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl 
import VectorialUniqueValueLegend
         vuv = VectorialUniqueValueLegend(9)
         features = layer.features()
         import random
         for f in features:
             simplesymbol = SimpleFillSymbol()
             newcolor = Color(random.randint(0,250), 
random.randint(0,250), random.randint(0,250))
             simplesymbol.setColor(newcolor)
             simplesymbol.setDescription(f.get(nameField))
             vuv.addSymbol(str(f.get(nameField)), simplesymbol)
         #Para las vacias
         simplesymbol = SimpleFillSymbol()
         newcolor = Color(random.randint(0,250), random.randint(0,250), 
random.randint(0,250))
         simplesymbol.setColor(newcolor)
         simplesymbol.setDescription("Sin localId")
         vuv.addSymbol("", simplesymbol)
         #print vuv.getValues()
         vuv.setClassifyingFieldNames([nameField])
         return vuv


El 19/06/2017 a las 11:54, Ovidio Ribeira escribió:
>
> Buenos dias, necesito ayuda para cambiar la simbología de unha capa de 
> polígonos (color de línea y relleno) a través de un script, gracias 
> anticipadas.
>
> Saludos
>
>
>
>
> _______________________________________________
> gvSIG_usuarios mailing list
> gvSIG_usuarios en listserv.gva.es
>
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:
>
> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20170619/b1e7f2e8/attachment.html>


Más información sobre la lista de distribución gvSIG_usuarios