[Gvsig_desarrolladores] Modificación de simbologias en lineas y poligonos

Francisco Puga fpuga en icarto.es
Mie Abr 5 19:45:33 CEST 2017


Hola,

Si te vale mediante scripting (en java sería muy parecido) puedes probar
algo como esto.

print gvsig.currentLayer().getLegend()

Te deja ver la clase de Simbología que tiene tu capa, Intervalos,
SímboloÚnico, etc... A partir de esta clase
<http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.3.0/javadocs/html/org/gvsig/symbology/fmap/mapcontext/rendering/legend/impl/AbstractLegend.html>
puedes ver los métodos de los distintos tipos de leyendas, por ejemplo el
de SingleSymbolLegend
<http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.3.0/javadocs/html/org/gvsig/symbology/fmap/mapcontext/rendering/legend/impl/SingleSymbolLegend.html>
.

Una vez obtienes la leyenda la mayoría de "operaciones" de cambio de estilo
se realizarn a través de los símbolos de la leyenda. Puedes ver el tipo de
símbolo de la leyenda con

print gvsig.currentLayer().getLegend().getDefaultSymbol()

o

print gvsig.currentLayer().getLegend().getSymbol(i) # i es el número de la
feature que quieres ver.

Para cambiar el tamaño de una capa de líneas podrías hacer en general:

gvsig.currentLayer().getLegend().getDefaultSymbol().setLineWidth(5) # Donde
5 será el nuevo tamaño

Si la capa es de polígonos:

gvsig.currentLayer().getLegend().getDefaultSymbol().getOutline().setLineWidth(5)
# Donde 5 será el nuevo tamaño



Para las etiquetas, si la capa no las tiene previamente puedes usar algo
como esto.

# encoding: utf-8

import gvsig
from org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling import
LabelingFactory;

def main(*args):
  layer = gvsig.currentLayer()
  label_strategy = LabelingFactory.createDefaultStrategy(layer)
  label_strategy.setFixedSize(12)
  label_strategy.setUsesFixedSize(True)
  label_strategy.setTextField('Nome')
  layer.setLabelingStrategy(label_strategy)
  layer.setIsLabeled(True)

Si las tiene previamente en lugar de crear un nuevo label_strategy coges el
de la capa con layer.getLabelingStrategy()




El 24 de marzo de 2017, 21:12, Alex Irmel Oviedo Solis <
alleinerwolf en gmail.com> escribió:

> Buenas tardes, necesito mostrar mapas de calles con lineas algo más anchas
> y mostrar los rotulos desde un script o extensión, por favor quisiera que
> me faciliten un ejemplo o con que clases se puede manejar eso, saludos y
> gracias de antemano
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores 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_desarrolladores
>
>


-- 
Francisco Puga
iCarto | Innovación, Cooperación, Cartografía y Territorio S.L.
http://www.icarto.es/

c/ Rafael Alberti nº 13 – 1º D
15008 A Coruña
Galicia (Spain)
+34 881927808

Este correo electrónico contiene información estrictamente confidencial y
es de uso exclusivo del destinatario, quedando prohibida a cualquier otra
persona su revelación, copia, distribución, o el ejercicio de cualquier
acción relativa a su contenido. Si ha recibido este mensaje por error, por
favor conteste a su remitente mediante correo electrónico y proceda a
borrarlo de su sistema.

Sus datos personales serán tratados de forma confidencial y no serán
cedidos a terceros ajenos a ICARTO. En cualquier caso, podrá ejercer los
derecho de oposición, acceso, rectificación y cancelación de acuerdo con lo
establecido en la Ley Orgánica 15/99, de 13 de diciembre, de Protección de
Datos de Carácter Personal dirigiéndose a Innovación, Cooperación,
Cartografía e Territorio, SL. (ICARTO) en la dirección postal a C/ Rafael
Alberti, nº 13, 1ºD, 15.008 – (A Coruña).
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20170405/3f1c75e2/attachment.html>


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