[Gvsig_desarrolladores] Establecer propiedades de capas

Montes Cámara, Victor victor.montes en alicante-ayto.es
Mie Oct 23 13:49:46 CEST 2019


De la segunda parte, realmente lo que más te interesa es situar la etiqueta sobre el punto, es decir la opción siguiente de las propiedades de colocación: 


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

De: "Montes Cámara, Victor" <victor.montes en alicante-ayto.es> 
Para: "Lista de Desarrolladores de gvSIG" <gvsig_desarrolladores en listserv.gva.es> 
CC: omartinez en gvsig.com 
Enviados: Miércoles, 23 de Octubre 2019 11:01:27 
Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas 


Me contesto yo mismo, 

Para la primera parte, siguiendo el ejemplo en http://osgeo-org.1560.x6.nabble.com/Re-Etiquetas-desde-scripting-td5400766.html sería 



symbologyManager = SymbologyLocator.getSymbologyManager() 
labeling = symbologyManager.createDefaultLabelingStrategy() 


labeling.setTextField("TEXTO") 
labeling.setUsesFixedColor(True) 
labeling.setUsesFixedSize(True) 
labeling.setHeightField(None) 
labeling.setRotationField("ANGULO") 
labeling.setFixedColor(Color(255,255,255)) # RGB 
labeling.setFont(Font("Arial", Font.PLAIN, 12)) 
labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 
labeling.setFixedSize(15) 
labeling.setUnit(-1) # PIXELS 

layer.setLabelingStrategy(labeling) 
layer.setIsLabeled(True) 

Voy con la segunda parte. 
----- Mensaje original -----

De: "Montes Cámara, Victor" <victor.montes en alicante-ayto.es> 
Para: "Lista de Desarrolladores de gvSIG" <gvsig_desarrolladores en listserv.gva.es> 
CC: omartinez en gvsig.com 
Enviados: Miércoles, 23 de Octubre 2019 10:13:20 
Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas 


Gracias Óscar, 

Sí, eso es sencillo, ya lo había descubierto. 
Ahora estoy con el tema del etiquetado. 

Tengo una capa de calles donde quiero poner como etiqueta un campo definido en tabla, el ángulo otro campo, tamaño y negrita. 
Equivalente a lo siguiente en modo diseño: 


También tengo una capa de números de policía donde quiero establecer unas propiedades concretas, que en modo diseño establecería de la siguiente manera: 
"Etiquetas definidas por el usuario", "Etiquetar todas las entidades de la misma manera" y las siguientes propiedades: 


Y eligiendo un campo de tabla para visualizar. 

Por ahora he conseguido activar el etiquetado con la instrucción: 

layer.setIsLabeled(1) 

Para lo demás supongo que habrá que utilizar los métodos setLabelingStrategy o drawLabels, pero no tengo claro como. 
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 17:54:47 
Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas 



Buenas, 

Para establecer los límites del zoom se hace directamente sobre la capa. Solo son necesarias dos líneas. 

layer.setMinScale(integer) 
layer.setMaxScale(integer) 

Por ejemplo en el siguiente script se crea una capa de puntos y se establece que solo sea visible por debajo de 1:5.000 y por encima de 1:1.000 
# encoding: utf-8

import gvsig
from gvsig import geom

def main(*args):

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

  layer = gvsig.createShape(ft, prefixname="testScale")
  store = layer.getFeatureStore()
  layer.edit()
  layer.append({"ID":1,"GEOMETRY":geom.createPoint(geom.D2, 10, 20)})
  layer.append({"ID":2,"GEOMETRY":geom.createPoint(geom.D2, 20, 20)})
  layer.append({"ID":3,"GEOMETRY":geom.createPoint(geom.D2, 20, 30)})
  layer.commit()
  gvsig.currentView().addLayer(layer)

  #Change zoom
  layer.setMinScale(1000)
  layer.setMaxScale(5000) https://gist.github.com/oscar9/296125be4e58e87d978c578ea3996000 

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/20191023/b559b2f1/attachment.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: 13627224.879999878
Type: image/png
Size: 27426 bytes
Desc: no disponible
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20191023/b559b2f1/attachment.png>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: 216729.02999981306
Type: image/png
Size: 38087 bytes
Desc: no disponible
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20191023/b559b2f1/attachment-0001.png>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: 410523.79999984987
Type: image/png
Size: 43089 bytes
Desc: no disponible
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20191023/b559b2f1/attachment-0002.png>


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