Re: [Gvsig_desarrolladores] Etiquetas desde scripting

2019-04-05 Por tema Carlos Colombana
Hola Joaquín. 

Voy a jugar un poco con esos seteos. 

Muchas gracias por la explicación. 
Saludos. 

De: "Joaquin Jose del Cerro Murciano"  
Para: "gvsig desarrolladores"  
Enviados: Viernes, 5 de Abril 2019 4:56:00 
Asunto: Re: [Gvsig_desarrolladores] Etiquetas desde scripting 



El vie., 5 abr. 2019 a las 3:45, Carlos Colombana (< ccolomb...@anep.edu.uy >) 
escribió: 



Hola Joaquín. 

Es verdad, es relativamente fácil. Me entreveré. 
Funcionó, pero con dos variantes: 

... 
labelingStrategy.setFixedSize(0.15) 
... 
labelingStrategy.setUnit(layer.getMapContext().getViewPort().getMapUnits()) 
... 




Hola, 
mi consejo es que no uses las unidades de la vista. 
Estas son algo que se pueden cambiar por el usuario y va muy ligado a ese 0.15 
que has puesto. 
No se en que unidades estara la vista en el momento de tus pruebas, digamos que 
lo tienes en kilometros; pero imagina que la proxima vez que tiras a etiquetar 
el usuario tiene puesto que la vista la quiere en metros. Tu, por codigo, 
pondras un 0.15, ahora metros Las etiquetas habran pasado de medir alrededor de 
un kilometro a tan solo un metro. No se vera ninguna etiqueta. Seran demasiado 
pequeñas. Y tu codigo sera el mismo. No tiene sentido decir esto lo quiero de 
10. Si, vale ¿ pero 10 que ?. setFixedSize y setUnit deberian siempre ir a la 
par. 
Lo suyo es que fijes por codigo tanto el tamaño como sus unidades, o eso, o 
bien des la posibilidad de cambiar las dos al usuario; pero no que cojas una de 
la configuracion que el usuario tenga en la vista y otra vaya a capon en el 
codigo. 

Un saludo 
Joaquin 



BQ_BEGIN

Muchas gracias. 
Saludos. 

De: "Joaquin Jose del Cerro Murciano" < jjdelce...@gvsig.org > 
Para: "gvsig desarrolladores" < gvsig_desarrolladores@listserv.gva.es > 
Enviados: Jueves, 4 de Abril 2019 8:54:47 
Asunto: Re: [Gvsig_desarrolladores] Etiquetas desde scripting 



El jue., 4 abr. 2019 a las 2:14, Carlos Colombana (< ccolomb...@anep.edu.uy >) 
escribió: 

BQ_BEGIN

Hola. 

Adjunto sólo el script. 


BQ_END



Hola Carlos. 
No entiendo que tratas de hacer con el codigo que adjuntas, pero si solo 
quieres etiquetar de forma simple por un campo es relativamente facil. 

Te pego aqui un ejemplo. 
Uso una capa que tiene una columna "NOMBRE03" por la que etiqueto, y estoy 
etiquetando con un color y tamaño fijo. 

#><><--><--><--- 
# encoding: utf-8 

import gvsig 

from java.awt import Font 
from java.awt import Color 

from org.gvsig.symbology import SymbologyLocator 
from org.gvsig.fmap.mapcontext import MapContext 

def main(*args): 
#print MapContext.getDistanceNames() 

layer = gvsig.currentLayer() 

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

labeling.setTextField("NOMBRE03") 
labeling.setUsesFixedColor(True) 
labeling.setUsesFixedSize(True) 
labeling.setHeightField(None) 
labeling.setRotationField(None) 
labeling.setFixedColor(Color(200,100,100)) # RGB 
labeling.setFont(Font("Arial", Font.PLAIN, 12)) 
labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 
labeling.setFixedSize(2) 
labeling.setUnit(MapContext.getDistancePosition("Kilometros")) 
#labeling.setUnit(-1) # PIXELS 

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

