[Gvsig_desarrolladores] Establecer propiedades de capas

Óscar Martínez omartinez en gvsig.com
Lun Oct 21 14:22:16 CEST 2019


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

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


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