[Gvsig_desarrolladores] importar una leyenda que está en fichero gvsleg
Joaquin Jose del Cerro Murciano
jjdelcerro en gvsig.org
Jue Oct 8 12:17:52 CEST 2015
El 8 de octubre de 2015, 9:42, Ana Calle <nico200307 en gmail.com> escribió:
> hola a todos,
> estoy intentando cargar sobre una capa, una leyenda que tengo guardada en
> fichero 'gvsleg' (version 2.2), No se si esto es posible.
> Con versiones anteriores cargábamos leyendas tipo *.gvl ya que se trataba
> de un fichero xml
> (algo como LegendFactory.createFromXML(new XMLEntity(XmlTag));)
>
> ¿alguien puede aportar alguna pista sobre cómo se procederÃa con el actual
> formato de fichero?
>
>
Hola Ana,
te pego un pequeño script que carga una leyenda y la asigna a la capa
activa.
No esta en java pero es fácil de probar y creo que se entiende bastante
bien.
#-----------------------------><---------------------------------><-----------------------
from gvsig import *
from java.io import File
from org.gvsig.fmap.mapcontext import MapContextLocator
from org.gvsig.fmap.geom import Geometry
def main(*args):
layer = currentLayer()
if layer == None:
msgbox("Debera seleccionar una capa para ejecutar este script.")
return
# Fichero donde se encuentra la legenda a cargar
# Cambiar la ruta para adaptarla a donde haya un fichero gvsleg en el
equipo.
f =
File("/home/jjdelcerro/datos/geodata/vector/shp2d/world_4326/country-l.gvsleg")
# Lo primero conseguimos el reader de la legenda de tipo "gvsleg"
mapContextManager = MapContextLocator.getMapContextManager()
legendreader = mapContextManager.createLegendReader("gvsleg")
# Cargamos la legenda
legend = legendreader.read(f,Geometry.TYPES.GEOMETRY)
# Y se la aplicamos a la capa activa
layer.setLegend(legend)
#-----------------------------><---------------------------------><-----------------------
Lo que no deberÃas hacer nunca es intentar leer e interpretar el fichero
gvsleg, ya que el formato de este puede sufrir algún cambio de una versión
a otra y dejarÃa de irte tu código.
La otra cosa que tienes que tener en cuenta que no todas las leyendas se
pueden aplicar a todas las capas, ya que estas pueden ser dependientes del
tipo de geometrÃa y la estructura de la tabla.
Espero que te sirva.
Si tienes alguna duda pregunta, cuando tenga un ratito intento contestar.
Un saludo
Joaquin
> Muchas gracias de antemano
> Saludos
>
> Ana
>
> _______________________________________________
> 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:
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
>
--
--------------------------------------
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_desarrolladores/attachments/20151008/9d49c0ce/attachment.htm
Más información sobre la lista de distribución gvSIG_desarrolladores