[Gvsig_usuarios] Símbologia de capa con script
Ovidio Ribeira
alboredos en hotmail.es
Lun Jun 19 13:42:58 CEST 2017
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'
Gracias,
________________________________
De: gvsig_usuarios-bounces en listserv.gva.es <gvsig_usuarios-bounces en 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 list
gvSIG_usuarios en listserv.gva.es<mailto: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
_______________________________________________
gvSIG_usuarios mailing list
gvSIG_usuarios en listserv.gva.es<mailto: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/54f7acd2/attachment.html>
Más información sobre la lista de distribución gvSIG_usuarios