# Forzamos el repintado (opcional) 
layer.getMapContext().invalidate() 

#><><--><--><--- 

Un saludo 
Joaquin 





BQ_BEGIN

Saludos. 

De: "Carlos Colombana" < ccolomb...@anep.edu.uy > 
Para: "gvsig desarrolladores" < gvsig_desarrolladores@listserv.gva.es > 
Enviados: Domingo, 31 de Marzo 2019 23:11:17 
Asunto: Etiquetas desde scripting 

Hola. 

He logrado manejar las leyendas desde scripiting, pero no lo estoy logrando con 
las etiquetas. 
Adjunto capa de prueba y script. 
La idea es mostrar los textos del campo "NOMBRE". 
¿Podrían ayudarme?. 

Saludos. 
-- 
Carlos Colombana 
ANEP - Departamento de Investigación y Estadística Educativa de CODICEN 
Av. Libertador 1409 piso 9 - Montevideo 
Tel. 2900 7070 Int. 6009 


-- 
Carlos Colombana 
ANEP - Departamento de Investigación y Estadística Educativa de CODICEN 
Av. Libertador 1409 piso 9 - Montevideo 
Tel. 2900 7070 Int. 6009 

===PRIVACIDAD DE ESTE MENSAJE=== 
Este mensaje está dirigido exclusivamente a las personas que tienen las 
direcciones de correo electrónico especificadas en los destinatarios dentro de 
su encabezado. Si por error usted ha recibido este mensaje, por ningún motivo 
debe revelar su contenido, copiarlo, distribuirlo o utilizarlo. Le solicitamos 
por favor comunique el error a la dirección de correo electrónico remitente y 
elimine dicho mensaje junto con cualquier documento adjunto que pudiera 
contener. Los derechos de privacidad y confidencialidad de la información en 
este mensaje no deben perderse por el hecho de haberse trasmitido erróneamente 
o por causas de interferencias en el funcionamiento de los sistemas de correo y 
canales de 

Re: [Gvsig_desarrolladores] Etiquetas desde scripting

2019-04-05 Por tema Joaquin Jose del Cerro Murciano
El vie., 5 abr. 2019 a las 3:45, Carlos Colombana ()
escribió:

> Hola Joaquín.
>
> Es verdad, es relativamente fácil. Me entreveré.
> Funcionó, pero con dos variantes:
>
> ...
> labelingStrategy.setFixedSize(0.15)
> ...
> labelingStrategy.setUnit(layer.getMapContext().getViewPort().getMapUnits())
> ...
>
>
Hola,
mi consejo es que no uses las unidades de la vista.
Estas son algo que se pueden cambiar por el usuario y va muy ligado a ese
0.15 que has puesto.
No se en que unidades estara la vista en el momento de tus pruebas, digamos
que lo tienes en kilometros; pero imagina que la proxima vez que tiras a
etiquetar el usuario tiene puesto que la vista la quiere en metros. Tu, por
codigo, pondras un 0.15, ahora metros Las etiquetas habran pasado de medir
alrededor de un kilometro a tan solo un metro. No se vera ninguna etiqueta.
Seran demasiado pequeñas. Y tu codigo sera el mismo. No tiene sentido decir
esto lo quiero de 10. Si, vale ¿ pero 10 que ?. setFixedSize y setUnit
deberian siempre ir a la par.
Lo suyo es que fijes por codigo tanto el tamaño como sus unidades, o eso, o
bien des la posibilidad de cambiar las dos al usuario; pero no que cojas
una de la configuracion que el usuario tenga en la vista y otra vaya a
capon en el codigo.

Un saludo
Joaquin




