[Gvsig_desarrolladores] Establecer propiedades de capas

Montes Cámara, Victor victor.montes en alicante-ayto.es
Mar Oct 22 10:52:03 CEST 2019


Muchas gracias Óscar, 

Funciona muy bien. Ahora me falta el color del borde en las capa de tipo polígono. 

Un saludo, 
Víctor Montes. 

----- Mensaje original -----

De: "Óscar Martínez" <omartinez en gvsig.com> 
Para: "gvsig desarrolladores" <gvsig_desarrolladores en listserv.gva.es> 
Enviados: Lunes, 21 de Octubre 2019 14:22:16 
Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas 



Buenas, 

Voy a irte respondiendo en varios emails a los diferentes casos que planteas. 

Para el caso de cambiar el color de la capa: En gvSIG la capa no lleva directamente aplicado un color, sino que cada capa lleva aplicada un tipo de leyenda y esta es la que se encarga de la simbología que tiene dicha capa. Por ejemplo, al crear una capa nueva por defecto gvSIG le aplica una simbología de símbolo único (SingleSymbolLegend), pero en gvSIG hay más tipos de leyendas como la de intervalos, etc. 


Si estás creando capas nuevas y deseas cambiarle el color de este tipo de simbología puedes aprovecharte de que ya le estará asignando una simbología de símbolo único por defecto y cambiarle a esa el color. Debes de acceder a la capa, de ahí a su leyenda y de ahí acceder al Símbolo que está utilizando para pintarla. 

En este caso no debería de importarnos si la capa que creamos es de tipo puntos, lineas, polígonos.. el color es aplicable a todos los símbolos. 


Puedes ver un ejemplo en el siguiente script (está preparado para que pueda ejecutarse y añada una capa a la Vista asignándole un color determinado): 
# encoding: utf-8

import gvsig
from gvsig import geom
from java.awt import Color

def main(*args):

  # Creating new layer
  ft = gvsig.createSchema()
  ft.append("ID", "INTEGER")
  ft.append("GEOMETRY", "GEOMETRY")
  ft.get('GEOMETRY').setGeometryType(geom.MULTIPOLYGON,geom.D2)

  layer = gvsig.createShape(ft, prefixname="testSymbol")
  store = layer.getFeatureStore()
  gvsig.currentView().addLayer(layer)
  # Change legend
  legend = layer.getLegend()
  print "legend: ", legend #SingleSymbolLegend por defecto
  symbol = legend.getDefaultSymbol()
  print "symbol:", symbol # SimpleFillSymbol en capas de poligonos
  #Como es un ISimbol podemos..
  #symbol.setColor(Color.GREEN) 
  symbol.setColor(Color(200,100,200)) 


Puedes ver en otro ejemplo que tenemos en la documentación de scripting ćomo creamos otro tipo de simbología diferente a la de por defecto y se la aplicamos a una capa. 

http://downloads.gvsig.org/download/web/es/build/html/scripting_devel_guide/2.4/leyendas.html#en-capas-vectoriales 

Cualquier duda nos comentas 

Saludos, 

Óscar 
El 18/10/19 a las 10:43, Montes Cámara, Victor escribió: 



Buenos días, 

Tengo un desarrollo en el que creo capas shapefile dinámicamente a partir de tablas en Oracle Spatial. 
Me gustaría saber como cambiar, a través de scripting, las propiedades de la capa, tales como color, etiquetas, zoom mínimo o incluso como agrupar capas. 

Un saludo. 
Víctor Montes 

_______________________________________________
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 



-- 
--
gvSIG Association
Óscar Martínez omartinez en gvsig.com 

_______________________________________________ 
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 

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20191022/56af6f4e/attachment.html>


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