Cada símbolo (SimpleFillSymbol) que es el utilizado en los polígonos por defecto tiene un Outline definido para el borde que viene a ser un símbolo de tipo línea. Añadiendo las siguientes líneas al script anterior puedes cambiarle el color o el tamaño de grosor:

  outline = symbol.getOutline()
  outline.setColor(Color.RED)
  outline.setLineWidth(2)

Saludos

El 22/10/19 a las 10:52, Montes Cámara, Victor escribió:
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.

------------------------------------------------------------------------
*De: *"Óscar Martínez" <omarti...@gvsig.com>
*Para: *"gvsig desarrolladores" <gvsig_desarrolladores@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@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
omarti...@gvsig.com

_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores@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
omarti...@gvsig.com

_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores@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

Responder a