> Muchas gracias.
> Saludos.
> --
> *De: *"Joaquin Jose del Cerro Murciano" 
> *Para: *"gvsig desarrolladores" 
> *Enviados: *Jueves, 4 de Abril 2019 8:54:47
> *Asunto: *Re: [Gvsig_desarrolladores] Etiquetas desde scripting
>
>
>
> El jue., 4 abr. 2019 a las 2:14, Carlos Colombana ()
> escribió:
>
>> Hola.
>>
>> Adjunto sólo el script.
>>
>>
>
>
> Hola Carlos.
> No entiendo que tratas de hacer con el codigo que adjuntas, pero si solo
> quieres etiquetar de forma simple por un campo es relativamente facil.
>
> Te pego aqui un ejemplo.
> Uso una capa que tiene una columna "NOMBRE03" por la que etiqueto, y estoy
> etiquetando con un color y tamaño fijo.
>
> #><><--><--><---
> # encoding: utf-8
>
> import gvsig
>
> from java.awt import Font
> from java.awt import Color
>
> from org.gvsig.symbology import SymbologyLocator
> from org.gvsig.fmap.mapcontext import MapContext
>
> def main(*args):
> #print MapContext.getDistanceNames()
>
> layer = gvsig.currentLayer()
>
> symbologyManager = SymbologyLocator.getSymbologyManager()
> labeling = symbologyManager.createDefaultLabelingStrategy()
>
> labeling.setTextField("NOMBRE03")
> labeling.setUsesFixedColor(True)
> labeling.setUsesFixedSize(True)
> labeling.setHeightField(None)
> labeling.setRotationField(None)
> labeling.setFixedColor(Color(200,100,100)) # RGB
> labeling.setFont(Font("Arial", Font.PLAIN, 12))
> labeling.setReferenceSystem(0) # WORLD=0, PAPER=1
> labeling.setFixedSize(2)
> labeling.setUnit(MapContext.getDistancePosition("Kilometros"))
> #labeling.setUnit(-1) # PIXELS
>
> layer.setLabelingStrategy(labeling)
> layer.setIsLabeled(True)
>
> # Forzamos el repintado (opcional)
> layer.getMapContext().invalidate()
>
> #><><--><--><---
>
> Un saludo
> Joaquin
>
>
>
>
>
>
>> Saludos.
>> --
>> *De: *"Carlos Colombana" 
>> *Para: *"gvsig desarrolladores" 
>> *Enviados: *Domingo, 31 de Marzo 2019 23:11:17
>> *Asunto: *Etiquetas desde scripting
>>
>> Hola.
>>
>> He logrado manejar las leyendas desde scripiting, pero no lo estoy
>> logrando con las etiquetas.
>> Adjunto capa de prueba y script.
>> La idea es mostrar los textos del campo "NOMBRE".
>> ¿Podrían ayudarme?.
>>
>> Saludos.
>> --
>> *Carlos Colombana*
>> ANEP - Departamento de Investigación y Estadística Educativa de CODICEN
>> Av. Libertador 1409 piso 9 - Montevideo
>> Tel. 2900 7070 Int. 6009
>>
>>
>> --
>> *Carlos Colombana*
>> ANEP - Departamento de Investigación y Estadística Educativa de CODICEN
>> Av. Libertador 1409 piso 9 - Montevideo
>> Tel. 2900 7070 Int. 6009
>>
>> ===PRIVACIDAD DE ESTE MENSAJE===
>> Este mensaje está dirigido exclusivamente a las personas que tienen las
>> direcciones de correo electrónico especificadas en los destinatarios dentro
>> de su encabezado. Si por error usted ha recibido este mensaje, por ningún
>> motivo debe revelar su contenido, copiarlo, distribuirlo o utilizarlo. Le
>> solicitamos por favor comunique el error a la dirección de correo
>> electrónico remitente y elimine dicho mensaje junto con cualquier documento
>> adjunto que pudiera contener. Los derechos de privacidad y confidencialidad
>> de la información en este mensaje no deben perderse por el hecho de haberse
>> trasmitido erróneamente o por causas de interferencias en el funcionamiento
>> de los sistemas de correo y canales de comunicación. Los datos conten idos
>> en este mensaje están protegidos por la Ley 18.331 Ley de Protección de
>> Datos Personales y Acción de Habeas Data. Toda opinión que se expresa en
>> este