<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Buenas,</p>
<p><br>
</p>
<p>Son funciones independientes, no son métodos de la capa. Las
legendas se pueden crear desde cero sin necesitar ninguna capa.</p>
<p><br>
</p>
<p>Por ejemplo, una vez tiene la funcion que aparece ahí como
getcreateLineLegendForParcel, que viene a conseguir una leyenda
fija siempre la misma, se puede usar en tu código así:</p>
<p><br>
</p>
<p> legend = createLineLegendForParcel()<br>
gvsig.currentLayer().setLegend(legend)</p>
<p><br>
</p>
<p>La segunda es una función que asigna un color especificado según
el valor de un campo, por eso de que use la capa durante la
generación de la leyenda, las líneas de código en el script es
algo así, siendo unionlayer una capa:</p>
<p><br>
</p>
<p> legend = createRefcatLegendForParcel(unionlayer)<br>
unionlayer.setLegend(legend)</p>
<p><br>
</p>
<p>Recuerdo que en la documentación también aparece un ejemplo de
cómo usar la leyenda por intervalos, en la cual la leyenda se
apoya en un método que tiene .calculateIntervals pasandole el
store de la capa, para sacar un rango de colores con las
divisiones que le marcamos, así el mismo ya hacer los calculos.
Por ejemplo, si tuvieramos un campo que en nuestra capa contiene
valores desde el 0 hasta el 100 y le decimos que queremos cuatro
rangos, pues generaría una leyenda donde distribuye 4 colores
intermedios entre el inicial y el final que le hemos marcado, y
los asigna a los valores correspondientes algo asi como.. [0,24]
Rojo, [24,49] Rojizo, [50,74] Morado, [75,100] Azul<br>
</p>
<p><br>
</p>
<p><a class="moz-txt-link-freetext" href="http://downloads.gvsig.org/download/web/es/build/html/scripting_devel_guide/2.3/leyendas.html">http://downloads.gvsig.org/download/web/es/build/html/scripting_devel_guide/2.3/leyendas.html</a></p>
<p><br>
</p>
<p>Saludos<br>
</p>
<p><br>
</p>
<br>
<div class="moz-cite-prefix">El 19/06/2017 a las 13:42, Ovidio
Ribeira escribió:<br>
</div>
<blockquote type="cite"
cite="mid:AM4PR0202MB280289200E194CA397A07006D7C40@AM4PR0202MB2802.eurprd02.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;"
dir="ltr">
<p>Saludos Oscar, he probado lo que me indicas y no se si lo
estoy haciendo bien, al llamar a la función con:
</p>
<p><span>gvsig.currentLayer().getcreateLineLegendForParcel() (
no se si esto está bien)</span></p>
<p><span>me da el siguiente error</span></p>
<p><span></span></p>
<div>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'</div>
<div>Gracias, </div>
<div><br>
</div>
<p><br>
</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="width: 98%; display: inline-block;">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:
11pt;" face="Calibri, sans-serif" color="#000000"><b>De:</b>
<a class="moz-txt-link-abbreviated" href="mailto:gvsig_usuarios-bounces@listserv.gva.es">gvsig_usuarios-bounces@listserv.gva.es</a>
<a class="moz-txt-link-rfc2396E" href="mailto:gvsig_usuarios-bounces@listserv.gva.es"><gvsig_usuarios-bounces@listserv.gva.es></a> en nombre
de Oscar Martinez <a class="moz-txt-link-rfc2396E" href="mailto:omartinez@gvsig.com"><omartinez@gvsig.com></a><br>
<b>Enviado:</b> lunes, 19 de junio de 2017 12:00<br>
<b>Para:</b> <a class="moz-txt-link-abbreviated" href="mailto:gvsig_usuarios@listserv.gva.es">gvsig_usuarios@listserv.gva.es</a><br>
<b>Asunto:</b> Re: [Gvsig_usuarios] Símbologia de capa con
script</font>
<div> </div>
</div>
<div>
<p>Perdón, faltan los imports. A lo mejor falta alguno por
poner:</p>
<p><br>
</p>
<p>from
org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl
import SingleSymbolLegend<br>
from
org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.impl
import SimpleFillSymbol<br>
from
org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.impl
import SimpleLineSymbol<br>
from java.awt import Color<br>
<br>
</p>
<br>
<div class="moz-cite-prefix">El 19/06/2017 a las 11:59,
Oscar Martinez escribió:<br>
</div>
<blockquote type="cite">
<p>Buenas,</p>
<p><br>
</p>
<p>Te pego dos funciones que hice el otro día para dar
simbologia a una capa de polígonos.</p>
<p><br>
</p>
<p>La primera es para crear un relleno vacio con una línea
única roja. La segunda, es para una simbología por
categorías.</p>
<p><br>
</p>
<p>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.<br>
</p>
<p><br>
</p>
<p>Espero te sirva.</p>
<p>Saludos</p>
<p><br>
</p>
<p>def createLineLegendForParcel():<br>
newcolor = Color(204, 0, 0)<br>
simpleline = SimpleLineSymbol()<br>
simpleline.setLineWidth(3.0)<br>
simpleline.setAlpha(1)<br>
simpleline.setColor(newcolor)<br>
simplesymbol = SimpleFillSymbol()<br>
simplesymbol.setColor(newcolor)<br>
simplesymbol.setHasFill(False)<br>
simplesymbol.setOutline(simpleline)<br>
singlelegend = SingleSymbolLegend(simplesymbol)<br>
return singlelegend<br>
<br>
def createRefcatLegendForParcel(layer,
nameField="localId"):<br>
from
org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl
import VectorialUniqueValueLegend<br>
vuv = VectorialUniqueValueLegend(9)<br>
features = layer.features()<br>
import random<br>
for f in features:<br>
simplesymbol = SimpleFillSymbol()<br>
newcolor = Color(random.randint(0,250),
random.randint(0,250), random.randint(0,250))<br>
simplesymbol.setColor(newcolor)<br>
simplesymbol.setDescription(f.get(nameField))<br>
vuv.addSymbol(str(f.get(nameField)),
simplesymbol)<br>
#Para las vacias<br>
simplesymbol = SimpleFillSymbol()<br>
newcolor = Color(random.randint(0,250),
random.randint(0,250), random.randint(0,250))<br>
simplesymbol.setColor(newcolor)<br>
simplesymbol.setDescription("Sin localId")<br>
vuv.addSymbol("", simplesymbol)<br>
#print vuv.getValues()<br>
vuv.setClassifyingFieldNames([nameField])<br>
return vuv<br>
</p>
<br>
<div class="moz-cite-prefix">El 19/06/2017 a las 11:54,
Ovidio Ribeira escribió:<br>
</div>
<blockquote type="cite">
<div id="divtagdefaultwrapper" style="color: rgb(0, 0,
0); font-family: Calibri,Helvetica,sans-serif;
font-size: 12pt;" dir="ltr">
<p>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.</p>
<p>Saludos</p>
<p><br>
</p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre>_______________________________________________
gvSIG_usuarios mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gvSIG_usuarios@listserv.gva.es" moz-do-not-send="true">gvSIG_usuarios@listserv.gva.es</a>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:
<a class="moz-txt-link-freetext" href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" moz-do-not-send="true">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a>
</pre>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre>_______________________________________________
gvSIG_usuarios mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gvSIG_usuarios@listserv.gva.es" moz-do-not-send="true">gvSIG_usuarios@listserv.gva.es</a>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:
<a class="moz-txt-link-freetext" href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" moz-do-not-send="true">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a>
</pre>
</blockquote>
<br>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
gvSIG_usuarios mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gvSIG_usuarios@listserv.gva.es">gvSIG_usuarios@listserv.gva.es</a>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:
<a class="moz-txt-link-freetext" href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a>
</pre>
</blockquote>
<br>
</body>
</html>