[Gvsig_usuarios] Símbologia de capa con script

Joaquin Jose del Cerro Murciano jjdelcerro en gvsig.org
Lun Jun 19 18:13:16 CEST 2017


El 19 de junio de 2017, 13:42, Ovidio Ribeira <alboredos en hotmail.es>
escribió:

> Saludos Oscar,  he probado lo que me indicas y no se si lo estoy haciendo
> bien, al llamar a la función con:
>
> gvsig.currentLayer().getcreateLineLegendForParcel() ( no se si esto está
> bien)
>
> me da el siguiente error
>
> AttributeError: 'org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVec'
> object has no attribute 'getcreateLineLegendForParcel' in <script> at line
> number 29ntext.layers.vectorial.FLyrVec' object has no attribute
> 'getcreateLineLegendForParcel'
>


Hola Ovidio,
lo que ha "pegado" aqui Oscar es una funcion, no se trata de un metodo de
ningun objeto, por ese el error.
Entiendo que para usarla seria algo como:

  # Creamos la leyenda llamando a la funcion que la crea
  legend = createLineLegendForParcel()
  # Le asignamos la leyenda a la capa corriente (ojo que debe ser de lineas)
  gvsig.currentLayer().setLegend(legend)

Un saludo
Joaquin



> Gracias,
>
>
>
>
> ------------------------------
> *De:* gvsig_usuarios-bounces en listserv.gva.es <gvsig_usuarios-bounces@
> listserv.gva.es> en nombre de Oscar Martinez <omartinez en gvsig.com>
> *Enviado:* lunes, 19 de junio de 2017 12:00
> *Para:* gvsig_usuarios en listserv.gva.es
> *Asunto:* Re: [Gvsig_usuarios] Símbologia de capa con script
>
>
> Perdón, faltan los imports. A lo mejor falta alguno por poner:
>
>
> from org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl import
> SingleSymbolLegend
> from org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.impl
> import SimpleFillSymbol
> from org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.impl
> import SimpleLineSymbol
> from java.awt import Color
>
>
> El 19/06/2017 a las 11:59, Oscar Martinez escribió:
>
> 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 listgvSIG_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
>
>
>
>
> _______________________________________________
> gvSIG_usuarios mailing listgvSIG_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
>
>
>
> _______________________________________________
> 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
>
>


-- 
--------------------------------------
Joaquin Jose del Cerro Murciano
Development and software arquitecture manager at gvSIG Team
jjdelcerro en gvsig.com
jjdelcerro en gvsig.org
gvSIG Association
www.gvsig.com
www.gvsig.org
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20170619/1813c62a/attachment.html>


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